packages feed

hmatrix-morpheus-0.1.1.0: src/statistics.h

/*! \file statistics.h
  \brief Statistics functions
*/

#ifndef MORHEPUS_STATISTICS_H
#define MORHEPUS_STATISTICS_H

#include "simple_blas.h"

/*! \defgroup statistics statistics
  \brief Statistics functions
  \{
*/

/*! Calculates mean (average). */
double morpheus_mean(int n, const double *x);

/*! Calculates sample standard deviation using given mean value. */
double morpheus_stddev_m(double mean, int n, const double *x);

/*! Calculates sample standard deviation.*/
double morpheus_stddev(int n, const double *x);

/*! Calculates mean (average) for every column. */
void morpheus_column_mean(morpheus_layout_e layout,
                          int nrows, int ncols,
                          const double *x,       /*!< matrix of nrows x ncols */
                          double *means          /*!< output vector of mean values of size ncols */
                          );

/*! Calculates mean (average) for every row. */
void morpheus_row_mean(morpheus_layout_e layout,
                       int nrows, int ncols,
                       const double *x,          /*!< matrix of nrows x ncols */
                       double *means             /*!< output vector of mean values of size nrows */
                       );

/*! Calculates sample standard deviation using given mean value for every column. */
void morpheus_column_stddev_m(morpheus_layout_e layout,
                              int nrows, int ncols,
                              const double *means,  /*!< vector of mean values of size ncols */
                              const double *x,      /*!< matrix of nrows x ncols */
                              double *s             /*!< output vector of stddev values of size ncols */
                              );

/*! Calculates sample standard deviation using given mean value for every row. */
void morpheus_row_stddev_m(morpheus_layout_e layout,
                           int nrows, int ncols,
                           const double *means,     /*!< vector of mean values of size nrows */
                           const double *x,         /*!< matrix of nrows x nrows */
                           double *s                /*!< output vector of stddev values of size nrows */
                           );
/*! \} */

#endif  /* MORHEPUS_STATISTICS_H */