evaluate_helmholtz_kernel_f64

Function evaluate_helmholtz_kernel_f64 

Source
#[unsafe(no_mangle)]
pub extern "C" fn evaluate_helmholtz_kernel_f64( source_ptr: *const f64, target_ptr: *const f64, charge_ptr: *const f64, result_ptr: *mut f64, wavenumber_real: f64, wavenumber_imag: f64, nsources: usize, ntargets: usize, ncharge_vecs: usize, return_gradients: bool, num_threads: usize, )
Expand description

Evaluate the Helmholtz potential sum (double precision version).

ยงArguments

  • source_ptr - Pointer to a (3, nsources) array of sources.
  • target_ptr - Pointer to a (3, ntargets) array of targets.
  • charge_ptr - Pointer to a (ncharge_vecs, nsources) array of ncharge_vecs charge vectors.
  • result_ptr - Pointer to an existing (ncharge_vecs, ntargets, 2) array (if return_gradients is false) or to an (ncharge_vecs, ntargets, 2 * 4) array (if `return_gradients is true) that stores the result using a complex number memory layout.
  • wavenumber_real - Real part of the wavenumber parameter.
  • wavenumber_imag - Imaginary part of the wavenumber parameter.
  • nsources - Number of sources.
  • ntargets - Number of targets.
  • ncharge_vecs - Number of charge vectors.
  • return_gradients - If true return also the gradients.
  • num_threads - Number of threads to use