|
|
static double | matrix_determinant_3x3d (const double m[9]) |
|
int | matrix_inverse_4x4d (const double m[16], double inv[16]) |
|
static int | matrix_inverse_3x3d (const double m[9], double inverse[9]) |
|
static int | matrix_inverse_2x2d (const double m[4], double inverse[4]) |
|
static void | matrix_vector_multiply_2x2_2d (const double m[4], const double v[2], double result[2]) |
|
static void | matrix_vector_multiply_3x3_3d (const double m[9], const double v[3], double result[3]) |
|
static void | matrix_vector_multiply_4x4_4d (const double m[16], const double v[4], double result[4]) |
|
static void | vector_add_3d (const double v1[3], const double v2[3], double result[3]) |
|
static void | vector_add_nd (const double *v1, const double *v2, int N, double *result) |
|
static void | vector_sub_nd (const double *v1, const double *v2, int N, double *result) |
|
static void | vector_subtract_3d (const double v1[3], const double v2[3], double result[3]) |
|
static double | vector_dot_2d (const double v1[2], const double v2[2]) |
|
static double | vector_dot_3d (const double v1[3], const double v2[3]) |
|
static void | vector_cross_3d (const double v1[3], const double v2[3], double result[3]) |
|
static double | vector_magnitude_squared_2d (const double v[2]) |
|
static double | vector_magnitude_2d (const double v[2]) |
|
static double | vector_magnitude_3d (const double v[3]) |
|
static double | vector_magnitude_squared_3d (const double v[3]) |
|
static double | vector_dist_3d (const double v1[3], const double v2[3]) |
|
static double | vector_dist_squared_3d (const double v1[3], const double v2[3]) |
|
static double | vector_dist_2d (const double v1[2], const double v2[2]) |
|
static void | vector_normalize_2d (double v[2]) |
|
static void | vector_normalize_3d (double v[3]) |
|
static void | vector_scale_2d (double v[2], double s) |
|
static void | vector_scale_3d (double v[2], double s) |
|
static void | vector_saxpy_3d (double a, const double x[3], const double y[3], double z[3]) |
|
static double | vector_angle_2d (const double v1[2], const double v2[2]) |
|
static double | vector_angle_3d (const double v1[3], const double v2[3]) |
|
static void | matrix_transpose_3x3d (const double m[9], double result[9]) |
|
static void | matrix_transpose_4x4d (const double m[16], double result[16]) |
|
static void | matrix_multiply_4x4_4x4 (const double a[16], const double b[16], double r[16]) |
|
static void | matrix_multiply_3x3_3x3 (const double a[9], const double b[9], double r[9]) |
|
static void | matrix_multiply (const double *a, int a_nrows, int a_ncols, const double *b, int b_nrows, int b_ncols, double *result) |
|
static int | matrix_rigid_body_transform_inverse_4x4d (const double m[16], double inv[16]) |
|
static void | matrix_rigid_body_transform_get_rotation_matrix_4x4d (const double m[16], double rot[16]) |
|
static void | matrix_rigid_body_transform_get_translation_matrix_4x4d (const double m[16], double t[16]) |
|
static void | matrix_print (const double *a, int rows, int cols) |
|
static void | vector_print_3d (const double a[3]) |
|
static void | vector_vector_outer_product_3d (const double v1[3], const double v2[3], double result[9]) |
|
convenience functions for small linear algebra operations
Definition in file small_linalg.h.