#include <stdio.h>
#include <math.h>
#include <string.h>
#include <float.h>
#include "matd.h"
#include "math_util.h"
Go to the source code of this file.
Macros | |
#define | TFN(suffix) TRFN(TNAME, suffix) |
#define | TRFN(root, suffix) TRRFN(root, suffix) |
#define | TRRFN(root, suffix) root ## suffix |
Functions | |
static void TFN() | s_add (const TNAME *a, const TNAME *b, int len, TNAME *r) |
static void TFN() | s_angleaxis_to_mat44 (const TNAME aa[4], TNAME r[16]) |
static void TFN() | s_angleaxis_to_quat (const TNAME aa[4], TNAME q[4]) |
static void TFN() | s_copy (const TNAME *src, TNAME *dst, int n) |
static void TFN() | s_cross_matrix (const TNAME v[3], TNAME V[9]) |
static void TFN() | s_cross_product (const TNAME v1[3], const TNAME v2[3], TNAME r[3]) |
static TNAME TFN() | s_distance (const TNAME *a, const TNAME *b, int len) |
static TNAME TFN() | s_dot (const TNAME *a, const TNAME *b, int len) |
static TNAME *TFN() | s_dup (const TNAME *v, int len) |
static void TFN() | s_elu_to_mat44 (const TNAME eye[3], const TNAME lookat[3], const TNAME _up[3], TNAME M[16]) |
static TNAME TFN() | s_magnitude (const TNAME *v, int len) |
static void TFN() | s_mat33_chol (const TNAME *A, int Arows, int Acols, TNAME *R, int Brows, int Bcols) |
static void TFN() | s_mat33_lower_tri_inv (const TNAME *A, int Arows, int Acols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat33_sym_solve (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat44_identity (TNAME out[16]) |
static void TFN() | s_mat44_inv (const TNAME M[16], TNAME out[16]) |
static void TFN() | s_mat44_inv_rotate_vector (const TNAME M[16], const TNAME in[3], TNAME out[3]) |
static void TFN() | s_mat44_inv_transform_xyz (const TNAME M[16], const TNAME in[3], TNAME out[3]) |
static void TFN() | s_mat44_rotate_vector (const TNAME M[16], const TNAME in[3], TNAME out[3]) |
static void TFN() | s_mat44_rotate_x (TNAME rad, TNAME out[16]) |
static void TFN() | s_mat44_rotate_y (TNAME rad, TNAME out[16]) |
static void TFN() | s_mat44_rotate_z (TNAME rad, TNAME out[16]) |
static void TFN() | s_mat44_rotate_z_self (TNAME rad, TNAME out[16]) |
static void TFN() | s_mat44_scale (const TNAME sxyz[3], TNAME out[16]) |
static void TFN() | s_mat44_scale_self (const TNAME sxyz[3], TNAME out[16]) |
static void TFN() | s_mat44_to_xyt (const TNAME M[16], TNAME xyt[3]) |
static void TFN() | s_mat44_transform_xyz (const TNAME M[16], const TNAME in[3], TNAME out[3]) |
static void TFN() | s_mat44_translate (const TNAME txyz[3], TNAME out[16]) |
static void TFN() | s_mat44_translate_self (const TNAME txyz[3], TNAME out[16]) |
static void TFN() | s_mat_Ab (const TNAME *A, int Arows, int Acols, const TNAME *B, int Blength, TNAME *R, int Rlength) |
static void TFN() | s_mat_AB (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat_ABC (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, const TNAME *C, int Crows, int Ccols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat_ABt (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat_add (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat_AtB (const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols) |
static void TFN() | s_mat_to_quat (const TNAME M[16], TNAME q[4]) |
static void TFN() | s_mat_to_xyz (const TNAME M[16], TNAME xyz[3]) |
static void TFN() | s_mat_transform_xyz (const TNAME M[16], const TNAME xyz[3], TNAME r[3]) |
static void TFN() | s_normalize (const TNAME *v, int len, TNAME *r) |
static void TFN() | s_normalize_self (TNAME *v, int len) |
static void TFN() | s_print (const TNAME *a, int len, const char *fmt) |
static void TFN() | s_print_mat (const TNAME *a, int nrows, int ncols, const char *fmt) |
static void TFN() | s_print_mat44 (const TNAME *a, const char *fmt) |
static void TFN() | s_quat_inverse (const TNAME q[4], TNAME r[4]) |
static void TFN() | s_quat_multiply (const TNAME a[4], const TNAME b[4], TNAME r[4]) |
static void TFN() | s_quat_rotate (const TNAME q[4], const TNAME v[3], TNAME r[3]) |
static void TFN() | s_quat_slerp (const TNAME q0[4], const TNAME _q1[4], TNAME r[4], TNAME w) |
static void TFN() | s_quat_to_angleaxis (const TNAME _q[4], TNAME r[4]) |
static void TFN() | s_quat_to_mat44 (const TNAME q[4], TNAME r[16]) |
static void TFN() | s_quat_to_rpy (const TNAME q[4], TNAME rpy[3]) |
static void TFN() | s_quat_xyz_to_mat44 (const TNAME q[4], const TNAME xyz[3], TNAME r[16]) |
static void TFN() | s_quat_xyz_to_xyt (const TNAME q[4], const TNAME xyz[3], TNAME xyt[3]) |
static void TFN() | s_rpy_to_mat44 (const TNAME rpy[3], TNAME M[16]) |
static void TFN() | s_rpy_to_quat (const TNAME rpy[3], TNAME quat[4]) |
static void TFN() | s_scale (TNAME s, const TNAME *v, int len, TNAME *r) |
static void TFN() | s_scale_self (TNAME *v, int len, double scale) |
static TNAME TFN() | s_squared_distance (const TNAME *a, const TNAME *b, int len) |
static TNAME TFN() | s_squared_magnitude (const TNAME *v, int len) |
static void TFN() | s_subtract (const TNAME *a, const TNAME *b, int len, TNAME *r) |
static void TFN() | s_xyt_copy (const TNAME xyt[3], TNAME r[3]) |
static void TFN() | s_xyt_inv (const TNAME xyta[3], TNAME xytr[3]) |
static void TFN() | s_xyt_inv_mul (const TNAME xyta[3], const TNAME xytb[3], TNAME xytr[3]) |
static void TFN() | s_xyt_mul (const TNAME xyta[3], const TNAME xytb[3], TNAME xytr[3]) |
static void TFN() | s_xyt_to_mat44 (const TNAME xyt[3], TNAME r[16]) |
static void TFN() | s_xyt_transform_xy (const TNAME xyt[3], const TNAME xy[2], TNAME r[2]) |
static void TFN() | s_xytcov_copy (const TNAME xyta[3], const TNAME Ca[9], TNAME xytr[3], TNAME Cr[9]) |
static void TFN() | s_xytcov_inv (const TNAME xyta[3], const TNAME Ca[9], TNAME xytr[3], TNAME Cr[9]) |
static void TFN() | s_xytcov_mul (const TNAME xyta[3], const TNAME Ca[9], const TNAME xytb[3], const TNAME Cb[9], TNAME xytr[3], TNAME Cr[9]) |
static void TFN() | s_xyzrpy_to_mat44 (const TNAME xyzrpy[6], TNAME M[16]) |
Definition at line 65 of file doubles_floats_impl.h.
#define TRFN | ( | root, | |
suffix | |||
) | TRRFN(root, suffix) |
Definition at line 64 of file doubles_floats_impl.h.
#define TRRFN | ( | root, | |
suffix | |||
) | root ## suffix |
Definition at line 63 of file doubles_floats_impl.h.
Definition at line 103 of file doubles_floats_impl.h.
Definition at line 333 of file doubles_floats_impl.h.
Definition at line 275 of file doubles_floats_impl.h.
Definition at line 217 of file doubles_floats_impl.h.
Definition at line 320 of file doubles_floats_impl.h.
Definition at line 766 of file doubles_floats_impl.h.
Definition at line 129 of file doubles_floats_impl.h.
Definition at line 121 of file doubles_floats_impl.h.
Definition at line 68 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 901 of file doubles_floats_impl.h.
Definition at line 153 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 941 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 970 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 993 of file doubles_floats_impl.h.
Definition at line 774 of file doubles_floats_impl.h.
Definition at line 855 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 893 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 884 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 434 of file doubles_floats_impl.h.
Definition at line 819 of file doubles_floats_impl.h.
Definition at line 809 of file doubles_floats_impl.h.
Definition at line 799 of file doubles_floats_impl.h.
Definition at line 846 of file doubles_floats_impl.h.
Definition at line 791 of file doubles_floats_impl.h.
Definition at line 838 of file doubles_floats_impl.h.
Definition at line 440 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 427 of file doubles_floats_impl.h.
Definition at line 783 of file doubles_floats_impl.h.
Definition at line 830 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 698 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 648 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 686 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 668 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 632 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 713 of file doubles_floats_impl.h.
Definition at line 456 of file doubles_floats_impl.h.
Definition at line 449 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 248 of file doubles_floats_impl.h.
Definition at line 161 of file doubles_floats_impl.h.
Definition at line 168 of file doubles_floats_impl.h.
Definition at line 78 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 85 of file doubles_floats_impl.h.
Definition at line 94 of file doubles_floats_impl.h.
Definition at line 208 of file doubles_floats_impl.h.
Definition at line 200 of file doubles_floats_impl.h.
Definition at line 181 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 731 of file doubles_floats_impl.h.
Definition at line 255 of file doubles_floats_impl.h.
Definition at line 289 of file doubles_floats_impl.h.
Definition at line 376 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 341 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 490 of file doubles_floats_impl.h.
Definition at line 411 of file doubles_floats_impl.h.
Definition at line 352 of file doubles_floats_impl.h.
Definition at line 115 of file doubles_floats_impl.h.
Definition at line 175 of file doubles_floats_impl.h.
Definition at line 137 of file doubles_floats_impl.h.
Definition at line 145 of file doubles_floats_impl.h.
Definition at line 109 of file doubles_floats_impl.h.
Definition at line 222 of file doubles_floats_impl.h.
Definition at line 569 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 619 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 498 of file doubles_floats_impl.h.
Definition at line 227 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 241 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 508 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 577 of file doubles_floats_impl.h.
|
inlinestatic |
Definition at line 515 of file doubles_floats_impl.h.
Definition at line 419 of file doubles_floats_impl.h.