Newer
Older
#ifndef CALCUL_H
#define CALCUL_H
///Contains various math functions.
static double distanceDtwEuklid(vtr<double> const &u, vtr<double> const &v);
static double distanceDtwManhattan(vtr<double> const &u, vtr<double> const &v);
static double distanceDtwCsiChroma(vtr<double> const &u, vtr<double> const &v, double threshold = 0.07);
static double distanceDtwCsiChord(vtr<double> const &u, vtr<double> const &v, vtr<int> const &uKey, vtr<int> const &vKey);
//static double distance_dtw_euklid2(input_method const &series, int idxA, int idxB);
//static double distance_dtw_manhattan2(input_method const &series, int idxA, int idxB);
//static double distance_dtw_csiChroma2(input_method const &series, int idxA, int idxB);
//static double distance_dtw_csiChord2(input_method const &series, int idxA, int idxB);
static double distanceLcss(vtr<double> const &u, vtr<double> const &v, int idx);
static double scoreDtwS1(double scoreRaw);
static double scoreDtwS2(double scoreRaw, size_t pathLength);
static double scoreDtwS3(size_t lenA, size_t lenB, size_t lenPath);
static double scoreDtwS4(double scoreRaw, double scoreRawMax);
static double scoreDtwS5(double scoreRaw, double scoreRawMax, double coefficient);
static double scoreDtwMax(vtr2<double> const &A, vtr2<double> const &B, coord start, coord end);
static double scoreLcssS1(double scoreRaw, size_t pathLength);
static double scoreLcssS2(double scoreRaw, size_t maxABLen);
static double scoreLcssS3(double scoreRaw);
static double lenRatio(size_t lenA, size_t lenB);
static double ratio(size_t dividend, size_t divisor);
static double scoreAverageRank(int ref, vtr<int> const &queryAnswer, inputGroundTruth const &clusters);
static double scoreAveragePrecision(int ref, vtr<int> const &queryAnswer, inputGroundTruth const &clusters);
static double scoreMap(vtr<double> const &averagePrecisions);
static double scorePrecision(int ref, vtr<int> const &top, inputGroundTruth const &clusters);
static double scoreRecall(int ref, vtr<int> const &top, inputGroundTruth const &cluster);
static double lbKeogh(vtr2<double> const &A, vtr2<double> const &B, parameter const ¶ms);
static int dtwPassStart(size_t i, int w, double coeficient);
static int dtwPassEnd(size_t i, int w, double coeficient, int lenB);
static bool isFlexiblePass(int row, int col, coord const &past, int w);
template <typename T> static T vtrMax(vtr<T> const &input);
template <typename T> static T vtrMax(vtr2<T> const &input);
template <typename T> static T vtrMax(vtr3<T> const &input);
template <typename T> static T vtrMin(vtr<T> const &input);
template <typename T> static T vtrMin(vtr2<T> const &input);
static double vtrMean(vtr<double> const &v);
static vtr<double> vtrMean(vtr2<double> const &v);
static double vtrStd(vtr<double> const &v);