www.pudn.com > huffman.rar > Ulti.c
#include "Global.h" #include "MyAssert.h" #include "Ulti.h" #include#include #include #include void swap(Type* a,Type* b) { Type tmpV; assertF(a!=NULL,"in swap,a is NULL"); assertF(b!=NULL,"in swap,b is NULL"); tmpV=*a; *a=*b; *b=tmpV; } /*swap array data*/ void swapArrData(Type* arr,int pos1,int pos2) { Type tmpData; assertF(arr!=NULL,"In swapArrData,arr is NULL\n"); tmpData=arr[pos1]; arr[pos1]=arr[pos2]; arr[pos2]=tmpData; } void outputListArrFloat(Type* arr,long startPos,long len,FILE* outputFile) { long i=0;/*iterator num*/ assertF(len-startPos>0,"in outputListArrFloat len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloat,arr is NULL\n"); assertF(outputFile!=NULL,"in outputListArrFloat ,outputFile is NULL\n"); for(i=startPos;i 0,"in outputListArrFloat len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloat,arr is NULL\n"); assertF(outputFile!=NULL,"in outputListArrFloat ,outputFile is NULL\n"); for(i=startPos;i 0,"in outputListArrFloat2 len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloa2t,arr is NULL\n"); assertF(outputFileName!=NULL,"in outputListArrFloat2,listFileName is null\n"); /*open file*/ assertF((outputFile=fopen(outputFileName,"wb"))!=NULL,"output file open error\n"); for(i=startPos;i 0,"in outputListArrFloat2 len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloa2t,arr is NULL\n"); assertF(outputFileName!=NULL,"in outputListArrFloat2,listFileName is null\n"); /*open file*/ assertF((outputFile=fopen(outputFileName,"wb"))!=NULL,"output file open error\n"); for(i=startPos;i 0,"in outputListArrFloat2 len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloa2t,arr is NULL\n"); assertF(outputFileName!=NULL,"in outputListArrFloat2,listFileName is null\n"); /*open file*/ assertF((outputFile=fopen(outputFileName,"wb"))!=NULL,"output file open error\n"); fprintf(outputFile,"arr=["); for(i=startPos;i 0,"in outputListArrFloat2 len-startPos<=0\n"); assertF(arr!=NULL,"In outputListArrFloa2t,arr is NULL\n"); assertF(outputFileName!=NULL,"in outputListArrFloat2,listFileName is null\n"); /*open file*/ assertF((outputFile=fopen(outputFileName,"wb"))!=NULL,"output file open error\n"); fprintf(outputFile,"arr=["); for(i=startPos;i 10) { printf("\n"); pos=0; } } printf("%d;\n",arr[i][j]); pos=0; } printf("\n"); } void show2DArrFloat(Type** arr,int col,int row) { int i=0,j=0;/*iterator value*/ int pos=0;/*output control*/ assertF(arr!=NULL,"In showArr,arr is NULL\n"); for(i=0;i 10) { printf("\n"); pos=0; } } printf("%f;\n",arr[i][j]); pos=0; } printf("\n"); } void showArrListInt(Type* arr,int startPos,int len) { int i=0;/*iterator num*/ assertF(len-startPos>0,"in sumArr len-startPos<=0\n"); assertF(arr!=NULL,"In showArrListFloat,arr is NULL\n"); for(i=startPos;i 0,"in sumArr len-startPos<=0\n"); assertF(arr!=NULL,"In showArrListFloat,arr is NULL\n"); for(i=startPos;i maxData)maxData=inList[i]; return maxData; } Type maxAbsValInList(Type* inList,int len) { int i;/*iterator num*/ Type maxData; assertF(inList!=NULL,"in maxValInList,inList is NULL\n"); maxData=(Type)fabs(inList[0]); for(i=1;i maxData)maxData=(Type)fabs(inList[i]); return maxData; } int listNotZero(Type* inList,int len) { int i=0;/*iterator*/ int flag; float e=(float)0.00001;/*the precise controller*/ Type sum=0; assertF(inList!=NULL,"in list not zero,in list is null\n"); sum=0; for(i=0;i upLimit); return tmpData; } /*ulti file operation*/ extern FILE* createFile(char mode,char* fileName) { FILE* mFile; assertF(fileName!=NULL,"in createFile,listFileName is null\n"); assertF(mode=='w'||mode=='r',"in create,mode pass in is error\n"); if(mode=='w') assertF((mFile=fopen(fileName,"wb"))!=NULL,"in create file,output file open error\n"); else assertF((mFile=fopen(fileName,"rb"))!=NULL,"in create file,output file open error\n"); return mFile; }