Ignore:
Timestamp:
09/28/18 16:32:55 (6 years ago)
Author:
Hal Finkel <hfinkel@…>
Branches:
master, pympi
Children:
e6aa0eb
Parents:
abca157
git-author:
Hal Finkel <hfinkel@…> (09/28/18 16:32:55)
git-committer:
Hal Finkel <hfinkel@…> (09/28/18 16:32:55)
Message:

importing new SZ files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • thirdparty/SZ/sz/src/TightDataPointStorageD.c

    r2c47b73 r9ee2ce3  
    4747        (*this)->pwrErrBoundBytes = NULL; 
    4848        (*this)->pwrErrBoundBytes_size = 0; 
     49         
     50        (*this)->raBytes = NULL; 
     51        (*this)->raBytes_size = 0; 
     52 
    4953} 
    5054 
     
    8488        int mode = confparams_dec->szMode; 
    8589        int predictionMode = confparams_dec->predictionMode; 
     90        int losslessCompressor = confparams_dec->losslessCompressor; 
    8691        if(confparams_dec!=NULL) 
    8792                free(confparams_dec); 
    8893        confparams_dec = params; 
    8994        confparams_dec->szMode = mode; 
     95        confparams_dec->losslessCompressor = losslessCompressor; 
     96         
    9097        if(mode==SZ_TEMPORAL_COMPRESSION) 
    9198        { 
     
    94101        } 
    95102        index += MetaDataByteLength; 
     103 
     104        int isRandomAccess = (sameRByte >> 7) & 0x01; 
    96105 
    97106        unsigned char dsLengthBytes[8]; 
     
    122131                (*this)->allSameData = 0; 
    123132                 
     133        if(isRandomAccess == 1) 
     134        { 
     135                (*this)->raBytes_size = flatBytesLength - 3 - 1 - MetaDataByteLength - exe_params->SZ_SIZE_TYPE; 
     136                (*this)->raBytes = &(flatBytes[index]); 
     137                return errorBoundMode; 
     138        }                                        
     139                 
    124140        int rtype_ = sameRByte & 0x08; //1000            
    125141 
     
    205221                (*this)->leadNumArray_size = (logicLeadNumBitsNum >> 3) + 1; 
    206222        } 
     223         
     224        int minLogValueSize = 0; 
     225        if(errorBoundMode>=PW_REL) 
     226                minLogValueSize = 8; 
    207227 
    208228        if ((*this)->rtypeArray != NULL)  
     
    210230                (*this)->residualMidBits_size = flatBytesLength - 3 - 1 - MetaDataByteLength - exe_params->SZ_SIZE_TYPE - 4 - radExpoL - segmentL - pwrErrBoundBytesL - 4 - 8 - 1 - 8  
    211231                                - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - 8 - (*this)->rtypeArray_size  
    212                                 - (*this)->typeArray_size - (*this)->leadNumArray_size 
     232                                - minLogValueSize - (*this)->typeArray_size - (*this)->leadNumArray_size 
    213233                                - (*this)->exactMidBytes_size - pwrErrBoundBytes_size; 
    214234                for (i = 0; i < (*this)->rtypeArray_size; i++) 
     
    218238        { 
    219239                (*this)->residualMidBits_size = flatBytesLength - 3 - 1 - MetaDataByteLength - exe_params->SZ_SIZE_TYPE - 4 - radExpoL - segmentL - pwrErrBoundBytesL - 4 - 8 - 1 - 8 
    220                                 - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - (*this)->typeArray_size 
     240                                - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - exe_params->SZ_SIZE_TYPE - minLogValueSize - (*this)->typeArray_size 
    221241                                - (*this)->leadNumArray_size - (*this)->exactMidBytes_size - pwrErrBoundBytes_size; 
    222242        }        
     243 
     244        if(errorBoundMode >= PW_REL){ 
     245                (*this)->minLogValue = bytesToDouble(&flatBytes[index]); 
     246                index+=8; 
     247        } 
    223248 
    224249        (*this)->typeArray = &flatBytes[index]; 
     
    423448                bytes[k++] = exactMidBytesLength[i]; 
    424449 
     450        if(confparams_cpr->errorBoundMode>=PW_REL) 
     451        { 
     452                doubleToBytes(exactMidBytesLength, tdps->minLogValue); 
     453                for(i = 0;i < 8; i++) 
     454                        bytes[k++] = exactMidBytesLength[i]; 
     455        } 
     456 
    425457        memcpy(&(bytes[k]), tdps->typeArray, tdps->typeArray_size); 
    426458        k += tdps->typeArray_size; 
     
    522554        memcpy(&(bytes[k]), tdps->rtypeArray, tdps->rtypeArray_size); 
    523555        k += tdps->rtypeArray_size;              
     556         
     557        if(confparams_cpr->errorBoundMode>=PW_REL) 
     558        { 
     559                doubleToBytes(exactMidBytesLength, tdps->minLogValue); 
     560                for(i = 0;i < 8; i++) 
     561                        bytes[k++] = exactMidBytesLength[i]; 
     562        } 
     563         
    524564        memcpy(&(bytes[k]), tdps->typeArray, tdps->typeArray_size); 
    525565        k += tdps->typeArray_size; 
     
    584624                size_t residualMidBitsLength = tdps->residualMidBits == NULL ? 0 : tdps->residualMidBits_size; 
    585625                size_t segmentL = 0, radExpoL = 0, pwrBoundArrayL = 0; 
     626 
     627                int minLogValueSize = 0; 
    586628                if(confparams_cpr->errorBoundMode>=PW_REL) 
    587629                {                        
     
    589631                        radExpoL = 1; 
    590632                        pwrBoundArrayL = 4; 
     633                        minLogValueSize = 8; 
    591634                } 
    592635 
    593636                size_t totalByteLength = 3 + 1 + MetaDataByteLength + exe_params->SZ_SIZE_TYPE + 4 + radExpoL + segmentL + pwrBoundArrayL + 4 + 8 + 1 + 8  
    594637                                + exe_params->SZ_SIZE_TYPE + exe_params->SZ_SIZE_TYPE + exe_params->SZ_SIZE_TYPE  
     638                                + minLogValueSize /*max absolute log value*/ 
    595639                                + tdps->typeArray_size + tdps->leadNumArray_size 
    596640                                + tdps->exactMidBytes_size + residualMidBitsLength + tdps->pwrErrBoundBytes_size; 
     
    606650                size_t residualMidBitsLength = tdps->residualMidBits == NULL ? 0 : tdps->residualMidBits_size; 
    607651                size_t segmentL = 0, radExpoL = 0, pwrBoundArrayL = 0; 
     652                int minLogValueSize = 0; 
    608653                if(confparams_cpr->errorBoundMode>=PW_REL) 
    609654                { 
     
    611656                        radExpoL = 1; 
    612657                        pwrBoundArrayL = 4; 
     658                        minLogValueSize = 8; 
    613659                } 
    614660 
    615661                size_t totalByteLength = 3 + 1 + MetaDataByteLength + exe_params->SZ_SIZE_TYPE + 4 + radExpoL + segmentL + pwrBoundArrayL + 4 + 8 + 1 + 8  
    616662                                + exe_params->SZ_SIZE_TYPE + exe_params->SZ_SIZE_TYPE + exe_params->SZ_SIZE_TYPE + exe_params->SZ_SIZE_TYPE + 8 + tdps->rtypeArray_size 
    617                                 + tdps->typeArray_size + tdps->leadNumArray_size  
     663                                + minLogValueSize + tdps->typeArray_size + tdps->leadNumArray_size  
    618664                                + tdps->exactMidBytes_size + residualMidBitsLength + tdps->pwrErrBoundBytes_size; 
    619665 
Note: See TracChangeset for help on using the changeset viewer.