#include <math.h>
#include <teem/air.h>
#include <teem/biff.h>
#include <teem/nrrd.h>
#include "ellMacros.h"
Defines | |
#define | ELL_EXPORT extern |
#define | ELL ell_biff_key |
#define | ELL_EPS 1.0e-10 |
#define | ELL_CUBIC_ROOT_MAX 4 |
Enumerations | |
enum | { ell_cubic_root_unknown, ell_cubic_root_single, ell_cubic_root_triple, ell_cubic_root_single_double, ell_cubic_root_three, ell_cubic_root_last } |
Functions | |
ELL_EXPORT void | ell_3m_print_f (FILE *f, const float s[9]) |
ELL_EXPORT void | ell_3v_print_f (FILE *f, const float s[3]) |
ELL_EXPORT void | ell_3m_print_d (FILE *f, const double s[9]) |
ELL_EXPORT void | ell_3v_print_d (FILE *f, const double s[3]) |
ELL_EXPORT void | ell_4m_print_f (FILE *f, const float s[16]) |
ELL_EXPORT void | ell_4v_print_f (FILE *f, const float s[4]) |
ELL_EXPORT void | ell_4m_print_d (FILE *f, const double s[16]) |
ELL_EXPORT void | ell_4v_print_d (FILE *f, const double s[4]) |
ELL_EXPORT void | ell_3v_perp_f (float p[3], const float v[3]) |
ELL_EXPORT void | ell_3v_perp_d (double p[3], const double v[3]) |
ELL_EXPORT void | ell_3mv_mul_f (float v2[3], const float m[9], const float v1[3]) |
ELL_EXPORT void | ell_3mv_mul_d (double v2[3], const double m[9], const double v1[3]) |
ELL_EXPORT void | ell_4mv_mul_f (float v2[4], const float m[16], const float v1[4]) |
ELL_EXPORT void | ell_4mv_mul_d (double v2[4], const double m[16], const double v1[4]) |
ELL_EXPORT float | ell_3v_angle_f (float u[3], float v[3]) |
ELL_EXPORT double | ell_3v_angle_d (double u[3], double v[3]) |
ELL_EXPORT void | ell_3m_mul_f (float m3[9], const float m1[9], const float m2[9]) |
ELL_EXPORT void | ell_3m_mul_d (double m3[9], const double m1[9], const double m2[9]) |
ELL_EXPORT void | ell_3m_pre_mul_f (float m[9], const float x[9]) |
ELL_EXPORT void | ell_3m_pre_mul_d (double m[9], const double x[9]) |
ELL_EXPORT void | ell_3m_post_mul_f (float m[9], const float x[9]) |
ELL_EXPORT void | ell_3m_post_mul_d (double m[9], const double x[9]) |
ELL_EXPORT float | ell_3m_det_f (float m[9]) |
ELL_EXPORT double | ell_3m_det_d (double m[9]) |
ELL_EXPORT void | ell_3m_inv_f (float i[9], const float m[9]) |
ELL_EXPORT void | ell_3m_inv_d (double i[9], const double m[9]) |
ELL_EXPORT void | ell_4m_mul_f (float m3[16], const float m1[16], const float m2[16]) |
ELL_EXPORT void | ell_4m_mul_d (double m3[16], const double m1[16], const double m2[16]) |
ELL_EXPORT void | ell_4m_pre_mul_f (float m[16], const float x[16]) |
ELL_EXPORT void | ell_4m_pre_mul_d (double m[16], const double x[16]) |
ELL_EXPORT void | ell_4m_post_mul_f (float m[16], const float x[16]) |
ELL_EXPORT void | ell_4m_post_mul_d (double m[16], const double x[16]) |
ELL_EXPORT float | ell_4m_det_f (float m[16]) |
ELL_EXPORT double | ell_4m_det_d (double m[16]) |
ELL_EXPORT void | ell_4m_inv_f (float i[16], const float m[16]) |
ELL_EXPORT void | ell_4m_inv_d (double i[16], const double m[16]) |
ELL_EXPORT void | ell_6m_mul_d (double AB[36], const double A[36], const double B[36]) |
ELL_EXPORT void | ell_3m_rotate_between_d (double rot[9], double from[3], double to[3]) |
ELL_EXPORT void | ell_3m_to_q_f (float q[4], const float m[9]) |
ELL_EXPORT void | ell_3m_to_q_d (double q[4], const double m[9]) |
ELL_EXPORT void | ell_4m_to_q_f (float q[4], const float m[16]) |
ELL_EXPORT void | ell_4m_to_q_d (double q[4], const double m[16]) |
ELL_EXPORT void | ell_q_to_3m_f (float m[9], const float q[4]) |
ELL_EXPORT void | ell_q_to_3m_d (double m[9], const double q[4]) |
ELL_EXPORT void | ell_q_to_4m_f (float m[16], const float q[4]) |
ELL_EXPORT void | ell_q_to_4m_d (double m[16], const double q[4]) |
ELL_EXPORT float | ell_q_to_aa_f (float axis[3], const float q[4]) |
ELL_EXPORT double | ell_q_to_aa_d (double axis[3], const double q[4]) |
ELL_EXPORT void | ell_aa_to_q_f (float q[4], const float angle, const float axis[3]) |
ELL_EXPORT void | ell_aa_to_q_d (double q[4], const double angle, const double axis[3]) |
ELL_EXPORT void | ell_aa_to_3m_f (float m[9], const float angle, const float axis[3]) |
ELL_EXPORT void | ell_aa_to_3m_d (double m[9], const double angle, const double axis[3]) |
ELL_EXPORT void | ell_aa_to_4m_f (float m[16], const float angle, const float axis[3]) |
ELL_EXPORT void | ell_aa_to_4m_d (double m[16], const double angle, const double axis[3]) |
ELL_EXPORT float | ell_3m_to_aa_f (float axis[3], const float m[9]) |
ELL_EXPORT double | ell_3m_to_aa_d (double axis[3], const double m[9]) |
ELL_EXPORT float | ell_4m_to_aa_f (float axis[3], const float m[16]) |
ELL_EXPORT double | ell_4m_to_aa_d (double axis[3], const double m[16]) |
ELL_EXPORT void | ell_q_mul_f (float q3[4], const float q1[4], const float q2[4]) |
ELL_EXPORT void | ell_q_mul_d (double q3[4], const double q1[4], const double q2[4]) |
ELL_EXPORT void | ell_q_inv_f (float qi[4], const float q[4]) |
ELL_EXPORT void | ell_q_inv_d (double qi[4], const double q[4]) |
ELL_EXPORT void | ell_q_pow_f (float q2[4], const float q1[4], const float p) |
ELL_EXPORT void | ell_q_pow_d (double q2[4], const double q1[4], const double p) |
ELL_EXPORT void | ell_q_div_f (float q3[4], const float q1[4], const float q2[4]) |
ELL_EXPORT void | ell_q_div_d (double q3[4], const double q1[4], const double q2[4]) |
ELL_EXPORT void | ell_q_exp_f (float q2[4], const float q1[4]) |
ELL_EXPORT void | ell_q_exp_d (double q2[4], const double q1[4]) |
ELL_EXPORT void | ell_q_log_f (float q2[4], const float q1[4]) |
ELL_EXPORT void | ell_q_log_d (double q2[4], const double q1[4]) |
ELL_EXPORT void | ell_q_3v_rotate_f (float v2[3], const float q[4], const float v1[3]) |
ELL_EXPORT void | ell_q_3v_rotate_d (double v2[3], const double q[4], const double v1[3]) |
ELL_EXPORT void | ell_q_4v_rotate_f (float v2[4], const float q[4], const float v1[4]) |
ELL_EXPORT void | ell_q_4v_rotate_d (double v2[4], const double q[4], const double v1[4]) |
ELL_EXPORT int | ell_q_avg4_d (double m[4], unsigned int *iterP, const double _q1[4], const double _q2[4], const double _q3[4], const double _q4[4], const double _wght[4], const double eps, const unsigned int maxIter) |
ELL_EXPORT int | ell_q_avgN_d (double mm[4], unsigned int *iterP, const double *qq, double *qbuff, const double *wght, const unsigned int NN, const double eps, const unsigned int maxIter) |
ELL_EXPORT int | ell_Nm_check (Nrrd *mat, int doNrrdCheck) |
ELL_EXPORT int | ell_Nm_tran (Nrrd *dest, Nrrd *src) |
ELL_EXPORT int | ell_Nm_mul (Nrrd *dest, Nrrd *A, Nrrd *B) |
ELL_EXPORT int | ell_Nm_inv (Nrrd *dest, Nrrd *src) |
ELL_EXPORT int | ell_Nm_pseudo_inv (Nrrd *dest, Nrrd *src) |
ELL_EXPORT int | ell_Nm_wght_pseudo_inv (Nrrd *ninv, Nrrd *nA, Nrrd *nW) |
ELL_EXPORT int | ell_cubic (double root[3], double A, double B, double C, int newton) |
ELL_EXPORT void | ell_3m_1d_nullspace_d (double ans[3], const double n[9]) |
ELL_EXPORT void | ell_3m_2d_nullspace_d (double ans0[3], double ans1[3], const double n[9]) |
ELL_EXPORT int | ell_3m_eigenvalues_d (double eval[3], const double m[9], const int newton) |
ELL_EXPORT int | ell_3m_eigensolve_d (double eval[3], double evec[9], const double m[9], const int newton) |
ELL_EXPORT int | ell_3m_svd_d (double uu[9], double sval[3], double vv[9], const double mat[9], const int newton) |
ELL_EXPORT int | ell_6ms_eigensolve_d (double eval[6], double evec[36], const double mat[21], const double eps) |
Variables | |
ELL_EXPORT const char * | ell_biff_key |
ELL_EXPORT airEnum * | ell_cubic_root |
ELL_EXPORT int | ell_debug |
#define ELL ell_biff_key |
#define ELL_CUBIC_ROOT_MAX 4 |
#define ELL_EPS 1.0e-10 |
#define ELL_EXPORT extern |
anonymous enum |
ELL_EXPORT void ell_3m_1d_nullspace_d | ( | double | ans[3], | |
const double | n[9] | |||
) |
ELL_EXPORT void ell_3m_2d_nullspace_d | ( | double | ans0[3], | |
double | ans1[3], | |||
const double | n[9] | |||
) |
ELL_EXPORT double ell_3m_det_d | ( | double | m[9] | ) |
ELL_EXPORT float ell_3m_det_f | ( | float | m[9] | ) |
ELL_EXPORT int ell_3m_eigensolve_d | ( | double | eval[3], | |
double | evec[9], | |||
const double | m[9], | |||
const int | newton | |||
) |
ELL_EXPORT int ell_3m_eigenvalues_d | ( | double | eval[3], | |
const double | m[9], | |||
const int | newton | |||
) |
ELL_EXPORT void ell_3m_inv_d | ( | double | i[9], | |
const double | m[9] | |||
) |
ELL_EXPORT void ell_3m_inv_f | ( | float | i[9], | |
const float | m[9] | |||
) |
ELL_EXPORT void ell_3m_mul_d | ( | double | m3[9], | |
const double | m1[9], | |||
const double | m2[9] | |||
) |
ELL_EXPORT void ell_3m_mul_f | ( | float | m3[9], | |
const float | m1[9], | |||
const float | m2[9] | |||
) |
ELL_EXPORT void ell_3m_post_mul_d | ( | double | m[9], | |
const double | x[9] | |||
) |
ELL_EXPORT void ell_3m_post_mul_f | ( | float | m[9], | |
const float | x[9] | |||
) |
ELL_EXPORT void ell_3m_pre_mul_d | ( | double | m[9], | |
const double | x[9] | |||
) |
ELL_EXPORT void ell_3m_pre_mul_f | ( | float | m[9], | |
const float | x[9] | |||
) |
ELL_EXPORT void ell_3m_print_d | ( | FILE * | f, | |
const double | s[9] | |||
) |
ELL_EXPORT void ell_3m_print_f | ( | FILE * | f, | |
const float | s[9] | |||
) |
ELL_EXPORT void ell_3m_rotate_between_d | ( | double | rot[9], | |
double | from[3], | |||
double | to[3] | |||
) |
ELL_EXPORT int ell_3m_svd_d | ( | double | uu[9], | |
double | sval[3], | |||
double | vv[9], | |||
const double | mat[9], | |||
const int | newton | |||
) |
ELL_EXPORT double ell_3m_to_aa_d | ( | double | axis[3], | |
const double | m[9] | |||
) |
ELL_EXPORT float ell_3m_to_aa_f | ( | float | axis[3], | |
const float | m[9] | |||
) |
ELL_EXPORT void ell_3m_to_q_d | ( | double | q[4], | |
const double | m[9] | |||
) |
ELL_EXPORT void ell_3m_to_q_f | ( | float | q[4], | |
const float | m[9] | |||
) |
ELL_EXPORT void ell_3mv_mul_d | ( | double | v2[3], | |
const double | m[9], | |||
const double | v1[3] | |||
) |
ELL_EXPORT void ell_3mv_mul_f | ( | float | v2[3], | |
const float | m[9], | |||
const float | v1[3] | |||
) |
ELL_EXPORT double ell_3v_angle_d | ( | double | u[3], | |
double | v[3] | |||
) |
ELL_EXPORT float ell_3v_angle_f | ( | float | u[3], | |
float | v[3] | |||
) |
ELL_EXPORT void ell_3v_perp_d | ( | double | p[3], | |
const double | v[3] | |||
) |
ELL_EXPORT void ell_3v_perp_f | ( | float | p[3], | |
const float | v[3] | |||
) |
ELL_EXPORT void ell_3v_print_d | ( | FILE * | f, | |
const double | s[3] | |||
) |
ELL_EXPORT void ell_3v_print_f | ( | FILE * | f, | |
const float | s[3] | |||
) |
ELL_EXPORT double ell_4m_det_d | ( | double | m[16] | ) |
ELL_EXPORT float ell_4m_det_f | ( | float | m[16] | ) |
ELL_EXPORT void ell_4m_inv_d | ( | double | i[16], | |
const double | m[16] | |||
) |
ELL_EXPORT void ell_4m_inv_f | ( | float | i[16], | |
const float | m[16] | |||
) |
ELL_EXPORT void ell_4m_mul_d | ( | double | m3[16], | |
const double | m1[16], | |||
const double | m2[16] | |||
) |
ELL_EXPORT void ell_4m_mul_f | ( | float | m3[16], | |
const float | m1[16], | |||
const float | m2[16] | |||
) |
ELL_EXPORT void ell_4m_post_mul_d | ( | double | m[16], | |
const double | x[16] | |||
) |
ELL_EXPORT void ell_4m_post_mul_f | ( | float | m[16], | |
const float | x[16] | |||
) |
ELL_EXPORT void ell_4m_pre_mul_d | ( | double | m[16], | |
const double | x[16] | |||
) |
ELL_EXPORT void ell_4m_pre_mul_f | ( | float | m[16], | |
const float | x[16] | |||
) |
ELL_EXPORT void ell_4m_print_d | ( | FILE * | f, | |
const double | s[16] | |||
) |
ELL_EXPORT void ell_4m_print_f | ( | FILE * | f, | |
const float | s[16] | |||
) |
ELL_EXPORT double ell_4m_to_aa_d | ( | double | axis[3], | |
const double | m[16] | |||
) |
ELL_EXPORT float ell_4m_to_aa_f | ( | float | axis[3], | |
const float | m[16] | |||
) |
ELL_EXPORT void ell_4m_to_q_d | ( | double | q[4], | |
const double | m[16] | |||
) |
ELL_EXPORT void ell_4m_to_q_f | ( | float | q[4], | |
const float | m[16] | |||
) |
ELL_EXPORT void ell_4mv_mul_d | ( | double | v2[4], | |
const double | m[16], | |||
const double | v1[4] | |||
) |
ELL_EXPORT void ell_4mv_mul_f | ( | float | v2[4], | |
const float | m[16], | |||
const float | v1[4] | |||
) |
ELL_EXPORT void ell_4v_print_d | ( | FILE * | f, | |
const double | s[4] | |||
) |
ELL_EXPORT void ell_4v_print_f | ( | FILE * | f, | |
const float | s[4] | |||
) |
ELL_EXPORT void ell_6m_mul_d | ( | double | AB[36], | |
const double | A[36], | |||
const double | B[36] | |||
) |
ELL_EXPORT int ell_6ms_eigensolve_d | ( | double | eval[6], | |
double | evec[36], | |||
const double | mat[21], | |||
const double | eps | |||
) |
ELL_EXPORT void ell_aa_to_3m_d | ( | double | m[9], | |
const double | angle, | |||
const double | axis[3] | |||
) |
ELL_EXPORT void ell_aa_to_3m_f | ( | float | m[9], | |
const float | angle, | |||
const float | axis[3] | |||
) |
ELL_EXPORT void ell_aa_to_4m_d | ( | double | m[16], | |
const double | angle, | |||
const double | axis[3] | |||
) |
ELL_EXPORT void ell_aa_to_4m_f | ( | float | m[16], | |
const float | angle, | |||
const float | axis[3] | |||
) |
ELL_EXPORT void ell_aa_to_q_d | ( | double | q[4], | |
const double | angle, | |||
const double | axis[3] | |||
) |
ELL_EXPORT void ell_aa_to_q_f | ( | float | q[4], | |
const float | angle, | |||
const float | axis[3] | |||
) |
ELL_EXPORT int ell_cubic | ( | double | root[3], | |
double | A, | |||
double | B, | |||
double | C, | |||
int | newton | |||
) |
ELL_EXPORT int ell_Nm_check | ( | Nrrd * | mat, | |
int | doNrrdCheck | |||
) |
ELL_EXPORT void ell_q_3v_rotate_d | ( | double | v2[3], | |
const double | q[4], | |||
const double | v1[3] | |||
) |
ELL_EXPORT void ell_q_3v_rotate_f | ( | float | v2[3], | |
const float | q[4], | |||
const float | v1[3] | |||
) |
ELL_EXPORT void ell_q_4v_rotate_d | ( | double | v2[4], | |
const double | q[4], | |||
const double | v1[4] | |||
) |
ELL_EXPORT void ell_q_4v_rotate_f | ( | float | v2[4], | |
const float | q[4], | |||
const float | v1[4] | |||
) |
ELL_EXPORT int ell_q_avg4_d | ( | double | m[4], | |
unsigned int * | iterP, | |||
const double | _q1[4], | |||
const double | _q2[4], | |||
const double | _q3[4], | |||
const double | _q4[4], | |||
const double | _wght[4], | |||
const double | eps, | |||
const unsigned int | maxIter | |||
) |
ELL_EXPORT int ell_q_avgN_d | ( | double | mm[4], | |
unsigned int * | iterP, | |||
const double * | qq, | |||
double * | qbuff, | |||
const double * | wght, | |||
const unsigned int | NN, | |||
const double | eps, | |||
const unsigned int | maxIter | |||
) |
ELL_EXPORT void ell_q_div_d | ( | double | q3[4], | |
const double | q1[4], | |||
const double | q2[4] | |||
) |
ELL_EXPORT void ell_q_div_f | ( | float | q3[4], | |
const float | q1[4], | |||
const float | q2[4] | |||
) |
ELL_EXPORT void ell_q_exp_d | ( | double | q2[4], | |
const double | q1[4] | |||
) |
ELL_EXPORT void ell_q_exp_f | ( | float | q2[4], | |
const float | q1[4] | |||
) |
ELL_EXPORT void ell_q_inv_d | ( | double | qi[4], | |
const double | q[4] | |||
) |
ELL_EXPORT void ell_q_inv_f | ( | float | qi[4], | |
const float | q[4] | |||
) |
ELL_EXPORT void ell_q_log_d | ( | double | q2[4], | |
const double | q1[4] | |||
) |
ELL_EXPORT void ell_q_log_f | ( | float | q2[4], | |
const float | q1[4] | |||
) |
ELL_EXPORT void ell_q_mul_d | ( | double | q3[4], | |
const double | q1[4], | |||
const double | q2[4] | |||
) |
ELL_EXPORT void ell_q_mul_f | ( | float | q3[4], | |
const float | q1[4], | |||
const float | q2[4] | |||
) |
ELL_EXPORT void ell_q_pow_d | ( | double | q2[4], | |
const double | q1[4], | |||
const double | p | |||
) |
ELL_EXPORT void ell_q_pow_f | ( | float | q2[4], | |
const float | q1[4], | |||
const float | p | |||
) |
ELL_EXPORT void ell_q_to_3m_d | ( | double | m[9], | |
const double | q[4] | |||
) |
ELL_EXPORT void ell_q_to_3m_f | ( | float | m[9], | |
const float | q[4] | |||
) |
ELL_EXPORT void ell_q_to_4m_d | ( | double | m[16], | |
const double | q[4] | |||
) |
ELL_EXPORT void ell_q_to_4m_f | ( | float | m[16], | |
const float | q[4] | |||
) |
ELL_EXPORT double ell_q_to_aa_d | ( | double | axis[3], | |
const double | q[4] | |||
) |
ELL_EXPORT float ell_q_to_aa_f | ( | float | axis[3], | |
const float | q[4] | |||
) |
ELL_EXPORT const char* ell_biff_key |
ELL_EXPORT airEnum* ell_cubic_root |
ELL_EXPORT int ell_debug |