Changeset 2037 in Sophya for trunk/ArchTOIPipe/Processors
- Timestamp:
- May 31, 2002, 10:10:58 AM (23 years ago)
- Location:
- trunk/ArchTOIPipe/Processors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ArchTOIPipe/Processors/nooppr.cc
r1994 r2037 3 3 // Christophe Magneville 4 4 // Reza Ansari 5 // $Id: nooppr.cc,v 1.1 0 2002-05-13 13:11:32ansari Exp $5 // $Id: nooppr.cc,v 1.11 2002-05-31 08:10:58 ansari Exp $ 6 6 7 7 #include <typeinfo> … … 16 16 if (wsz < 1) wsz = 1; 17 17 wsize = wsz; 18 delay2 = false; 18 19 totnscount = 0; 19 20 } … … 25 26 os << "\n ------------------------------------------------------ \n" 26 27 << " NoOpProcessor::PrintStatus() - WindowSize=" 27 << WSize() << endl; 28 << WSize(); 29 if (delay2) os << " Delay in2 ---> out2 " << endl; 30 else os << endl; 28 31 os << " Total number of processed samples= " << ProcessedSampleCount() 29 32 << endl; … … 91 94 } 92 95 if (fgin2 || fgout2) { 93 vin2 = new double[wsize]; 94 vfg2 = new uint_8[wsize]; 95 for(i=0; i<wsize; i++) { 96 int wsz2 = wsize; 97 if (delay2) wsz2 *= 2; 98 vin2 = new double[wsz2]; 99 vfg2 = new uint_8[wsz2]; 100 for(i=0; i<wsz2; i++) { 96 101 vin2[i] = defval; vfg2[i] = defflag; 97 102 } … … 100 105 // Boucle sur les sampleNum 101 106 // 1er partie, on traite par paquets de wsize 107 int kd2 = 0; 108 int lastk2in = 0; 102 109 for(k=snb;k<=sne-wsize+1;k+=wsize) { 103 110 if (fgin) 104 111 getData(0, k, wsize, vin, vfg); 105 if (fgin2) 106 getData(1, k, wsize, vin2, vfg2); 107 totnbblock++; 112 if (fgin2) { 113 kd2 = (delay2) ? (kd2+1)%2 : 0; 114 getData(1, k, wsize, vin2+kd2*wsize, vfg2+kd2*wsize); 115 lastk2in = k; 116 } 108 117 if (fgout) 109 118 putData(0, k, wsize, vin, vfg); 110 if (fgout2) 111 putData(1, k, wsize, vin2, vfg2); 119 if (fgout2 && (!delay2 || totnbblock > 1)) { 120 int kd2o = (delay2) ? (kd2+1)%2 : 0; 121 int nextk2o = (delay2) ? lastk2in-wsize : lastk2in; 122 putData(1, nextk2o, wsize, vin2+kd2o*wsize, vfg2+kd2o*wsize); 123 } 112 124 klast+=wsize; 113 125 totnscount+=wsize; 114 126 totnbblock++; 127 } 128 if (fgout2 && delay2) { 129 int kd2o = (kd2+1)%2; 130 putData(1, lastk2in, wsize, vin2+kd2o*wsize, vfg2+kd2o*wsize); 131 115 132 } 116 133 } -
trunk/ArchTOIPipe/Processors/nooppr.h
r2033 r2037 5 5 // Christophe Magneville 6 6 // Reza Ansari 7 // $Id: nooppr.h,v 1. 7 2002-05-30 20:44:31ansari Exp $7 // $Id: nooppr.h,v 1.8 2002-05-31 08:10:58 ansari Exp $ 8 8 9 9 … … 24 24 inline int WSize() const { return wsize; } 25 25 inline void SetWSize(int wsz) { if (wsz > 1) wsize = wsz; } 26 inline void SetDelay2(bool fg) { delay2 = fg; } 26 27 inline int_8 ProcessedSampleCount() const { return totnscount; } 27 28 … … 39 40 40 41 bool acceptnoinput; 42 bool delay2; 41 43 double defval; 42 44 long defflag;
Note:
See TracChangeset
for help on using the changeset viewer.