eis/inc/eqpalg/algs/AlgExpTrendSampleMan.h

73 lines
1.9 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_MAN_H
#define _H_ALGORITHM_EXPRESSION_TREND_SAMPLE_MAN_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 AlgExpTrendSampleMan : virtual public AlgExp {
public:
AlgExpTrendSampleMan(const string &name, const Json::Value &rulejson,
const string &ruleid, IHDBTools *ihdb);
virtual ~AlgExpTrendSampleMan();
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;
bool prev_execution_expact_triggered_;
time_t expired_time;
// 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