Changeset 12562


Ignore:
Timestamp:
06/27/12 09:57:52 (13 years ago)
Author:
utke
Message:
 
Location:
issm/trunk-jpl/src/c/objects/ExternalResults
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/objects/ExternalResults/BoolExternalResult.cpp

    r12511 r12562  
    2727/*}}}*/
    2828/*FUNCTION BoolExternalResult::BoolExternalResult(int enum_type,bool value){{{*/
    29 BoolExternalResult::BoolExternalResult(int in_id, int in_enum_type,bool in_value,int in_step, IssmPDouble in_time){
     29BoolExternalResult::BoolExternalResult(int in_id, int in_enum_type,bool in_value,int in_step, IssmDouble in_time){
    3030
    3131        id=in_id;
     
    9090        int     type;
    9191        int     size;
    92         IssmPDouble  boolean;
     92        IssmPDouble  passiveDouble;
    9393        extern  int my_rank;
    9494        char*   name = NULL;
     
    105105
    106106        /*Now write time and step: */
    107         fwrite(&time,sizeof(IssmPDouble),1,fid);
     107        passiveDouble=reCast<IssmPDouble>(time);
     108        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    108109        fwrite(&step,sizeof(int),1,fid);
    109110
    110         /*Now write bool, after casting it: */
    111         boolean=(IssmPDouble)this->value;
    112 
    113         /*writing a IssmPDouble, type is 1, size is 1: */
     111        /*writing a IssmDouble, type is 1, size is 1: */
    114112        type=1;
    115113        size=1;
    116114        fwrite(&type,sizeof(int),1,fid);
    117115        fwrite(&size,sizeof(int),1,fid);
    118         fwrite(&boolean,size*sizeof(IssmPDouble),1,fid);
     116        /*Now write bool, after casting it: */
     117        passiveDouble=reCast<IssmPDouble>(this->value);
     118        fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid);
    119119
    120120}
  • issm/trunk-jpl/src/c/objects/ExternalResults/BoolExternalResult.h

    r12465 r12562  
    3030                bool   value;
    3131                int    step;
    32                 IssmPDouble time;
     32                IssmDouble time;
    3333
    3434                /*BoolExternalResult constructors, destructors: {{{*/
    3535                BoolExternalResult();
    36                 BoolExternalResult(int id, int enum_type,bool value,int step,IssmPDouble time);
     36                BoolExternalResult(int id, int enum_type,bool value,int step,IssmDouble time);
    3737                ~BoolExternalResult();
    3838                /*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleExternalResult.cpp

    r12511 r12562  
    2626}
    2727/*}}}*/
    28 /*FUNCTION DoubleExternalResult::DoubleExternalResult(int enum_type,IssmPDouble value){{{*/
    29 DoubleExternalResult::DoubleExternalResult(int in_id, int in_enum_type,IssmPDouble in_value,int in_step, IssmPDouble in_time){
     28/*FUNCTION DoubleExternalResult::DoubleExternalResult(int enum_type,IssmDouble value){{{*/
     29DoubleExternalResult::DoubleExternalResult(int in_id, int in_enum_type,IssmDouble in_value,int in_step, IssmDouble in_time){
    3030
    3131        id=in_id;
     
    9292        char   *name    = NULL;
    9393        extern  int my_rank;
     94        IssmPDouble passiveDouble;
    9495
    9596        /*return if now on cpu 0: */
     
    104105
    105106        /*Now write time and step: */
    106         fwrite(&time,sizeof(IssmPDouble),1,fid);
     107        passiveDouble=reCast<IssmPDouble>(time);
     108        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    107109        fwrite(&step,sizeof(int),1,fid);
    108110
    109         /*writing a IssmPDouble, type is 1, size is 1: */
     111        /*writing a IssmDouble, type is 1, size is 1: */
    110112        type=1;
    111113        size=1;
    112114        fwrite(&type,sizeof(int),1,fid);
    113115        fwrite(&size,sizeof(int),1,fid);
    114         fwrite(&this->value,size*sizeof(IssmPDouble),1,fid);
     116        passiveDouble=reCast<IssmPDouble>(this->value);
     117        fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid);
    115118
    116119}
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleExternalResult.h

    r12465 r12562  
    2929                int    id;
    3030                int    enum_type;
    31                 IssmPDouble value;
     31                IssmDouble value;
    3232                int    step;
    33                 IssmPDouble time;
     33                IssmDouble time;
    3434
    3535
    3636                /*DoubleExternalResult constructors, destructors: {{{*/
    3737                DoubleExternalResult();
    38                 DoubleExternalResult(int id,int enum_type,IssmPDouble value,int step,IssmPDouble time);
     38                DoubleExternalResult(int id,int enum_type,IssmDouble value,int step,IssmDouble time);
    3939                ~DoubleExternalResult();
    4040                /*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp

    r12511 r12562  
    2626}
    2727/*}}}*/
    28 /*FUNCTION DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int enum_type,IssmDoubleMat values,int M,int N,int in_step,IssmPDouble in_time){{{*/
    29 DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int in_enum_type,IssmPDouble* in_values, int in_M,int in_N,int in_step,IssmPDouble in_time){
     28/*FUNCTION DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int enum_type,IssmDoubleMat values,int M,int N,int in_step,IssmDouble in_time){{{*/
     29DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int in_enum_type,IssmDouble* in_values, int in_M,int in_N,int in_step,IssmDouble in_time){
    3030
    3131        id=in_id;
     
    3636        /*Copy result in values*/
    3737        if(M*N){
    38                 values=xNew<IssmPDouble>(M*N);
    39                 xMemCpy<IssmPDouble>(values,in_values,M*N);
     38                values=xNew<IssmDouble>(M*N);
     39                xMemCpy<IssmDouble>(values,in_values,M*N);
    4040        }
    4141        else values=NULL;
     
    4848DoubleMatExternalResult::~DoubleMatExternalResult(){
    4949
    50         xDelete<IssmPDouble>(this->values);
     50        xDelete<IssmDouble>(this->values);
    5151        return;
    5252}
     
    119119        char   *name    = NULL;
    120120        extern  int my_rank;
     121        IssmPDouble *passiveDouble_p=NULL;
     122        IssmPDouble passiveDouble;
    121123
    122124        if(io_gather){
     
    124126                if(my_rank) return;
    125127        }
     128
     129        passiveDouble_p=xNew<IssmPDouble>(M*N);
    126130
    127131        /*First write enum: */
     
    133137
    134138        /*Now write time and step: */
    135         fwrite(&time,sizeof(IssmPDouble),1,fid);
     139        passiveDouble=reCast<IssmPDouble>(time);
     140        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    136141        fwrite(&step,sizeof(int),1,fid);
    137142
    138         /*writing a IssmPDouble array, type is 3:*/
     143        /*writing a IssmDouble array, type is 3:*/
    139144        type=3;
    140145        fwrite(&type,sizeof(int),1,fid);
     
    143148        cols=this->N;
    144149        fwrite(&cols,sizeof(int),1,fid);
    145         fwrite(this->values,cols*rows*sizeof(IssmPDouble),1,fid);
     150        for (int i=0; i<N*M; ++i) passiveDouble_p[i]=reCast<IssmPDouble>(values[i]);
     151        fwrite(passiveDouble_p,cols*rows*sizeof(IssmPDouble),1,fid);
     152        xDelete(passiveDouble_p);
    146153
    147154}
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleMatExternalResult.h

    r12465 r12562  
    2727                int id;
    2828                int enum_type;
    29                 IssmPDouble* values;
     29                IssmDouble* values;
    3030                int M;
    3131                int N;
    3232                int step;
    33                 IssmPDouble time;
     33                IssmDouble time;
    3434
    3535        public:
    3636                /*DoubleMatExternalResult constructors, destructors: {{{*/
    3737                DoubleMatExternalResult();
    38                 DoubleMatExternalResult(int id,int enum_type,IssmPDouble* values,int M,int N,int step, IssmPDouble time);
     38                DoubleMatExternalResult(int id,int enum_type,IssmDouble* values,int M,int N,int step, IssmDouble time);
    3939                ~DoubleMatExternalResult();
    4040                /*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp

    r12520 r12562  
    2626}
    2727/*}}}*/
    28 /*FUNCTION DoubleVecExternalResult::DoubleVecExternalResult(int enum_type,IssmDoubleVec values,int M,int in_step,IssmPDouble in_time){{{*/
    29 DoubleVecExternalResult::DoubleVecExternalResult(int in_id, int in_enum_type,IssmPDouble* in_values, int in_M,int in_step,IssmPDouble in_time){
     28/*FUNCTION DoubleVecExternalResult::DoubleVecExternalResult(int enum_type,IssmDoubleVec values,int M,int in_step,IssmDouble in_time){{{*/
     29DoubleVecExternalResult::DoubleVecExternalResult(int in_id, int in_enum_type,IssmDouble* in_values, int in_M,int in_step,IssmDouble in_time){
    3030
    3131        id=in_id;
     
    3434
    3535        if(M){
    36                 values=xNew<IssmPDouble>(M);
    37                 xMemCpy<IssmPDouble>(values,in_values,M);
     36                values=xNew<IssmDouble>(M);
     37                xMemCpy<IssmDouble>(values,in_values,M);
    3838        }
    3939        else values=NULL;
     
    4545/*FUNCTION DoubleVecExternalResult::~DoubleVecExternalResult(){{{*/
    4646DoubleVecExternalResult::~DoubleVecExternalResult(){
    47         xDelete<IssmPDouble>(values);
     47        xDelete<IssmDouble>(values);
    4848        return;
    4949}
     
    111111        char   *name    = NULL;
    112112        extern  int my_rank;
     113        IssmPDouble *passiveDouble_p=NULL;
     114        IssmPDouble passiveDouble;
    113115
    114116        /*return if now on cpu 0: */
    115117        if(my_rank)return;
    116118
     119        passiveDouble_p=xNew<IssmPDouble>(M);
    117120        /*First write enum: */
    118121        EnumToStringx(&name,this->enum_type);
     
    123126
    124127        /*Now write time and step: */
    125         fwrite(&time,sizeof(IssmPDouble),1,fid);
     128        passiveDouble=reCast<IssmPDouble>(time);
     129        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    126130        fwrite(&step,sizeof(int),1,fid);
    127131
    128         /*writing a IssmPDouble, type is 1, size is 1: */
     132        /*writing a IssmDouble, type is 1, size is 1: */
    129133        type=1;
    130134        size=this->M;
    131135        fwrite(&type,sizeof(int),1,fid);
    132136        fwrite(&size,sizeof(int),1,fid);
    133         fwrite(this->values,size*sizeof(IssmPDouble),1,fid);
    134 
     137        for (int i=0; i<M; ++i) passiveDouble_p[i]=reCast<IssmPDouble>(values[i]);
     138        fwrite(passiveDouble_p,size*sizeof(IssmPDouble),1,fid);
     139        xDelete(passiveDouble_p);
    135140}
    136141/*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/DoubleVecExternalResult.h

    r12465 r12562  
    2727                int id;
    2828                int enum_type;
    29                 IssmPDouble* values;
     29                IssmDouble* values;
    3030                int M;
    3131                int step;
    32                 IssmPDouble time;
     32                IssmDouble time;
    3333
    3434        public:
    3535                /*DoubleVecExternalResult constructors, destructors: {{{*/
    3636                DoubleVecExternalResult();
    37                 DoubleVecExternalResult(int id,int enum_type,IssmPDouble* values,int M,int step, IssmPDouble time);
     37                DoubleVecExternalResult(int id,int enum_type,IssmDouble* values,int M,int step, IssmDouble time);
    3838                ~DoubleVecExternalResult();
    3939                /*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/IntExternalResult.cpp

    r12511 r12562  
    2626}
    2727/*}}}*/
    28 /*FUNCTION IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmPDouble in_time){{{*/
    29 IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmPDouble in_time){
     28/*FUNCTION IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmDouble in_time){{{*/
     29IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmDouble in_time){
    3030
    3131        id=in_id;
     
    9191        int     size;
    9292        char   *name    = NULL;
    93         IssmPDouble  integer;
     93        IssmPDouble  passiveDouble;
    9494        extern  int my_rank;
    9595
     
    105105
    106106        /*Now write time and step: */
    107         fwrite(&time,sizeof(IssmPDouble),1,fid);
     107        passiveDouble=reCast<IssmPDouble>(time);
     108        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    108109        fwrite(&step,sizeof(int),1,fid);
    109 
    110         /*cast to a IssmPDouble: */
    111         integer=(IssmPDouble)this->value;
    112110
    113111        /*writing a IssmPDouble, type is 1, size is 1: */
     
    116114        fwrite(&type,sizeof(int),1,fid);
    117115        fwrite(&size,sizeof(int),1,fid);
    118         fwrite(&integer,size*sizeof(IssmPDouble),1,fid);
     116        /*cast to a IssmPDouble: */
     117        passiveDouble=reCast<IssmPDouble>(value);
     118        fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid);
    119119
    120120}
  • issm/trunk-jpl/src/c/objects/ExternalResults/IntExternalResult.h

    r12465 r12562  
    2828                int    value;
    2929                int    step;
    30                 IssmPDouble time;
     30                IssmDouble time;
    3131
    3232
    3333                /*IntExternalResult constructors, destructors: {{{*/
    3434                IntExternalResult();
    35                 IntExternalResult(int id,int enum_type,int value,int step,IssmPDouble time);
     35                IntExternalResult(int id,int enum_type,int value,int step,IssmDouble time);
    3636                ~IntExternalResult();
    3737
  • issm/trunk-jpl/src/c/objects/ExternalResults/PetscVecExternalResult.cpp

    r12511 r12562  
    2727/*}}}*/
    2828/*FUNCTION PetscVecExternalResult::PetscVecExternalResult(int enum_type,IssmPetscVec value){{{*/
    29 PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vector* in_value,int in_step, IssmPDouble in_time){
     29PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vector* in_value,int in_step, IssmDouble in_time){
    3030
    3131        id=in_id;
     
    105105        IssmPDouble *serialvec = NULL;
    106106        extern int my_rank;
     107        IssmPDouble passiveDouble;
    107108
    108109        /*serialize: */
     
    121122
    122123        /*Now write time and step: */
    123         fwrite(&time,sizeof(IssmPDouble),1,fid);
     124        passiveDouble=reCast<IssmPDouble>(time);
     125        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    124126        fwrite(&step,sizeof(int),1,fid);
    125127
    126         /*writing a IssmPDouble, type is 1, size is 1: */
     128        /*writing a IssmDouble, type is 1, size is 1: */
    127129        type=1;
    128130       
     
    132134
    133135        /*Free ressources:*/
    134         xDelete<char>(serialvec);
     136        xDelete<IssmPDouble>(serialvec);
    135137}
    136138/*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/PetscVecExternalResult.h

    r12465 r12562  
    3030                Vector* value;
    3131                int step;
    32                 IssmPDouble time;
     32                IssmDouble time;
    3333
    3434        public:
    3535                /*PetscVecExternalResult constructors, destructors: {{{*/
    3636                PetscVecExternalResult();
    37                 PetscVecExternalResult(int id,int enum_type,Vector* value, int step, IssmPDouble time);
     37                PetscVecExternalResult(int id,int enum_type,Vector* value, int step, IssmDouble time);
    3838                ~PetscVecExternalResult();
    3939                /*}}}*/
  • issm/trunk-jpl/src/c/objects/ExternalResults/StringExternalResult.cpp

    r12511 r12562  
    2727/*}}}*/
    2828/*FUNCTION StringExternalResult::StringExternalResult(int enum_type,IssmString value){{{*/
    29 StringExternalResult::StringExternalResult(int in_id, int in_enum_type,char* in_value,int in_step, IssmPDouble in_time){
     29StringExternalResult::StringExternalResult(int in_id, int in_enum_type,char* in_value,int in_step, IssmDouble in_time){
    3030
    3131        id=in_id;
     
    9393        char   *name      = NULL;
    9494        extern  int my_rank;
     95        IssmPDouble passiveDouble;
    9596
    9697        /*return if now on cpu 0: */
     
    105106
    106107        /*Now write time and step: */
    107         fwrite(&time,sizeof(IssmPDouble),1,fid);
     108        passiveDouble=reCast<IssmPDouble>(time);
     109        fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid);
    108110        fwrite(&step,sizeof(int),1,fid);
    109111
  • issm/trunk-jpl/src/c/objects/ExternalResults/StringExternalResult.h

    r12465 r12562  
    3030                char*  value;
    3131                int    step;
    32                 IssmPDouble time;
     32                IssmDouble time;
    3333
    3434        public:
    3535                /*StringExternalResult constructors, destructors: {{{*/
    3636                StringExternalResult();
    37                 StringExternalResult(int id,int enum_type,char* value,int step, IssmPDouble time);
     37                StringExternalResult(int id,int enum_type,char* value,int step, IssmDouble time);
    3838                ~StringExternalResult();
    3939                /*}}}*/
Note: See TracChangeset for help on using the changeset viewer.