Information from source codes

../src/eosBayesCondition.c:

../src/eosBayesDistributionInit.c:

../src/eosBayesDistributionInitialProbabilitySet.c:

../src/eosBayesEstimation.c:

../src/eosBayesRead.c:

../src/eosBayesWrite.c:

../src/leosBayesInit.c:

eosBayes.h

#ifndef EOS_BAYES_H
#define EOS_BAYES_H

typedef struct eosBayesDistribution {
	//char* name;
	float min;
	float max;
	float delta;
	int   n;
	float* value;
	float* prob;
} eosBayesDistribution;

 
typedef struct eosBayes {
	int numDistribution;
	eosBayesDistribution* prior;
	eosBayesDistribution* posterior;

	int numLikelihood;
	eosBayesDistribution* likelihood;
} eosBayes;


typedef enum eosBayesDistributionInfoMode {
	 eosBayesDistributionInfoModeGaussian=0

} eosBayesDistributionInfoMode;

typedef struct eosBayesDistributionInfo {
	float min;
	float max;
	float delta;


	eosBayesDistributionInfoMode mode;


	// For Gaussian
	float mean;
	float sigma;

} eosBayesDistributionInfo;


/* eosBayesInit.c */
// Initialization of eosBays
extern void leosBayesInit(eosBayes* d, int numDistribution, int numLikelihood, int mode);

extern void eosBayesCondition(FILE* fptIn, eosBayes* d, eosBayesDistributionInfo* llinfo, int mode);

// Initialize Each distribution of eosBayesDistributions
extern void eosBayesDistributionInit(eosBayesDistribution* d,eosBayesDistributionInfo* info, int mode);

// Initialize probe of Each distribution of eosBayesDistriubutions
extern void eosBayesDistributionInitialProbabilitySet(eosBayesDistribution* d, eosBayesDistributionInfo* info, int mode);

/* eosBayesEstimation.c */
extern void eosBayesEstimation(eosBayes* d, int mode);
extern void eosBayesPosteriortoPrior(eosBayes* d, int mode);
extern void eosBayesloop(eosBayesDistribution* d, int* L, int numDist, int length);

/* eosBayesWrite.c */
extern void eosBayesDistribututionWrite(FILE* fpt, eosBayesDistribution* d, int mode);
extern void eosBayesPriorWrite(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesPosteriorWrite(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesLikelihoodWrite(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesWrite(FILE* fpt, eosBayes* d, int mode);
// FileFormat
// 0 min0 max0 delta0 n0 out.prior[0].prob[0] ...... prob[n-1]
// 1 min1 max1 delta1 n1 out.prior[1].prob[0] ...... prob[n-1]

extern void DistributionChangeCheck(eosBayes* d, int mode);
extern void LikelihoodChangeCheck(eosBayes* d, int count, int mode);
//FileFoemat
//min max delta n
//value prob
//value prob
//.........


/* eosBayesRead.c */
extern void eosBayesDistributioncheck(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesDistributionRead(FILE* fpt, eosBayesDistribution* d, int mode);
extern void eosBayesPriorRead(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesPosteriorRead(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesLikelihoodRead(FILE* fpt, eosBayes* d, int mode);
extern void eosBayesRead(FILE* fpt, eosBayes* d, int mode);





#endif /* EOS_BAYES_H */