diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/code/crc32.cxx')
-rw-r--r-- | Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/code/crc32.cxx | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/code/crc32.cxx b/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/code/crc32.cxx deleted file mode 100644 index 84af0f9144d..00000000000 --- a/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/code/crc32.cxx +++ /dev/null @@ -1,135 +0,0 @@ - // +++Date last modified: 05-Jul-1997 - -/* -** CRC Calculator by Paul Johnston -** Version 1.0 Copyright 10/9/96 (September) -** Explicitly released to the public domain 30-Oct-1996 by the author -*/ - -#include "crc.hpp" - -unsigned long -Reflect (unsigned long toref, char w) -{ - unsigned long v = 0; - - for (int i = 1; i < (w + 1); i++) - { - if (toref & 1L) - v |= 1L << (w - i); - toref >>= 1; - } - return v; -} - - -unsigned long -CrcCalc::Add (unsigned long crc, char *sCrc) -{ - crc ^= crxo; - if (fcrr) - { - while (*sCrc) - crc = (crc >> 8) ^ acrpt[(crc & 0xFF) ^ *sCrc++]; - } - else - { - while (*sCrc) - crc = (crc << 8) ^ acrpt[((crc >> (crwd - 8)) & 0xFF) ^ *sCrc++]; - } - return (crc ^ crxo) & (-1l >> (32 - crwd)); -} - -unsigned long -CrcCalc::Add (unsigned long crc, PData sCrc) -{ - crc ^= crxo; - if (fcrr) - { - while (sCrc.l--) - crc = (crc >> 8) ^ acrpt[(crc & 0xFF) ^ - *((unsigned char *) sCrc.pData)++]; - } - else - { - while (sCrc.l--) - crc = (crc << 8) ^ acrpt[((crc >> (crwd - 8)) & 0xFF) ^ - *((unsigned char *) sCrc.pData)++]; - } - return (crc ^ crxo) & (-1l >> (32 - crwd)); -} - -unsigned long -CrcCalc::Add (unsigned long crc, unsigned char sCrc) -{ - crc ^= crxo; - if (fcrr) - crc = (crc >> 8) ^ acrpt[(crc & 0xFF) ^ sCrc]; - else - crc = (crc << 8) ^ acrpt[((crc >> (crwd - 8)) & 0xFF) ^ sCrc]; - return (crc ^ crxo) & (-1l >> (32 - crwd)); -} - -unsigned long -CrcCalc::Init () -{ - return fcrr ? Reflect (crgi, crwd) ^ crxo : crgi ^ crxo; -} - -CrcCalc::CrcCalc (Crst crst) -{ - switch (crst) - { - case Crc16: - InitCalc (0x1021l, 0xFFFFl, 0l, 0, 16); - break; - case Crc32: - InitCalc (0x04C11DB7l, -1l, -1l, 1, 32); - break; - case JamCrc: - InitCalc (0x04C11DB7l, -1l, 0l, 1, 32); - break; - case XModemCrc: - InitCalc (0x8408l, 0l, 0l, 1, 16); - break; - case ZModemCrc16: - InitCalc (0x1021l, 0l, 0l, 0, 16); - break; - case ZModemCrc32: - InitCalc (0x04C11DB7l, -1l, -1l, 1, 32); - break; - } -} - -CrcCalc::CrcCalc (unsigned long crpNew, - unsigned long crgiNew, - unsigned long crxoNew, - unsigned char fcrrNew, unsigned char crwdNew) -{ - InitCalc (crpNew, crgiNew, crxoNew, fcrrNew, crwdNew); -} - -void -CrcCalc::InitCalc (unsigned long crpNew, - unsigned long crgiNew, - unsigned long crxoNew, - unsigned char fcrrNew, unsigned char crwdNew) -{ - crp = crpNew; - crgi = crgiNew; - crxo = crxoNew; - fcrr = fcrrNew; - crwd = crwdNew; - - // Calculate look-up table - - for (unsigned long i = 0; i <= 0xFF; i++) - { - acrpt[i] = (fcrr ? Reflect (i, 8) : i) << (crwd - 8); - for (unsigned long j = 0; j < 8; j++) - acrpt[i] = - (acrpt[i] << 1) ^ (acrpt[i] & (1l << (crwd - 1)) ? crp : 0); - if (fcrr) - acrpt[i] = Reflect (acrpt[i], crwd); - } -} |