/home/laradmin/lar/utils/mit_darpa_logs_player/include/mit_darpa_logs_player/small_linalg.h File Reference

convenience functions for small linear algebra operations * More...

#include <stdio.h>
#include <math.h>
Include dependency graph for small_linalg.h:

Go to the source code of this file.

Functions

static double matrix_determinant_3x3d (const double m[9])
static int matrix_inverse_2x2d (const double m[4], double inverse[4])
static int matrix_inverse_3x3d (const double m[9], double inverse[9])
int matrix_inverse_4x4d (const double m[16], double inv[16])
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 void matrix_multiply_3x3_3x3 (const double a[9], const double b[9], double r[9])
static void matrix_multiply_4x4_4x4 (const double a[16], const double b[16], double r[16])
static void matrix_print (const double *a, int rows, int cols)
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 int matrix_rigid_body_transform_inverse_4x4d (const double m[16], double inv[16])
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_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 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 vector_cross_3d (const double v1[3], const double v2[3], double result[3])
static double vector_dist_2d (const double v1[2], const double v2[2])
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_dot_2d (const double v1[2], const double v2[2])
static double vector_dot_3d (const double v1[3], const double v2[3])
static double vector_magnitude_2d (const double v[2])
static double vector_magnitude_3d (const double v[3])
static double vector_magnitude_squared_2d (const double v[2])
static double vector_magnitude_squared_3d (const double v[3])
static void vector_normalize_2d (double v[2])
static void vector_normalize_3d (double v[3])
static void vector_print_3d (const double a[3])
static void vector_saxpy_3d (double a, const double x[3], const double y[3], double z[3])
static void vector_scale_2d (double v[2], double s)
static void vector_scale_3d (double v[2], double s)
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 void vector_vector_outer_product_3d (const double v1[3], const double v2[3], double result[9])

Detailed Description

convenience functions for small linear algebra operations *

Definition in file small_linalg.h.


Function Documentation

static double matrix_determinant_3x3d ( const double  m[9]  )  [inline, static]

Definition at line 46 of file small_linalg.h.

static int matrix_inverse_2x2d ( const double  m[4],
double  inverse[4] 
) [inline, static]

Definition at line 76 of file small_linalg.h.

static int matrix_inverse_3x3d ( const double  m[9],
double  inverse[9] 
) [inline, static]

Definition at line 57 of file small_linalg.h.

int matrix_inverse_4x4d ( const double  m[16],
double  inv[16] 
)
static void matrix_multiply ( const double *  a,
int  a_nrows,
int  a_ncols,
const double *  b,
int  b_nrows,
int  b_ncols,
double *  result 
) [inline, static]

Definition at line 355 of file small_linalg.h.

static void matrix_multiply_3x3_3x3 ( const double  a[9],
const double  b[9],
double  r[9] 
) [inline, static]

Definition at line 340 of file small_linalg.h.

static void matrix_multiply_4x4_4x4 ( const double  a[16],
const double  b[16],
double  r[16] 
) [inline, static]

Definition at line 325 of file small_linalg.h.

static void matrix_print ( const double *  a,
int  rows,
int  cols 
) [inline, static]

Definition at line 420 of file small_linalg.h.

static void matrix_rigid_body_transform_get_rotation_matrix_4x4d ( const double  m[16],
double  rot[16] 
) [inline, static]

Definition at line 400 of file small_linalg.h.

static void matrix_rigid_body_transform_get_translation_matrix_4x4d ( const double  m[16],
double  t[16] 
) [inline, static]

Definition at line 410 of file small_linalg.h.

static int matrix_rigid_body_transform_inverse_4x4d ( const double  m[16],
double  inv[16] 
) [inline, static]

Definition at line 373 of file small_linalg.h.

static void matrix_transpose_3x3d ( const double  m[9],
double  result[9] 
) [inline, static]

Definition at line 290 of file small_linalg.h.

static void matrix_transpose_4x4d ( const double  m[16],
double  result[16] 
) [inline, static]

Definition at line 304 of file small_linalg.h.

static void matrix_vector_multiply_2x2_2d ( const double  m[4],
const double  v[2],
double  result[2] 
) [inline, static]

Definition at line 89 of file small_linalg.h.

static void matrix_vector_multiply_3x3_3d ( const double  m[9],
const double  v[3],
double  result[3] 
) [inline, static]

Definition at line 97 of file small_linalg.h.

static void matrix_vector_multiply_4x4_4d ( const double  m[16],
const double  v[4],
double  result[4] 
) [inline, static]

Definition at line 106 of file small_linalg.h.

static void vector_add_3d ( const double  v1[3],
const double  v2[3],
double  result[3] 
) [inline, static]

Definition at line 116 of file small_linalg.h.

static void vector_add_nd ( const double *  v1,
const double *  v2,
int  N,
double *  result 
) [inline, static]

Definition at line 124 of file small_linalg.h.

static double vector_angle_2d ( const double  v1[2],
const double  v2[2] 
) [inline, static]

Definition at line 261 of file small_linalg.h.

static double vector_angle_3d ( const double  v1[3],
const double  v2[3] 
) [inline, static]

Definition at line 279 of file small_linalg.h.

static void vector_cross_3d ( const double  v1[3],
const double  v2[3],
double  result[3] 
) [inline, static]

Definition at line 165 of file small_linalg.h.

static double vector_dist_2d ( const double  v1[2],
const double  v2[2] 
) [inline, static]

Definition at line 213 of file small_linalg.h.

static double vector_dist_3d ( const double  v1[3],
const double  v2[3] 
) [inline, static]

Definition at line 197 of file small_linalg.h.

static double vector_dist_squared_3d ( const double  v1[3],
const double  v2[3] 
) [inline, static]

Definition at line 205 of file small_linalg.h.

static double vector_dot_2d ( const double  v1[2],
const double  v2[2] 
) [inline, static]

Definition at line 153 of file small_linalg.h.

static double vector_dot_3d ( const double  v1[3],
const double  v2[3] 
) [inline, static]

Definition at line 159 of file small_linalg.h.

static double vector_magnitude_2d ( const double  v[2]  )  [inline, static]

Definition at line 179 of file small_linalg.h.

static double vector_magnitude_3d ( const double  v[3]  )  [inline, static]

Definition at line 185 of file small_linalg.h.

static double vector_magnitude_squared_2d ( const double  v[2]  )  [inline, static]

Definition at line 173 of file small_linalg.h.

static double vector_magnitude_squared_3d ( const double  v[3]  )  [inline, static]

Definition at line 191 of file small_linalg.h.

static void vector_normalize_2d ( double  v[2]  )  [inline, static]

Definition at line 221 of file small_linalg.h.

static void vector_normalize_3d ( double  v[3]  )  [inline, static]

Definition at line 229 of file small_linalg.h.

static void vector_print_3d ( const double  a[3]  )  [inline, static]

Definition at line 432 of file small_linalg.h.

static void vector_saxpy_3d ( double  a,
const double  x[3],
const double  y[3],
double  z[3] 
) [inline, static]

Definition at line 254 of file small_linalg.h.

static void vector_scale_2d ( double  v[2],
double  s 
) [inline, static]

Definition at line 238 of file small_linalg.h.

static void vector_scale_3d ( double  v[2],
double  s 
) [inline, static]

Definition at line 245 of file small_linalg.h.

static void vector_sub_nd ( const double *  v1,
const double *  v2,
int  N,
double *  result 
) [inline, static]

Definition at line 132 of file small_linalg.h.

static void vector_subtract_3d ( const double  v1[3],
const double  v2[3],
double  result[3] 
) [inline, static]

vector_subtract_3d:

computes v1 - v2

Definition at line 145 of file small_linalg.h.

static void vector_vector_outer_product_3d ( const double  v1[3],
const double  v2[3],
double  result[9] 
) [inline, static]

Definition at line 441 of file small_linalg.h.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines


mit_darpa_logs_player
Author(s): Miguel Oliveira
autogenerated on Wed Jul 23 04:34:16 2014