#include #include #include #include void array_multiply(float* lhs, float rhs, unsigned int N){ stim::cuda::cpu_multiply(lhs, rhs, N); } void array_add(float* ptr1, float* ptr2, float* sum, unsigned int N){ stim::cuda::cpu_add(ptr1, ptr2, sum, N); } void array_multiply(float* ptr1, float* ptr2, float* product, unsigned int N){ stim::cuda::cpu_add(ptr1, ptr2, product, N); } void conv2(float* img, float* mask, float* cpu_copy, unsigned int w, unsigned int h, unsigned int M){ stim::cuda::cpu_conv2(img, mask, cpu_copy, w, h, M); } void array_abs(float* img, unsigned int N){ stim::cuda::cpu_abs(img, N); } void conv2_sep(float* img, unsigned int x, unsigned int y, float* kernel0, unsigned int k0, float* kernel1, unsigned int k1){ stim::cuda::cpu_conv2sep(img, x, y, kernel0, k0, kernel1, k1); } void array_cos(float* ptr1, float* cpu_out, unsigned int N){ stim::cuda::cpu_cos(ptr1, cpu_out, N); } void array_sin(float* ptr1, float* cpu_out, unsigned int N){ stim::cuda::cpu_sin(ptr1, cpu_out, N); } void array_atan(float* ptr1, float* cpu_out, unsigned int N){ stim::cuda::cpu_atan(ptr1, cpu_out, N); } void array_divide(float* ptr1, float* ptr2,float* cpu_quotient, unsigned int N){ stim::cuda::cpu_divide(ptr1, ptr2, cpu_quotient, N); } void chi_grad(float* img, float* cpu_copy, unsigned int w, unsigned int h, int r, unsigned int bin_n, unsigned int bin_size, float theta){ stim::cuda::cpu_chi_grad(img, cpu_copy, w, h, r, bin_n, bin_size, theta); }