#ifndef LCF_ACTIVE_H_
#define LCF_ACTIVE_H_
#include "tensorOperate.h"

class ActiveLayer : public TensorOperate
{
    public:
        ActiveLayer(int ifType, int iID, int iMaxSeqNum, DevicesBatchDisptach *iDevicesBatchDisptach, const char *inFunTypeStr);
        virtual ~ActiveLayer();
        void ComputeAndCreateOutYInDTensorInfo();
        void SaveLayerWeight(int n);
        void LoadLayerWeight();
        void CompuateOutY(int devID, int seqNum);
        void CompuateOutD(int devID, int seqNum);
        void ComputerYMemRealease(int devID);
        void ComputerDMemRealease(int devID);
        void CreateParaAndInstance();

    private:
        ActiveType GetFunTypeByStr(const char *str);
        ActiveType mFunType;
};

#endif