00001
00008 #define xcalloc(n,t) ((t*)calloc((n),sizeof(t)))
00009 #define xmalloc(n,t) ((t*)malloc((n)*sizeof(t)))
00010 #define xfree(p) free((char*)(p))
00011 #define max(a,b) (((a)>(b))?(a):(b))
00012 #define min(a,b) (((a)<(b))?(a):(b))
00013 #define fswap(a,b) {double tmp=(a);(a)=(b);(b)=tmp}
00014 #define iswap(a,b) {long tmp=(a);(a)=(b);(b)=tmp}
00015 #define sign(a) ((a)==0.0?0.0:(a)<0.0?-1.0:1.0)
00016 #define setzero(p,n) memset((p),0,sizeof(p[0])*(n))
00017 #define numel(a) ((int)(sizeof(a)/sizeof(a[0])))
00018 #define bswap32(a) (((unsigned long)(a)>>24)|(((unsigned long)(a)&0x00ff0000)>>8)|(((unsigned long)(a)&0x0000ff00)<<8)|((unsigned long)(a)<<24))
00019 #define bswap16(a) (((unsigned short)(a)>>8)|((unsigned short)(a)<<8))
00020
00021 #define TRUE (-1)
00022 #define FALSE (0)
00023
00024
00025
00026 double logProb(double prob);
00027 double **allocDblMatrix(int nrow, int ncol);
00028 void freeDblMatrix(double **mat, int nrow);
00029 int **allocIntMatrix(int nrow, int ncol);
00030 void freeIntMatrix(int **mat, int nrow);
00031 short **allocShtMatrix(int nrow, int ncol);
00032 void freeShtMatrix(short **mat, int nrow);
00033 long **allocLngMatrix(int nrow, int ncol);
00034 void freeLngMatrix(long **mat, int nrow);
00035 int countLines(FILE*);
00036 int probeWord(char *word, int size, FILE *fp);
00037 char *allocCopyStr(char *source);
00038 char *extractLastDiphone(char *label);
00039 char *extractFirstDiphone(char *label);
00040 char *extractCentrePhone(char *label);
00041