Changeset 342 in Sophya for trunk/Poubelle/archTOI.old/compress.h


Ignore:
Timestamp:
Aug 2, 1999, 3:45:52 PM (26 years ago)
Author:
ansari
Message:

archtoi 2 aout 99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Poubelle/archTOI.old/compress.h

    r315 r342  
    66/************************************************************************/
    77
    8 #ifndef int4
    9 #ifdef __alpha
    10 #define int4 int
    11 #else
    12 #define int4 long
    13 #endif
    14 #endif
    158
    169
     
    2417/*      pour    n = 72    en sortie     19 mots = 76 octets             */
    2518
    26 void compress_7_1(int4* in,int4*out,int n,int pasin);
     19void compress_7_1(unsigned int4* in,unsigned int4*out,int n,int pasin);
    2720void decompress_7_1(int4* in,int4*out,int n);
    2821
     
    3629/*      pour    n = 72    en sortie     11 mots = 44 octets             */
    3730
    38 void compress_4_1(int4* in,int4*out,int n,int pasin);
     31void compress_4_1(unsigned int4* in,unsigned int4*out,int n,int pasin);
    3932void decompress_4_1(int4* in,int4*out,int n);
    4033
     
    4942
    5043
    51 void compress_3_1(int4* in,int4*out,int n,int pasin);
     44void compress_3_1(unsigned int4* in,unsigned int4*out,int n,int pasin);
    5245void decompress_3_1(int4* in,int4*out,int n);
    5346
     
    7063
    7164
    72 void compress_7_2(int4* in,int4*out,int n,int pasin);
     65void compress_7_2(unsigned int4* in,unsigned int4*out,int n,int pasin);
    7366void decompress_7_2(int4* in,int4*out,int n);
    7467
     
    8578
    8679
    87 void compress_4_2(int4* in,int4*out,int n,int pasin);
     80void compress_4_2(unsigned int4* in,unsigned int4*out,int n,int pasin);
    8881void decompress_4_2(int4* in,int4*out,int n);
    8982
     
    9689/************************************************************************/
    9790
    98 /*Les valeures de la table d'entree sont consideres comme toujopurs positives   */
    99 /* les ecarts sont calculés signés sur 32 bit avant d'etre tronconnés           */
     91/*      tous les nombres sont des entiers unsigned long pour compress                           */
     92/*Les valeures de la table d'entree sont consideres comme toujours positives et sur 21 bits     */
     93/*  les valeurs de reference pour le calcul des ecarts sont augmentees de ecart_bit=0x10000000  */
     94/*      LES ECARTS SONT DES ENTIERS POSITIFS (ecart_bit +  valeur courante - valeur precedente) */
    10095
    101 #define shif(ec,k,q)    {while(ec>q)if(k<kmax_){k++;q<<=1;}else ec=q;while(ec<-q)if(k<kmax_){k++;q<<=1;}else ec=-q;}
    102 #define recup(ec,sss,k) {ec=((R>>sss)&emak_);if(ec & sgbi_ ) ec|= sign_ ; ec<<=k;}
    103 #define arrondi(ec,k)   ((ec &  filtre[k]) +( (ec & test[k]) <<1 ) )   
     96/*  pour tous les compresseurs  */
     97#define kmax_   15              /*  valeur maximum de l'exposant        */
     98#define ecart_bit       0x10000000
     99#define shif(ec,k,q)    {while(ec>(q|ecart_bit))if(k<kmax_){k++;q<<=1;}else ec=(q|ecart_bit);while(ec<ecart_bit-q)if(k<kmax_){k++;q<<=1;}else ec=ecart_bit-q;}
     100#define arrondi(ec,k)   ((ec &  filtre[k]) +( (ec & test[k]) <<1 ) ) /* resultat sur 28 bit  */
     101#define new_val(val,ec,k)       ((val + arrondi(ec,k))&data_mask);
    104102
     103/* pour les decompresseurs      */
     104#define recup(ec,sss,k) {ec=((R>>sss)&ecart_mask);if(ec & sgbi_ ) ec|= sign_ ; ec<<=k;}
     105
Note: See TracChangeset for help on using the changeset viewer.