122
122
static void print_c_mat (const CMat* const mat);
123
123
static void print_matrix (Mat* matrix);
125
static Mat* allocate_matrix (int nrows, int ncols);
125
static Mat* allocate_matrix (int nrows, int ncols);
126
static CMat* allocate_c_mat (const int radius);
126
128
static double* mat_eltptr (Mat* mat, const int r, const int c);
127
static double mat_elt (const Mat* mat, const int r, const int c);
128
static CMat* allocate_c_mat (const int radius);
129
static double mat_elt (const Mat* mat, const int r, const int c);
129
131
static inline double* c_mat_eltptr (CMat* mat, const int col, const int row);
130
static inline double c_mat_elt (const CMat* const mat, const int col, const int row);
132
static inline double c_mat_elt (const CMat* const mat, const int col, const int row);
131
134
static void convolve_mat (CMat* result, const CMat* const mata, const CMat* const matb);
132
135
static void convolve_mat_fun (CMat* result, const CMat* const mata, double (f) (int, int));
133
137
static int as_idx (const int k, const int l, const int m);
134
138
static int as_cidx (const int k, const int l);
135
140
static Mat* make_s_matrix (CMat* mat, int m, double noise_factor);
136
141
static Mat* make_s_cmatrix (CMat* mat, int m, double noise_factor);
137
143
static double correlation (const int x, const int y, const double gamma, const double musq);
138
static Mat* copy_vec (const CMat* const mat, const int m);
139
static Mat* copy_cvec (const CMat* const mat, const int m);
145
static Mat* copy_vec (const CMat* const mat, const int m);
146
static Mat* copy_cvec (const CMat* const mat, const int m);
140
147
static CMat* copy_cvec2mat (const Mat* const cvec, const int m);
141
148
static CMat* copy_vec2mat (const Mat* const cvec, const int m);
142
149
static CMat* compute_g (const CMat* const convolution, const int m, const double gamma,
143
150
const double noise_factor, const double musq, const bool symmetric);
144
152
static double circle_integral (const double x, const double radius);
145
153
static double circle_intensity (const int x, const int y, const double radius);