FNFT
Loading...
Searching...
No Matches
Functions
fnft__misc.h File Reference

Miscellaneous functions used in the FNFT library. More...

#include "fnft.h"
#include <string.h>
Include dependency graph for fnft__misc.h:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

Miscellaneous functions used in the FNFT library.