Changeset 6461f57 for GenericIO.h


Ignore:
Timestamp:
06/15/18 15:18:49 (6 years ago)
Author:
Hal Finkel <hfinkel@…>
Branches:
master, pympi
Children:
2c47b73
Parents:
d6628a6
git-author:
Hal Finkel <hfinkel@…> (06/15/18 15:18:49)
git-committer:
Hal Finkel <hfinkel@…> (06/15/18 15:18:49)
Message:

start working on sz intrgration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GenericIO.h

    r5d57155 r6461f57  
    192192 
    193193public: 
     194  struct LossyCompressionInfo { 
     195    enum LCMode { 
     196      LCModeNone, 
     197      LCModeAbs, 
     198      LCModeRel, 
     199      LCModeAbsAndRel, 
     200      LCModeAbsOrRel, 
     201      LCModePSNR 
     202    }; 
     203 
     204    LCMode Mode; 
     205    double AbsErrThreshold; 
     206    double RelErrThreshold; 
     207    double PSNRThreshold; 
     208 
     209    LossyCompressionInfo() 
     210      : Mode(LCModeNone), AbsErrThreshold(0.0), 
     211        RelErrThreshold(0.0), PSNRThreshold(0.0) {} 
     212  }; 
     213 
    194214  class Variable { 
    195215  private: 
     
    232252  public: 
    233253    template <typename T> 
    234     Variable(const std::string &N, T* D, unsigned Flags = 0) 
     254    Variable(const std::string &N, T* D, unsigned Flags = 0, 
     255        const LossyCompressionInfo &LCI = LossyCompressionInfo()) 
    235256      : Name(N), Data((void *) D), HasExtraSpace(Flags & VarHasExtraSpace), 
    236257        IsPhysCoordX(Flags & VarIsPhysCoordX), 
    237258        IsPhysCoordY(Flags & VarIsPhysCoordY), 
    238259        IsPhysCoordZ(Flags & VarIsPhysCoordZ), 
    239         MaybePhysGhost(Flags & VarMaybePhysGhost) { 
     260        MaybePhysGhost(Flags & VarMaybePhysGhost), 
     261        LCI(LCI) { 
    240262      deduceTypeInfo(D); 
    241263    } 
     
    243265    template <typename T> 
    244266    Variable(const std::string &N, std::size_t NumElements, T* D, 
    245              unsigned Flags = 0) 
     267             unsigned Flags = 0, 
     268             const LossyCompressionInfo &LCI = LossyCompressionInfo()) 
    246269      : Name(N), Data((void *) D), HasExtraSpace(Flags & VarHasExtraSpace), 
    247270        IsPhysCoordX(Flags & VarIsPhysCoordX), 
    248271        IsPhysCoordY(Flags & VarIsPhysCoordY), 
    249272        IsPhysCoordZ(Flags & VarIsPhysCoordZ), 
    250         MaybePhysGhost(Flags & VarMaybePhysGhost) { 
     273        MaybePhysGhost(Flags & VarMaybePhysGhost), 
     274        LCI(LCI) { 
    251275      deduceTypeInfoFromElement(D); 
    252276      Size = ElementSize*NumElements; 
    253277    } 
    254278 
    255     Variable(const VariableInfo &VI, void *D, unsigned Flags = 0) 
     279    Variable(const VariableInfo &VI, void *D, unsigned Flags = 0, 
     280             const LossyCompressionInfo &LCI = LossyCompressionInfo()) 
    256281      : Name(VI.Name), Size(VI.Size), IsFloat(VI.IsFloat), 
    257282        IsSigned(VI.IsSigned), Data(D), 
     
    261286        IsPhysCoordZ((Flags & VarIsPhysCoordZ) || VI.IsPhysCoordZ), 
    262287        MaybePhysGhost((Flags & VarMaybePhysGhost) || VI.MaybePhysGhost), 
    263         ElementSize(VI.ElementSize) {} 
     288        ElementSize(VI.ElementSize), LCI(LCI) {} 
    264289 
    265290    std::string Name; 
     
    272297    bool MaybePhysGhost; 
    273298    std::size_t ElementSize; 
     299 
     300    LossyCompressionInfo LCI; 
    274301  }; 
    275302 
     
    341368  template <typename T> 
    342369  void addVariable(const std::string &Name, T *Data, 
    343                    unsigned Flags = 0) { 
    344     Vars.push_back(Variable(Name, Data, Flags)); 
     370                   unsigned Flags = 0, 
     371                   const LossyCompressionInfo &LCI = LossyCompressionInfo()) { 
     372    Vars.push_back(Variable(Name, Data, Flags, LCI)); 
    345373  } 
    346374 
    347375  template <typename T, typename A> 
    348376  void addVariable(const std::string &Name, std::vector<T, A> &Data, 
    349                    unsigned Flags = 0) { 
     377                   unsigned Flags = 0, 
     378                   const LossyCompressionInfo &LCI = LossyCompressionInfo()) { 
    350379    T *D = Data.empty() ? 0 : &Data[0]; 
    351     addVariable(Name, D, Flags); 
     380    addVariable(Name, D, Flags, LCI); 
    352381  } 
    353382 
    354383  void addVariable(const VariableInfo &VI, void *Data, 
    355                    unsigned Flags = 0) { 
    356     Vars.push_back(Variable(VI, Data, Flags)); 
     384                   unsigned Flags = 0, 
     385                   const LossyCompressionInfo &LCI = LossyCompressionInfo()) { 
     386    Vars.push_back(Variable(VI, Data, Flags, LCI)); 
    357387  } 
    358388 
    359389  template <typename T> 
    360390  void addScalarizedVariable(const std::string &Name, T *Data, 
    361                              std::size_t NumElements, unsigned Flags = 0) { 
    362     Vars.push_back(Variable(Name, NumElements, Data, Flags)); 
     391                             std::size_t NumElements, unsigned Flags = 0, 
     392                             const LossyCompressionInfo &LCI = LossyCompressionInfo()) { 
     393    Vars.push_back(Variable(Name, NumElements, Data, Flags, LCI)); 
    363394  } 
    364395 
    365396  template <typename T, typename A> 
    366397  void addScalarizedVariable(const std::string &Name, std::vector<T, A> &Data, 
    367                              std::size_t NumElements, unsigned Flags = 0) { 
     398                             std::size_t NumElements, unsigned Flags = 0, 
     399                             const LossyCompressionInfo &LCI = LossyCompressionInfo()) { 
    368400    T *D = Data.empty() ? 0 : &Data[0]; 
    369     addScalarizedVariable(Name, D, NumElements, Flags); 
     401    addScalarizedVariable(Name, D, NumElements, Flags, LCI); 
    370402  } 
    371403 
Note: See TracChangeset for help on using the changeset viewer.