Changeset 2587 in Sophya for trunk/SophyaLib/TArray
- Timestamp:
- Jul 30, 2004, 3:31:39 PM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/tarray.cc
r2575 r2587 533 533 pe = Data(); 534 534 per = res.Data(); 535 for(k=0; k<maxx; k++) { *per = (*pe)+x; per++; pe++; }535 for(k=0; k<maxx; k++) *per++ = *pe++ + x; 536 536 } 537 537 else { // Non regular data spacing ... … … 577 577 per = res.Data(); 578 578 if (!fginv) 579 for(k=0; k<maxx; k++) { *per = (*pe)-x; per++; pe++; }579 for(k=0; k<maxx; k++) *per++ = *pe++ - x; 580 580 else 581 for(k=0; k<maxx; k++) { *per = x-(*pe); per++; pe++; }581 for(k=0; k<maxx; k++) *per++ = x - *pe++; 582 582 } 583 583 else { // Non regular data spacing ... … … 624 624 pe = Data(); 625 625 per = res.Data(); 626 for(k=0; k<maxx; k++) { *per = (*pe)*x; per++; pe++; }626 for(k=0; k<maxx; k++) *per++ = *pe++ * x; 627 627 } 628 628 else { // Non regular data spacing ... … … 670 670 per = res.Data(); 671 671 if (!fginv) 672 for(k=0; k<maxx; k++) { *per = (*pe)/x; per++; pe++; }672 for(k=0; k<maxx; k++) *per++ = *pe++ / x; 673 673 else 674 for(k=0; k<maxx; k++) { *per = x/(*pe); per++; pe++; }674 for(k=0; k<maxx; k++) *per++ = x / *pe++; 675 675 } 676 676 else { // Non regular data spacing ... … … 715 715 pe = Data(); 716 716 per = res.Data(); 717 for(k=0; k<maxx; k++) { *per = -(*pe); per++; pe++; }717 for(k=0; k<maxx; k++) *per++ = -(*pe++); 718 718 } 719 719 else { // Non regular data spacing ... … … 771 771 pea = a.Data(); 772 772 per = res.Data(); 773 for(k=0; k<maxx; k++, pe++, pea++, per++) *per = *pe + *pea ; 773 // for(k=0; k<maxx; k++, pe++, pea++, per++) *per = *pe + *pea ; 774 for(k=0; k<maxx; k++) *per++ = *pe++ + *pea++ ; 774 775 } 775 776 else { // Non regular data spacing ... … … 839 840 per = res.Data(); 840 841 if (!fginv) 841 for(k=0; k<maxx; k++ , pe++, pea++, per++) *per = *pe - *pea;842 for(k=0; k<maxx; k++) *per++ = *pe++ - *pea++ ; 842 843 else 843 for(k=0; k<maxx; k++ , pe++, pea++, per++) *per = *pea - *pe;844 for(k=0; k<maxx; k++) *per++ = *pea++ - *pe++ ; 844 845 } 845 846 else { // Non regular data spacing ... … … 910 911 pea = a.Data(); 911 912 per = res.Data(); 912 for(k=0; k<maxx; k++ , pe++, pea++, per++ ) *per = (*pe) * (*pea);913 for(k=0; k<maxx; k++) *per++ = *pe++ * *pea++ ; 913 914 } 914 915 else { // Non regular data spacing ... … … 981 982 if(divzero) { 982 983 if (!fginv) 983 for(k=0; k<maxx; k++ , pe++, pea++, per++)984 if (*pea==(T)0) *per = (T)0; else *per = *pe / *pea;984 for(k=0; k<maxx; k++) 985 if (*pea==(T)0) *per = (T)0; else *per++ = *pe++ / *pea++ ; 985 986 else 986 for(k=0; k<maxx; k++ , pe++, pea++, per++)987 if (*pe==(T)0) *per = (T)0; else *per = *pea / *pe;987 for(k=0; k<maxx; k++) 988 if (*pe==(T)0) *per = (T)0; else *per++ = *pea++ / *pe++ ; 988 989 } 989 990 else { 990 991 if (!fginv) 991 for(k=0; k<maxx; k++ , pe++, pea++, per++ ) *per = *pe / *pea;992 for(k=0; k<maxx; k++) *per++ = *pe++ / *pea++ ; 992 993 else 993 for(k=0; k<maxx; k++ , pe++, pea++, per++ ) *per = *pea / *pe;994 for(k=0; k<maxx; k++) *per = *pea++ / *pe++ ; 994 995 } 995 996 } … … 1052 1053 sa_size_t j,k; 1053 1054 if (smo && (AvgStep() > 0) && (a.AvgStep() > 0) ) { // regularly spaced elements 1054 sa_size_t step = AvgStep(); 1055 sa_size_t stepa = a.AvgStep(); 1056 sa_size_t maxx = totsize_*step; 1057 pe = Data(); 1058 pea = a.Data(); 1059 for(k=0; k<maxx; k+=step, pe+=step, pea+=stepa ) *pe = *pea ; 1055 if (IsPacked() && a.IsPacked()) memcpy(Data(), a.Data(), totsize_*sizeof(T)); // Packed arrays 1056 else { 1057 sa_size_t step = AvgStep(); 1058 sa_size_t stepa = a.AvgStep(); 1059 sa_size_t maxx = totsize_*step; 1060 pe = Data(); 1061 pea = a.Data(); 1062 for(k=0; k<maxx; k+=step, pe+=step, pea+=stepa ) *pe = *pea ; 1063 } 1060 1064 } 1061 1065 else { // Non regular data spacing ... … … 1129 1133 pe = Data(); 1130 1134 pea = a.Data(); 1131 for(k=0; k<maxx; k++ , pe++, pea++) res += (*pe)*(*pea);1135 for(k=0; k<maxx; k++) res += *pe++ * *pea++; 1132 1136 } 1133 1137 else { // Non regular data spacing ...
Note:
See TracChangeset
for help on using the changeset viewer.