FNFT
|
Miscellaneous functions used in the FNFT library. More...
#include "fnft.h"
#include <string.h>
Go to the source code of this file.
Functions | |
void | fnft__misc_print_buf (const FNFT_UINT len, FNFT_COMPLEX const *const buf, char const *const varname) |
Helper function for debugging. Prints an array in MATLAB style. | |
FNFT_REAL | fnft__misc_rel_err (const FNFT_UINT len, FNFT_COMPLEX const *const vec_numer, FNFT_COMPLEX const *const vec_exact) |
Relative l1 error between two vectors. | |
FNFT_REAL | fnft__misc_hausdorff_dist (const FNFT_UINT lenA, FNFT_COMPLEX const *const vecA, const FNFT_UINT lenB, FNFT_COMPLEX const *const vecB) |
Hausdorff distance between two vectors. | |
FNFT_COMPLEX | fnft__misc_sech (FNFT_COMPLEX Z) |
Hyperbolic secant. | |
FNFT_REAL | fnft__misc_l2norm2 (const FNFT_UINT N, FNFT_COMPLEX const *const Z, const FNFT_REAL a, const FNFT_REAL b) |
Squared l2 norm. | |
FNFT_INT | fnft__misc_filter (FNFT_UINT *const N, FNFT_COMPLEX *const vals, FNFT_COMPLEX *const rearrange_as_well, FNFT_REAL const *const bounding_box) |
Filters array by retaining elements inside a bounding box. | |
FNFT_INT | fnft__misc_filter_nonreal (FNFT_UINT *N_ptr, FNFT_COMPLEX *const vals, const FNFT_REAL tol_im) |
Filter array based on specified tolerance. | |
FNFT_INT | fnft__misc_filter_inv (FNFT_UINT *const N_ptr, FNFT_COMPLEX *const vals, FNFT_COMPLEX *const rearrange_as_well, FNFT_REAL const *const bounding_box) |
Filters array by retaining elements outside a bounding box. | |
FNFT_INT | fnft__misc_merge (FNFT_UINT *N_ptr, FNFT_COMPLEX *const vals, FNFT_REAL tol) |
Merges elements in an array with distance lower than tol. | |
FNFT_INT | fnft__misc_downsample (const FNFT_UINT D, FNFT_COMPLEX const *const q, FNFT_UINT *const Dsub_ptr, FNFT_COMPLEX **qsub_ptr, FNFT_UINT *const first_last_index) |
Downsamples an array. | |
static FNFT_COMPLEX | fnft__misc_CSINC (FNFT_COMPLEX x) |
Sinc function for complex arguments. | |
static FNFT_COMPLEX | fnft__misc_CSINC_derivative (FNFT_COMPLEX x) |
Derivative of sinc function for complex arguments. | |
FNFT_UINT | fnft__misc_nextpowerof2 (const FNFT_UINT number) |
Closest larger or equal number that is a power of two. | |
FNFT_INT | fnft__misc_resample (const FNFT_UINT D, const FNFT_REAL eps_t, FNFT_COMPLEX const *const q, const FNFT_REAL delta, FNFT_COMPLEX *const q_new) |
Resamples an array. | |
static void | fnft__misc_matrix_mult (const FNFT_UINT n, const FNFT_UINT m, const FNFT_UINT p, FNFT_COMPLEX const *const A, FNFT_COMPLEX const *const B, FNFT_COMPLEX *const C) |
Multiples two complex valued matrices of any compatible size. | |
static void | fnft__misc_mat_mult_2x2 (FNFT_COMPLEX *const U, FNFT_COMPLEX *const T) |
Multiples two square matrices of size 2. | |
static void | fnft__misc_mat_mult_4x4 (FNFT_COMPLEX *const U, FNFT_COMPLEX *const T) |
Multiples two square matrices of size 4. | |
static FNFT_REAL | fnft__misc_legendre_poly (const FNFT_UINT n, const FNFT_REAL x) |
This routine returns the nth degree Legendre polynomial at x. | |
static FNFT_INT | fnft__misc_normalize_vector (const FNFT_UINT len, FNFT_COMPLEX *const v) |
Normalizes a complex vector so that the maximum absolute value is >=1 and <2. | |
Miscellaneous functions used in the FNFT library.