ltlgData(API)
From EosPedia
DataManip/ltlgData is API for ltlg file.
constant
#define LTLG_TITLE_LENGTH (80) #define LTLG_SIDE_LENGTH ( 4) #define LTLG_FTN_RECORD (64*4)
typedef enum ltlgDataHow {
ltlgDataHowNearest,
ltlgDataHowLinear
} ltlgDataHow;
typedef enum ltlgDataType {
ltlgDataTypeRePart,
ltlgDataTypeImPart,
ltlgDataTypeMag,
ltlgDataTypePhase
} ltlgDataType;
struct
typedef short ltlgDataParaTypeInteger; typedef float ltlgDataParaTypeReal;
typedef struct ltlgDataLLDataInfo {
ltlgDataParaTypeInteger NN;
ltlgDataParaTypeInteger NL;
ltlgDataParaTypeReal WT;
} ltlgDataLLDataInfo;
typedef struct ltlgDataLLData {
ltlgDataParaTypeReal r;
ltlgDataParaTypeReal Re;
ltlgDataParaTypeReal Im;
}ltlgDataLLData;
typedef struct ltlgDataParaInfo {
ltlgDataParaTypeReal d;
ltlgDataParaTypeReal Min;
ltlgDataParaTypeReal Max;
ltlgDataParaTypeInteger n;
ltlgDataParaTypeInteger dummy;
} ltlgDataParaInfo;
typedef struct ltlgData {
char title1[LTLG_TITLE_LENGTH+1];
char title2[LTLG_TITLE_LENGTH+1];
char side[LTLG_SIDE_LENGTH+1];
ltlgDataParaInfo R;
ltlgDataParaInfo ll;
ltlgDataParaInfo r;
ltlgDataLLDataInfo* llInfo;
ltlgDataLLData** ltlg;
} ltlgData;
API
#define ltlgDataFileRead ltlgDataReadFile #define ltlgDataFileWrite ltlgDataWriteFile
extern void ltlgDataReadFile(FILE* fpt, ltlgData* ltlg, ltlgDataParaTypeInteger mode, ltlgDataParaTypeInteger* status); extern void ltlgDataWriteFile(FILE* fpt, ltlgData* ltlg, ltlgDataParaTypeInteger mode, ltlgDataParaTypeInteger* status);
extern void ltlgDataPrint(FILE* fpt, ltlgData ltlg, ltlgDataParaTypeInteger mode); extern void ltlgDataPrintInfo(FILE* fpt, ltlgData ltlg); extern void ltlgDataPrintllInfo(FILE* fpt, ltlgData ltlg); extern void ltlgDataPrintllData(FILE* fpt, ltlgData ltlg);
extern void ltlgDataAllocate(ltlgData* ltlg, ltlgDataParaTypeInteger* status); extern void ltlgDataFree(ltlgData* ltlg);
extern void ltlgDataWeightModifyFromFile(ltlgData* ltlg, FILE* fpt, long mode); extern void ltlgDataWeightModify(ltlgData* ltlg, ltlgDataLLDataInfo Weight, long mode); extern void ltlgDataWeightOfNEqualLOnly(ltlgData* ltlg);
extern long ltlgDataLNumberGet(ltlgData* ltlg, ltlgDataParaTypeInteger n, ltlgDataParaTypeInteger l);
extern ltlgDataParaTypeReal ltlgDataGet(ltlgData* ltlg, ltlgDataParaTypeInteger n, ltlgDataParaTypeInteger l, ltlgDataParaTypeReal r, ltlgDataParaTypeReal* data, ltlgDataType type, ltlgDataHow how);
extern ltlgDataParaTypeReal ltlgDataGet2(ltlgData* ltlg, long ll, /* layer */ ltlgDataParaTypeReal r, ltlgDataParaTypeReal* data, ltlgDataType type, ltlgDataHow how);