Changeset 139 for trunk/src/SDMath.cc


Ignore:
Timestamp:
12/24/04 13:21:30 (19 years ago)
Author:
mar637
Message:

Added inSitu version of multiply/scale

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/SDMath.cc

    r130 r139  
    204204}
    205205
     206void SDMath::multiplyInSitu(SDMemTable* in, Float factor) {
     207  SDMemTable* sdmt = new SDMemTable(*in);
     208  Table t = sdmt->table();
     209  ArrayColumn<Float> spec(t,"SPECTRA"); 
     210  for (uInt i=0; i < t.nrow(); i++) {
     211    MaskedArray<Float> marr(sdmt->rowAsMaskedArray(i));
     212    marr *= factor;
     213    spec.put(i, marr.getArray());
     214  }
     215  in = sdmt;
     216  delete sdmt;sdmt=0;
     217}
     218
    206219CountedPtr<SDMemTable>
    207220SDMath::multiply(const CountedPtr<SDMemTable>& in, Float factor)
Note: See TracChangeset for help on using the changeset viewer.