/*! \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 */