Sound Open Firmware
Loading...
Searching...
No Matches
matrix.h File Reference

Matrix math routines, allocation, multiplication, and transposition. More...

Include dependency graph for matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mat_matrix_16b
 

Functions

static void mat_init_16b (struct mat_matrix_16b *mat, int16_t rows, int16_t columns, int16_t fractions)
 
static struct mat_matrix_16b * mat_matrix_alloc_16b (int16_t rows, int16_t columns, int16_t fractions)
 
static struct mat_matrix_16b * mod_mat_matrix_alloc_16b (struct processing_module *mod, int16_t rows, int16_t columns, int16_t fractions)
 
static void mat_copy_from_linear_16b (struct mat_matrix_16b *mat, const int16_t *lin_data)
 
static void mat_set_all_16b (struct mat_matrix_16b *mat, int16_t val)
 
static int16_t mat_get_scalar_16b (struct mat_matrix_16b *mat, int row, int col)
 
static void mat_set_scalar_16b (struct mat_matrix_16b *mat, int row, int col, int16_t val)
 
static int16_t * mat_get_row_vector_16b (struct mat_matrix_16b *mat, int row)
 
int mat_multiply (struct mat_matrix_16b *a, struct mat_matrix_16b *b, struct mat_matrix_16b *c)
 
int mat_multiply_elementwise (struct mat_matrix_16b *a, struct mat_matrix_16b *b, struct mat_matrix_16b *c)
 

Detailed Description

Matrix math routines, allocation, multiplication, and transposition.

Function Documentation

◆ mat_copy_from_linear_16b()

static void mat_copy_from_linear_16b ( struct mat_matrix_16b *  mat,
const int16_t *  lin_data 
)
inlinestatic

◆ mat_get_row_vector_16b()

static int16_t * mat_get_row_vector_16b ( struct mat_matrix_16b *  mat,
int  row 
)
inlinestatic

◆ mat_get_scalar_16b()

static int16_t mat_get_scalar_16b ( struct mat_matrix_16b *  mat,
int  row,
int  col 
)
inlinestatic

◆ mat_init_16b()

static void mat_init_16b ( struct mat_matrix_16b *  mat,
int16_t  rows,
int16_t  columns,
int16_t  fractions 
)
inlinestatic

◆ mat_matrix_alloc_16b()

static struct mat_matrix_16b * mat_matrix_alloc_16b ( int16_t  rows,
int16_t  columns,
int16_t  fractions 
)
inlinestatic

◆ mat_multiply()

int mat_multiply ( struct mat_matrix_16b *  a,
struct mat_matrix_16b *  b,
struct mat_matrix_16b *  c 
)

◆ mat_multiply_elementwise()

int mat_multiply_elementwise ( struct mat_matrix_16b *  a,
struct mat_matrix_16b *  b,
struct mat_matrix_16b *  c 
)

◆ mat_set_all_16b()

static void mat_set_all_16b ( struct mat_matrix_16b *  mat,
int16_t  val 
)
inlinestatic

◆ mat_set_scalar_16b()

static void mat_set_scalar_16b ( struct mat_matrix_16b *  mat,
int  row,
int  col,
int16_t  val 
)
inlinestatic

◆ mod_mat_matrix_alloc_16b()

static struct mat_matrix_16b * mod_mat_matrix_alloc_16b ( struct processing_module *  mod,
int16_t  rows,
int16_t  columns,
int16_t  fractions 
)
inlinestatic