This is smsUnDb.c in view mode; [Download] [Up]
/* program written by Celso Mendonca de Aguiar */ #import <sms/sms.h> #define USAGE "Usage: smsUnDb <inputsmsFile> <outputsmsFile>" main (int ac, char *av[]) { char *pData, *inputFileName, *outputFileName; int j, i, NRec, Ntrajet, counter=0; float freqs, printfreqs, freqsm1, freqsp1, Sum=0.0; SMSHeader *pSmsHeader; SMS_DATA smsData; initSms(&smsData); if (ac != 3) quit(USAGE); inputFileName = av[1]; outputFileName = av[2]; if(readSmsFile (inputFileName, &pSmsHeader) < 0) printf("error"); Ntrajet = pSmsHeader->nTrajectories; NRec = pSmsHeader->nRecords; for(j = 0; j < Ntrajet; j++) { pData = (char *) pSmsHeader + pSmsHeader->iHeadBSize; pData += pSmsHeader->iRecordBSize; for(i = 0; i < NRec; i++) { setSmsRecord (pSmsHeader, pData, &smsData); smsData.pFMagTraj[j] = TO_MAG(smsData.pFMagTraj[j]); pData += pSmsHeader->iRecordBSize; } } for(j = 0; j < Ntrajet; j++) { pData = (char *) pSmsHeader + pSmsHeader->iHeadBSize; pData += pSmsHeader->iRecordBSize; freqsm1 = 0.0; setSmsRecord(pSmsHeader, pData, &smsData); freqs = smsData.pFFreqTraj[j]; for(i = 0; i < NRec-2; i++) { pData += pSmsHeader->iRecordBSize; setSmsRecord(pSmsHeader, pData, &smsData); freqsp1 = smsData.pFFreqTraj[j]; printfreqs = freqs; if (freqs<0.000001 && freqsm1>0.0) printfreqs = freqsm1; if (freqs<0.000001 && freqsp1>0.0) printfreqs = freqsp1; if (freqs<0.000001) smsData.pFFreqTraj[j] = .0; else smsData.pFFreqTraj[j] = printfreqs; freqsm1 = freqs; freqs = freqsp1; } } pData = (char *) pSmsHeader + pSmsHeader->iHeadBSize; pData += pSmsHeader->iRecordBSize; setSmsRecord(pSmsHeader, pData, &smsData); for(i = 0; i < NRec; i++) { freqs = smsData.pFFreqTraj[0]; Sum += freqs; if (freqs>0) counter++; pData += pSmsHeader->iRecordBSize; setSmsRecord(pSmsHeader, pData, &smsData); } pSmsHeader->fFrequency = Sum / counter; writeSmsFile (outputFileName, pSmsHeader); free(pSmsHeader); exit(0); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.