Changeset 3520 in Sophya for trunk/SophyaPI/PIext/nomskymapadapter.cc
- Timestamp:
- Sep 11, 2008, 2:45:01 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomskymapadapter.cc
r3433 r3520 33 33 virtual ~LocalMapArrAdapter() { if (ad) delete map; } 34 34 virtual double Value(int ix, int iy) { return((*map)(ix, iy)); } 35 virtual double MeanVal(int ix1, int ix2, int jy1, int jy2) 36 { 37 int ec; 38 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 39 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 40 double ss = 0.; 41 for(int j=jy1; j<=jy2; j++) 42 for(int i=ix1; i<=ix2; i++) ss += (double)((*map)(i, j)); 43 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 44 return ss; 45 } 35 46 36 47 protected : … … 56 67 im = (*map)(iy, ix).imag(); 57 68 return(sqrt(re*re+im*im)); 69 } 70 71 /* --Methode-- */ 72 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 73 double LocalMapArrAdapter< complex<float> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 74 { 75 int ec; 76 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 77 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 78 complex<float> ss = 0.; 79 for(int j=jy1; j<=jy2; j++) 80 for(int i=ix1; i<=ix2; i++) ss += (*map)(i, j); 81 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 82 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 83 } 84 85 /* --Methode-- */ 86 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 87 double LocalMapArrAdapter< complex<double> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 88 { 89 int ec; 90 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 91 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 92 complex<double> ss = 0.; 93 for(int j=jy1; j<=jy2; j++) 94 for(int i=ix1; i<=ix2; i++) ss += (*map)(i, j); 95 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 96 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 58 97 } 59 98
Note:
See TracChangeset
for help on using the changeset viewer.