Changeset 1502 in Sophya for trunk/ArchTOIPipe/ProcWSophya/genwproc.h
- Timestamp:
- May 18, 2001, 7:29:04 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ArchTOIPipe/ProcWSophya/genwproc.h
r1496 r1502 12 12 class GenWindowTOIProcessor : public TOIProcessor { 13 13 public: 14 GenWindowTOIProcessor(int nbinput,int nboutput,int wsz, int wstep=1, intwsztot=-1);14 GenWindowTOIProcessor(int_4 nbinput,int_4 nboutput,int_4 wsz, int_4 wstep=1, int_4 wsztot=-1); 15 15 virtual ~GenWindowTOIProcessor(); 16 16 17 inline int_ 8GetWSize() const { return WSize; }18 inline int_ 8GetWStep() const { return WStep; }19 inline int_ 8ProcessedSampleCount() const { return TotNsCount; }17 inline int_4 GetWSize() const { return WSize; } 18 inline int_4 GetWStep() const { return WStep; } 19 inline int_4 ProcessedSampleCount() const { return TotNsCount; } 20 20 21 inline int_8 GetStartSample() {return StartSample;} 22 inline int_8 GetCenterSample() {return StartSample + WSize/2;} 23 inline int_8 StartSampleNum() { return SNdeb; } 24 inline int_8 EndSampleNum() { return SNend; } 21 // DbgLevel = 0 : No debug 22 // DbgLevel = 1 : Print fenetre WSize 23 // DbgLevel = 2 : 1 + Print logique remplissage/decalage 24 // DbgLevel = 3 : 2 + Print fenetre WSizeTot et WSizeL,C,R 25 inline void SetDbgLevel(int_2 lp=0) {DbgLevel = (lp>0) ? lp : 0;} 26 27 void SetWSizeLCR(int_4 wszl=0,int_4 wszc=0,int_4 wszr=0); 28 inline int_4 GetWSize(char cw) 29 {if (cw=='l') return WSizeLeft; 30 else if(cw=='c') return WSizeCenter; 31 else if(cw=='r') return WSizeRight; 32 return WSize;} 33 34 inline int_8 GetWStartSample() {return StartSample;} 35 inline int_8 GetWCenterSample() {return StartSample + WSize/2;} 36 inline int_8 GetWCenterIndex() {return WSize/2;} 37 inline int_8 StartSampleNum() {return SNbegin;} 38 inline int_8 EndSampleNum() {return SNend;} 25 39 26 40 inline void SetDefaultValue(r_8 r8dval=0., int_8 i8dval=0) 27 41 {R8DefVal = r8dval; I8DefVal = i8dval;} 28 42 29 TVector<r_8> GetWData(int numtoi=0);30 TVector<int_8> GetWFlag(int numtoi=0);31 r_8 * GetWDataPointer(int numtoi=0);32 int_8 * GetWFlagPointer(int numtoi=0);33 void GetData(int numtoi, int_8 numsample, r_8 & data, int_8 & flag);43 TVector<r_8> GetWData(int_4 numtoi=0); 44 TVector<int_8> GetWFlag(int_4 numtoi=0); 45 r_8 * GetWDataPointer(int_4 numtoi=0); 46 int_8 * GetWFlagPointer(int_4 numtoi=0); 47 void GetData(int_4 numtoi, int_8 numsample, r_8 & data, int_8 & flag); 34 48 inline void GetData(int_8 numsample, r_8 & data, int_8 & flag) 35 49 { GetData(0, numsample, data, flag); } 36 50 37 void PutWData(int numtoi,int_8 numsample,TVector<r_8>& data,TVector<int_8>& flag); 38 void PutWData(int numtoi,int_8 numsample,r_8 data,int_8 flag); 51 TVector<r_8> GetWData(char cw,int_4 numtoi=0); 52 TVector<int_8> GetWFlag(char cw,int_4 numtoi=0); 53 r_8 * GetWDataPointer(char cw,int_4 numtoi,int_4& n); 54 int_8 * GetWFlagPointer(char cw,int_4 numtoi,int_4& n); 55 inline r_8 * GetWDataPointer(char cw,int_4& n) 56 {return GetWDataPointer(cw,0,n);} 57 inline int_8 * GetWFlagPointer(char cw,int_4& n) 58 {return GetWFlagPointer(cw,0,n);} 59 60 void PutWData(int_4 numtoi,int_8 numsample,TVector<r_8>& data,TVector<int_8>& flag); 61 void PutWData(int_4 numtoi,int_8 numsample,r_8 data,int_8 flag); 39 62 inline void PutWData(int_8 numsample,TVector<r_8>& data,TVector<int_8>& flag) 40 63 {PutWData(0,numsample,data,flag);} … … 42 65 {PutWData(0,numsample,data,flag);} 43 66 44 virtual void PrintStatus(ostream & os );67 virtual void PrintStatus(ostream & os,int lp=0); 45 68 46 69 virtual void UserInit(int_8 kstart); … … 54 77 void Remplissage(int_8 ks); 55 78 void Ecriture(); 56 inline int_8 StartWtIndex() 57 {if(CurWtIndex<0) return -1; else return CurWtIndex-WSize;} 58 inline int_8 CenterWtIndex() 59 {if(CurWtIndex<0) return -1; else return CurWtIndex-(WSize+1)/2;} 79 void test_avec_print(int_8 ks); 80 inline int_4 StartWtIndex() {return CurWtIndex-WSize;} 81 inline int_4 CenterWtIndex() {return CurWtIndex-(WSize+1)/2;} 82 inline int_4 StartWtIndex(char cw) 83 {if (cw=='l') return StartWtIndex()+W0Left; 84 else if(cw=='c') return StartWtIndex()+W0Center; 85 else if(cw=='r') return StartWtIndex()+W0Right; 86 return StartWtIndex();} 60 87 61 int NbInput,NbOutput; 62 int_8 WSizeTot,WSize,WStep; 63 int_8 SNdeb,SNend; 64 int_8 StartSample,CurWtIndex; 65 int_8 TotNsCount; 66 r_8 R8DefVal; 88 int_2 DbgLevel; 89 int_4 NbInput,NbOutput; 90 int_4 WSizeTot,WSize,WStep; 91 int_4 WSizeLeft,WSizeCenter,WSizeRight, W0Left,W0Center,W0Right; 92 int_8 SNbegin,SNend; 93 int_8 TotNsCount,TotDecalCount; 94 r_8 R8DefVal; 67 95 int_8 I8DefVal; 96 97 int_4 CurWtIndex; // Prochain index a remplir dans le buffer WSizeTot 98 int_8 LastFilledSn; // Numero du dernier sample remplie 99 int_8 StartSample; // Numero de sample du 1er element du buffer WSize 100 68 101 vector< TVector<r_8> > WDataIn; 69 102 vector< TVector<int_8> > WFlagIn; 103 vector< bool > WInFlg; 70 104 vector< TVector<r_8> > WDataOut; 71 105 vector< TVector<int_8> > WFlagOut; 72 vector< bool > WInFlg;73 106 vector< bool > WOutFlg; 74 107 vector< bool > WPutOutFlg;
Note:
See TracChangeset
for help on using the changeset viewer.