/* f(r) = 1/r * grad f(r) = 1/r * (x,y,z)^T * f'(r) * Do not include the factor 1/r * (x,y,z)^T, it will be calculated later. */ fcs_float ifcs_p2nfft_compute_near_field( const void* param, fcs_float dist ) { ifcs_p2nfft_data_struct* d = (ifcs_p2nfft_data_struct*) param; if (d->reg_kernel == FCS_P2NFFT_REG_KERNEL_EWALD) return compute_near_field_periodic(param, dist); else /* d->reg_kernel == FCS_P2NFFT_REG_KERNEL_OTHER */ return compute_near_field_nonperiodic(param, dist); }
/* f(r) = 1/r * grad f(r) = 1/r * (x,y,z)^T * f'(r) * Do not include the factor 1/r * (x,y,z)^T, it will be calculated later. */ fcs_float ifcs_p2nfft_compute_near_field( const void* param, fcs_float dist ) { ifcs_p2nfft_data_struct* d = (ifcs_p2nfft_data_struct*) param; if(d->num_periodic_dims == 0) return compute_near_field_nonperiodic(param, dist); else return compute_near_field_periodic(param, dist); }