tico 0.1
Mechanical Watch Terminal Timegrapher
Data Structures | Functions
mymath.c File Reference
#include "mymath.h"
#include "myarr.h"
#include "mydefs.h"
#include "printing.h"
#include <limits.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "modsigned.h"
Include dependency graph for mymath.c:

Data Structures

struct  mymat
 

Functions

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...
 
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 fastlinreg (double coeffs[2], const double *xmat, unsigned int Npoints, const double *vec, const double *weightArr)
 Performs fast weighted linear regression. More...
 
void fitNpeaks (double *intercept, double *slope, const unsigned int curPos, const struct myarr *maxvals, const struct myarr *maxes, const struct myarr *subpos, const unsigned int npeaks, const double SDthreshold)
 Fits a line to N peaks in the data, with outlier rejection. More...
 
int shiftHalf (size_t value, size_t ArrayLength)
 Shifts a value by half the array length, wrapping around. More...