eis/inc/eqpalg/algs/AlgExpTrendSample.h

69 lines
1.8 KiB
C
Raw Normal View History

/******************************************************************************************************************
* Action instruction algorithm(study sample data online,compare with sample
*data)
*
* arg[0] action expression
* arg[1] feedback expression
* arg[2] expression of judgment result
*
* feedback expression
* arg[2] expression of judgment result
*
* 1.0 2020-12-17 zoufuzhou
* 1.1 2021-03-10 change format & add mix_cc
******************************************************************************************************************/
#ifndef _H_ALGORITHM_EXPRESSION_TREND_SAMPLE_H
#define _H_ALGORITHM_EXPRESSION_TREND_SAMPLE_H
// add 2021-03-10 by Cat
// add mix_cc ihdb module to deal with ihyperDB
#include "mix_cc/utility/ihyper_db/ihyper_db.h"
// change done
#include <eqpalg/AlgCommonDefine.h>
#include <eqpalg/algs/AlgExp.h>
#include <iomanip>
#include <iostream>
#include <string>
class AlgExpTrendSample : virtual public AlgExp {
public:
AlgExpTrendSample(const string &name, const Json::Value &rulejson,
const string &ruleid, IHDBTools *ihdb);
virtual ~AlgExpTrendSample();
public:
virtual int Reload();
virtual int calculate(string &outjson);
private:
int calculate_once(string &outjson, HD3Record *hdRec);
// int GetHDTrend(const string &tag);
private:
MathExpression *mp_expact;
MathExpression *mp_expfbk;
// using sample data to storage data from ihdb
std::vector<double> sample_data;
// delete
// HD3Record m_ihdtrend[SAMPLE_COUNT];
string m_sampletag;
mix_cc::IhdCom hd_com;
// private:
// float m_samples[3];
// float m_stat[3];
// bool m_nosample;
// bool m_islearned;
// vector<double> mv_stat;
// int m_archive;
// time_t mt_lastsave;
};
#endif