Jetson Inference
DNN Vision Library
mat33.h File Reference
#include <stdio.h>
#include <unistd.h>
#include <math.h>
#include "logging.h"

Go to the source code of this file.

Functions

template<typename T1 , typename T2 >
void mat33_cast (T1 dst[3][3], const T2 src[3][3])
 Cast a 3x3 matrix from one type to another. More...
 
template<typename T >
void mat33_copy (T dst[3][3], const T src[3][3])
 Copy src input matrix to dst output. More...
 
template<typename T >
mat33_det (const T src[3][3])
 Compute the determinant of a 3x3 matrix, returns |src| More...
 
template<typename T >
void mat33_identity (T dst[3][3])
 Initialize a 3x3 identity matrix. More...
 
template<typename T >
void mat33_inverse (T dst[3][3], const T src[3][3])
 Compute the inverse of a 3x3 matrix, dst=src^-1 It is safe to have dst and src be the same memory. More...
 
template<typename T >
void mat33_multiply (T dst[3][3], const T a[3][3], const T b[3][3])
 Multiply two 3x3 matrices, dst=a*b More...
 
template<typename T >
void mat33_print (const T src[3][3], const char *name=NULL)
 Print out a 3x3 matrix to stdout. More...
 
template<typename T >
int mat33_rank (const T src[3][3])
 Determine the rank of a 3x3 matrix. More...
 
template<typename T >
void mat33_translate (T dst[3][3], T x, T y)
 Initialize a 3x3 translation matrix. More...
 
template<typename T >
void mat33_translate (T dst[3][3], T src[3][3], T x, T y)
 Translate a 3x3 matrix by (x,y) More...
 
template<typename T >
void mat33_rotation (T dst[3][3], T degrees)
 Initialize a 3x3 rotation matrix. More...
 
template<typename T >
void mat33_rotation (T dst[3][3], T src[3][3], T degrees)
 Rotate a 3x3 matrix counter-clockwise. More...
 
template<typename T >
void mat33_rotation (T dst[3][3], T degrees, float origin_x, float origin_y)
 Initialize a 3x3 rotation matrix around an origin point. More...
 
template<typename T >
void mat33_rotation (T dst[3][3], T src[3][3], T degrees, float origin_x, float origin_y)
 Rotation a 3x3 matrix around an origin point. More...
 
template<typename T >
void mat33_scale (T dst[3][3], T sx, T sy)
 Initialize a 3x3 scaling matrix. More...
 
template<typename T >
void mat33_scale (T dst[3][3], T src[3][3], T sx, T sy)
 Scale a 3x3 matrix by (sx,sy) More...
 
template<typename T >
void mat33_shear (T dst[3][3], T sx, T sy)
 Initialize a 3x3 shear matrix. More...
 
template<typename T >
void mat33_shear (T dst[3][3], T src[3][3], T sx, T sy)
 Shear a 3x3 matrix by (sx,sy). More...
 
template<typename T >
void mat33_swap (T a[3][3], T b[3][3])
 Swap two 3x3 matrices inline, a=b and b=a More...
 
template<typename T >
mat33_trace (const T src[3][3])
 Compute the trace of a 3x3 matrix, returns tr(src) More...
 
template<typename T >
void mat33_transform (T &x_out, T &y_out, const T x_in, const T y_in, const T mat[3][3])
 Transform a 2D vector by a 3x3 matrix. More...
 
template<typename T >
void mat33_transform (T dst[2], const T src[2], const T mat[3][3])
 Transform a 2D vector by a 3x3 matrix, dst=src*mat More...
 
template<typename T >
void mat33_transform (T *dst, const T *src, const int N, const T mat[3][3])
 Transform an array of 2D vectors by a 3x3 matrix. More...
 
template<typename T >
void mat33_transpose (T dst[3][3], const T src[3][3])
 Transpose a 3x3 matrix, dst=src^T More...
 
template<typename T >
void mat33_zero (T dst[3][3])
 Set a 3x3 matrix to all zero's. More...