#!/usr/local/bin/cz -- use b Main() if args != 2 usage("x-file y-file") vec *vx = read_nums(arg[0]) vec *vy = read_nums(arg[1]) size_t n = vec_get_size(vx) if n != vec_get_size(vy) error("vx and vy must be the same length") num Exy = 0 num Ex = 0 num Ey = 0 num Ex2 = 0 num Ey2 = 0 for int i=0; i<(int)n; ++i num x = *(num*)v(vx,i), y = *(num*)v(vy,i) Exy += x*y Ex += x Ey += y Ex2 += x*x Ey2 += y*y Sayf("Exy = %f", Exy) Sayf("Ex = %f", Ex) Sayf("Ey = %f", Ey) Sayf("Ex2 = %f", Ex2) Sayf("Ey2 = %f", Ey2) nl() num r = (n*Exy - Ex*Ey) / sqrt((n*Ex2-Ex*Ex)*(n*Ey2-Ey*Ey)) Sayf("%f", r)