Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Changeset 3836

Show
Ignore:
Timestamp:
08/03/08 13:17:34 (4 months ago)
Author:
kris
Message:

fixes #1157 :: tango.io.digest.Crc32 speed-up (with version, for now)

thanks to gim

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tango/io/digest/Crc32.d

    r2809 r3836  
    4747                        for (int j = 8; j > 0; j--) 
    4848                        { 
     49                                version (Gim) 
     50                                { 
     51                                if (value & 1)  
     52                                   { 
     53                                   value >>>= 1; 
     54                                   value ^= polynomial; 
     55                                   } 
     56                                else 
     57                                   value >>>= 1; 
     58                                } 
     59                                else 
     60                                { 
    4961                                if (value & 1) { 
    5062                                        value &= 0xFFFFFFFE; 
     
    5870                                        value /= 2; 
    5971                                        value &= 0x7FFFFFFF; 
     72                                } 
    6073                                } 
    6174                        } 
     
    7285                        auto i = cast(ubyte) r;// & 0xff; 
    7386                        i ^= value; 
     87                        version (Gim) 
     88                        { 
     89                        r >>>= 8; 
     90                        } 
     91                        else 
     92                        { 
    7493                        r &= 0xFFFFFF00; 
    7594                        r /= 0x100; 
    7695                        r &= 16777215; 
     96                        } 
    7797                        r ^= table[i]; 
    7898                }