tico 0.1
Mechanical Watch Terminal Timegrapher
Functions
mymath.h File Reference
#include "myarr.h"
#include <stddef.h>
Include dependency graph for mymath.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void transpone (double *arr, unsigned int Nrows, unsigned int Ncols)
 Transposes a matrix in-place. More...
 
void invert (double *arr, unsigned int Nrows, unsigned int Ncols)
 Inverts a square matrix in-place. More...
 
double * mulmat (const double *matrix0, unsigned int Nrows, unsigned int Ncols, const double *matrix1, unsigned int Mrows, unsigned int Mcols)
 Multiplies two matrices and returns the result as a new matrix. More...
 
void matlinreg (double coeffs[2], const double *xmat, unsigned int Nrows, unsigned int Ncols, double *vec, const double *weight)
 Performs linear regression on a dataset with optional weighting. More...
 
void fitNpeaks (double *intercept, double *slope, unsigned int curPos, const struct myarr *maxvals, const struct myarr *maxes, const struct myarr *subpos, unsigned int npeaks, double SDthreshold)
 Fits a line to N peaks in the data, with outlier rejection. More...
 
void fastlinreg (double coeffs[2], const double *xmat, unsigned int Npoints, const double *vec, const double *weightArr)
 Performs fast weighted linear regression. More...
 
size_t getmaxpos (const int *array, size_t ArrayLength)
 Returns the index of the maximum value in an integer array. More...
 
void linreg (const double *xarr, const double *yarr, size_t ArrayLength, double *intercept, double *slope, double *stdev)
 Performs simple linear regression on two arrays. More...
 
int shiftHalf (size_t value, size_t ArrayLength)
 Shifts a value by half the array length, wrapping around. More...