linux/lib/crc32.c
<<
>>
Prefs
   1/*
   2 * Aug 8, 2011 Bob Pearson with help from Joakim Tjernlund and George Spelvin
   3 * cleaned up code to current version of sparse and added the slicing-by-8
   4 * algorithm to the closely similar existing slicing-by-4 algorithm.
   5 *
   6 * Oct 15, 2000 Matt Domsch <Matt_Domsch@dell.com>
   7 * Nicer crc32 functions/docs submitted by linux@horizon.com.  Thanks!
   8 * Code was from the public domain, copyright abandoned.  Code was
   9 * subsequently included in the kernel, thus was re-licensed under the
  10 * GNU GPL v2.
  11 *
  12 * Oct 12, 2000 Matt Domsch <Matt_Domsch@dell.com>
  13 * Same crc32 function was used in 5 other places in the kernel.
  14 * I made one version, and deleted the others.
  15 * There are various incantations of crc32().  Some use a seed of 0 or ~0.
  16 * Some xor at the end with ~0.  The generic crc32() function takes
  17 * seed as an argument, and doesn't xor at the end.  Then individual
  18 * users can do whatever they need.
  19 *   drivers/net/smc9194.c uses seed ~0, doesn't xor with ~0.
  20 *   fs/jffs2 uses seed 0, doesn't xor with ~0.
  21 *   fs/partitions/efi.c uses seed ~0, xor's with ~0.
  22 *
  23 * This source code is ent"> * T28>
  
  
65P domaiL* T28>,n>
 214 * I madVn of sp2me ueeop9.3cont COPYING 

  moriodetailpan>
 215 * Ther/n>
 216 217 * se/d as :ch c, ands of 2.c#L15txt 

  aodescri valueor ithm.
 218 219+v3.82.c#L15hspan/sparef="lib/crc32.c#L3" id=="L20" c3ass="line" name="L20"> 320+v3.82module5hspan/sparef="lib/crc32.c#L3" id=="L21" c3ass="line" name="L21"> 321+v3.82"hids5hspan/sparef="lib/crc32.c#L3" id=="L22" c3ass="line" name="L22"> 322.c#L3defs5hspan/quot_ref="lib/crc32.c#L3" id=="L3" claass="line" name="L3">   23 314CRC_LE_BITSspan /spa 8ref="lib/crc32.c#L15" i3="L15" c3ass="line" name="L15"> 315tolespan(ef="+prefsis e=xss="searchlib">xspan) ((ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=u3ass="line"hlib">u32span) ef="+prefsis e=_entsstion_cpu_to_le3ass="line"hlib">_entsstion_cpu_to_le3aspan(ef="+prefsis e=xss="searchlib">xspan))ref="lib/crc32.c#L15" i3="L16" c3ass="line" name="L16"> 316 317tolespan(ef="+prefsis e=xss="searchlib">xspan) (ef="+prefsis e=xss="searchlib">xspan)ref="lib/crc32.c#L15" i3="L18" c3ass="line" name="L18"> 318 319 420CRC_BE_BITSspan /spa 8ref="lib/crc32.c#L15" i4="L21" c4ass="line" name="L21"> 421tobespan(ef="+prefsis e=xss="searchlib">xspan) ((ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=u3ass="line"hlib">u32span) ef="+prefsis e=_entsstion_cpu_to_be3ass="line"hlib">_entsstion_cpu_to_be3aspan(ef="+prefsis e=xss="searchlib">xspan))ref="lib/crc32.c#L15" i4="L22" c4ass="line" name="L22"> 422  423tobespan(ef="+prefsis e=xss="searchlib">xspan) (ef="+prefsis e=xss="searchlib">xspan)ref="lib/crc32.c#L15" i4="L4" claass="line" name="L4">   14 415 416.c#L1table5hspan/quot_ref="lib/crc32.c#L3" id4="L17" c4ass="line" name="L17"> 417 418MODULE_AUTHORspan(eclass="commestring"n/quot_Domsch <Matt_Domsch@dell.com>
 419MODULE_DESCRIPTIONspan(eclass="commestring"n/quot_Vs incanCRC32 calculs of caquot_e>
 520MODULE_LICENSEspan(eclass="commestring"n/quot_GPLaquot_e>
 521 522CRC_LE_BITSspan /spa 8 ||ref="+prefsis e=CRC_BE_BITSss="searchlib">CRC_BE_BITSspan /spa 8ref="lib/crc32.c#L15" i5="L3" cl5ass="line" name="L3">  523  514 * I /d imple> * sing-by-4 algor
  ng-by-8
   15in namspan ef="+prefsis e=u3ass="line"hlib">u32spanref="lib/crc32.c#L15" i5="L16" c5ass="line" name="L16"> 516.c#L1_bodyspan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=bufss="line"hlib">bufspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan, ntsst ef="+prefsis e=u3ass="line"hlib">u32span (*ef="+prefsis e=tabss="searchlib">tabspan)[256])ref="lib/crc32.c#L15" i5="L17" c5ass="line" name="L17"> 517 518_eLITTLE_ENDIANspanref="lib/crc32.c#L15" i5="L19" c5ass="line" name="L19"> 519DO_CRCspan(ef="+prefsis e=xss="searchlib">xspan) ef="+prefsis e=.c#ss="line"hlib">.c#span =ref="+prefsis e=t0ss="searchlib">t0span[(ef="+prefsis e=.c#ss="line"hlib">.c#span ^ (ef="+prefsis e=xss="searchlib">xspan)) & 255] ^ (ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 620DO_CRC4span (ef="+prefsis e=t3ss="searchlib">t3span[(ef="+prefsis e=qss="searchlib">qspan) & 255] ^ ef="+prefsis e=tass="line"hlib">t2span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 621t1span[(ef="+prefsis e=qss="searchlib">qspan gt;">t0span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 622DO_CRC8span (ef="+prefsis e=t7ss="searchlib">t7span[(ef="+prefsis e=qss="searchlib">qspan) & 255] ^ ef="+prefsis e=t6ss="searchlib">t6span[(ef="+prefsis e=qss="searchlib">qspan gt;">  623t5span[(ef="+prefsis e=qss="searchlib">qspan gt;">t4span[(ef="+prefsis e=qss="searchlib">qspan gt;">  614  615DO_CRCspan(ef="+prefsis e=xss="searchlib">xspan) ef="+prefsis e=.c#ss="line"hlib">.c#span =ref="+prefsis e=t0ss="searchlib">t0span[((ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">xspan)) & 255] ^ (ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 8)ref="lib/crc32.c#L15" i6="L6" claass="line" name="L6">   16DO_CRC4span (ef="+prefsis e=t0ss="searchlib">t0span[(ef="+prefsis e=qss="searchlib">qspan) & 255] ^ ef="+prefsis e=t1ss="line"hlib">t1span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 617t2span[(ef="+prefsis e=qss="searchlib">qspan gt;">t3span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 618DO_CRC8span (ef="+prefsis e=t4ss="searchlib">t4span[(ef="+prefsis e=qss="searchlib">qspan) & 255] ^ ef="+prefsis e=t5ss="searchlib">t5span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 619t6span[(ef="+prefsis e=qss="searchlib">qspan gt;">t7span[(ef="+prefsis e=qss="searchlib">qspan gt;"> 720 721u32span *ef="+prefsis e=bss="line"hlib">bspan_ref="lib/crc32.c#L3" id7="L22" c7ass="line" name="L22"> 722size_tspan    ef="+prefsis e=rem_lame=="line"hlib">rem_lamspan_ref="lib/crc32.c#L3" id7="L3" cl7ass="line" name="L3">  723CONFIG_X86spanref="lib/crc32.c#L15" i7="L4" cl7ass="line" name="L4">  714size_tspan ef="+prefsis e=ie=="searchlib">ispan_ref="lib/crc32.c#L3" id7="L5" cl7ass="line" name="L5">  715  716u32span *ef="+prefsis e=t0ss="searchlib">t0span=ef="+prefsis e=tabss="searchlib">tabspan[0], *ef="+prefsis e=t1ss="line"hlib">t1span=ef="+prefsis e=tabss="searchlib">tabspan[1], *ef="+prefsis e=tass="line"hlib">t2span=ef="+prefsis e=tabss="searchlib">tabspan[2], *ef="+prefsis e=t3ss="searchlib">t3span=ef="+prefsis e=tabss="searchlib">tabspan[3]_ref="lib/crc32.c#L3" id7="L7" claass="line" name="L7">   17CRC_LE_BITSspan != 32ref="lib/crc32.c#L3" id7="L18" c7ass="line" name="L18"> 718u32span *ef="+prefsis e=t4ss="searchlib">t4span =ref="+prefsis e=tabss="searchlib">tabspan[4], *ef="+prefsis e=t5ss="searchlib">t5span =ref="+prefsis e=tabss="searchlib">tabspan[5], *ef="+prefsis e=t6ss="searchlib">t6span =ref="+prefsis e=tabss="searchlib">tabspan[6], *ef="+prefsis e=t7ss="searchlib">t7span =ref="+prefsis e=tabss="searchlib">tabspan[7]_ref="lib/crc32.c#L3" id7="L19" c7ass="line" name="L19"> 719 820u32span ef="+prefsis e=qss="searchlib">qspan_ref="lib/crc32.c#L3" id8="L21" c8ass="line" name="L21"> 821 822 * I /d Align ithr/n>
  823unlikelyspan((long)ef="+prefsis e=bufss="line"hlib">bufspan & 3 && ef="+prefsis e=lame=="line"hlib">lamspan)) {ref="lib/crc32.c#L15" i8="L4" cl8ass="line" name="L4">  814  815DO_CRCspan(*ef="+prefsis e=bufss="line"hlib">bufspan++)_ref="lib/crc32.c#L3" id8="L6" cl8ass="line" name="L6">  816lamspan) && ((long)ef="+prefsis e=bufss="line"hlib">bufspan)&3)_ref="lib/crc32.c#L3" id8="L7" cl8ass="line" name="L7">  817   18 819CRC_LE_BITSspan == 32ref="lib/crc32.c#L3" id9="L20" c9ass="line" name="L20"> 920rem_lamspan =ref="+prefsis e=lame=="line"hlib">lamspan & 3_ref="lib/crc32.c#L3" id9="L21" c9ass="line" name="L21"> 921lamspan =ref="+prefsis e=lame=="line"hlib">lamspan &t;"> 922  923rem_lamspan =ref="+prefsis e=lame=="line"hlib">lamspan & 7_ref="lib/crc32.c#L3" id9="L4" cl9ass="line" name="L4">  914lamspan =ref="+prefsis e=lame=="line"hlib">lamspan &t;">  915  916  917bspan =r(ntsst ef="+prefsis e=u3ass="line"hlib">u32span *)ef="+prefsis e=bufss="line"hlib">bufspan_ref="lib/crc32.c#L3" id9="L8" cl9ass="line" name="L8">  918CONFIG_X86spanref="lib/crc32.c#L15" i9="L9" claass="line" name="L9">   19bspan_ref="lib/crc32.c#L3" id10="L10" claass="line" name="L10">  120ispan =r0; ef="+prefsis e=ie=="searchlib">ispan gtt_ ef="+prefsis e=lame=="line"hlib">lamspan; ef="+prefsis e=ie=="searchlib">ispan++) {ref="lib/crc32.c#L15" i10="L11" cl0ass="line" name="L11">  010  020bspan_ ef="+prefsis e=lame=="line"hlib">lamspan; --ef="+prefsis e=lame=="line"hlib">lamspan) {ref="lib/crc32.c#L15" i10="L13" cl0ass="line" name="L13">  030  040qspan =ref="+prefsis e=.c#ss="line"hlib">.c#span ^ *++ef="+prefsis e=bss="line"hlib">bspan_ eclass="comment"> * I /d  seelassincre> *  

  sp0, xr/n>
  050CRC_LE_BITSspan == 32ref="lib/crc32.c#L3" id10="L16" cl0ass="line" name="L16">  060.c#span =ref="+prefsis e=DO_CRC4ss="searchlib">DO_CRC4span_ref="lib/crc32.c#L3" id10="L17" cl0ass="line" name="L17">  070  080.c#span =ref="+prefsis e=DO_CRC8ss="searchlib">DO_CRC8span_ref="lib/crc32.c#L3" id10="L19" cl0ass="line" name="L19">  090qspan =r*++ef="+prefsis e=bss="line"hlib">bspan_ref="lib/crc32.c#L11" id=="L10" cllass="line" name="L10">   10.c#span ^=ref="+prefsis e=DO_CRC4ss="searchlib">DO_CRC4span_ref="lib/crc32.c#L3" id1d="L11" claass="line" name="L11">  110   12   13lamspan =ref="+prefsis e=rem_lame=="line"hlib">rem_lamspan_ref="lib/crc32.c#L3" id1d="L14" cllass="line" name="L14">   14 * I /d An other"co  
ew byteser/n>
   15lamspan) {ref="lib/crc32.c#L15" i1d="L16" cllass="line" name="L16">   16u8span *ef="+prefsis e=pss="searchlib">pspan =r(ef="+prefsis e=u8ss="searchlib">u8span *)(ef="+prefsis e=bss="line"hlib">bspan + 1) - 1_ref="lib/crc32.c#L3" id1d="L17" cllass="line" name="L17">   17CONFIG_X86spanref="lib/crc32.c#L15" i1d="L18" cllass="line" name="L18">   18ispan =r0; ef="+prefsis e=ie=="searchlib">ispan gtt_ ef="+prefsis e=lame=="line"hlib">lamspan; ef="+prefsis e=ie=="searchlib">ispan++)ref="lib/crc32.c#L15" i1d="L19" cllass="line" name="L19">   19DO_CRCspan(*++ef="+prefsis e=pss="searchlib">pspan)_ eclass="comment"> * I /d  seelassincre> *  

  sp0, xr/n>
 1 20 1 21 1 22DO_CRCspan(*++ef="+prefsis e=pss="searchlib">pspan)_ eclass="comment"> * I /d  seelassincre> *  

  sp0, xr/n>
 1 23lamspan)_ref="lib/crc32.c#L3" id1d="L14" c12ass="line" name="L14"> 1214 1215 1216.c#span_ref="lib/crc32.c#L3" id1d="L17" cl2ass="line" name="L17"> 1217DO_CRCspanref="lib/crc32.c#L3" id1d="L18" cl2ass="line" name="L18"> 1218DO_CRC4spanref="lib/crc32.c#L3" id1d="L19" cl2ass="line" name="L19"> 1219DO_CRC8spanref="lib/crc32.c#L3" id1=="L20" c13ass="line" name="L20"> 1320 1321 1322  1 23 * Th/*an>
 1314 * I mad.c#L1_le() - Calculs e bitwiseelittle-eduaassE.
 1315 * There@.c#: ~0, x="">
 

  nt"puds of .  ~0 

  E.
 1316 * Some       placeseed,r
  ublicrevincan.c#L1x="">
 ifrnt"pudliciincre> * allyan>
 1317 * seed @p: point ruan>
 1318 * users@lam: lamgtheor buff 
 1319 *   dr/n>
 1420in namspan ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_le_ic crc3ss="line"hlib">.c#L1_le_ic crc3span(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan,ref="lib/crc32.c#L15" i14="L21" c14ass="line" name="L21"> 1421size_tspan ef="+prefsis e=lame=="line"hlib">lamspan, ntsst ef="+prefsis e=u3ass="line"hlib">u32span (*ef="+prefsis e=tabss="searchlib">tabspan)[256],ref="lib/crc32.c#L15" i14="L22" c14ass="line" name="L22"> 1422u32span ef="+prefsis e=polynomialss="searchlib">polynomialspan)ref="lib/crc32.c#L15" i14="L3" cl14ass="line" name="L3">  1423  1 14CRC_LE_BITSspan == 1ref="lib/crc32.c#L15" i14="L15" c14ass="line" name="L15"> 1415ispan_ref="lib/crc32.c#L3" id14="L16" c14ass="line" name="L16"> 1416lamspan--) {ref="lib/crc32.c#L15" i14="L17" c14ass="line" name="L17"> 1417.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++_ref="lib/crc32.c#L3" id14="L18" c14ass="line" name="L18"> 1418ispan =r0; ef="+prefsis e=ie=="searchlib">ispan gtt_ 8; ef="+prefsis e=ie=="searchlib">ispan++)ref="lib/crc32.c#L15" i14="L19" c14ass="line" name="L19"> 1419.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">.c#span gamp; 1) ? ef="+prefsis e=polynomialss="searchlib">polynomialspan : 0)_ref="lib/crc32.c#L3" id15="L20" c15ass="line" name="L20"> 1520 1521elifspan ef="+prefsis e=CRC_LE_BITSss="searchlib">CRC_LE_BITSspan == 2ref="lib/crc32.c#L3" id15="L22" c15ass="line" name="L22"> 1522lamspan--) {ref="lib/crc32.c#L15" i15="L3" cl15ass="line" name="L3">  1523.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++_ref="lib/crc32.c#L3" id15="L4" cl15ass="line" name="L4">  1514.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 3]_ref="lib/crc32.c#L3" id15="L5" cl1aass="line" name="L5">  1 15.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 3]_ref="lib/crc32.c#L3" id15="L16" c15ass="line" name="L16"> 1516.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 3]_ref="lib/crc32.c#L3" id15="L17" c15ass="line" name="L17"> 1517.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 3]_ref="lib/crc32.c#L3" id15="L18" c15ass="line" name="L18"> 1518 1519elifspan ef="+prefsis e=CRC_LE_BITSss="searchlib">CRC_LE_BITSspan == 4ref="lib/crc32.c#L3" id16="L20" c16ass="line" name="L20"> 1620lamspan--) {ref="lib/crc32.c#L15" i16="L21" c16ass="line" name="L21"> 1621.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++_ref="lib/crc32.c#L3" id16="L22" c16ass="line" name="L22"> 1622.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 15]_ref="lib/crc32.c#L3" id16="L3" cl16ass="line" name="L3">  1623.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 15]_ref="lib/crc32.c#L3" id16="L4" cl16ass="line" name="L4">  1614  1615elifspan ef="+prefsis e=CRC_LE_BITSss="searchlib">CRC_LE_BITSspan == 8ref="lib/crc32.c#L15" i16="L6" cl1aass="line" name="L6">  1 16 * I /d aka Sarws e ithm to thr/n>
 1617lamspan--) {ref="lib/crc32.c#L15" i16="L18" c16ass="line" name="L18"> 1618.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++_ref="lib/crc32.c#L3" id16="L19" c16ass="line" name="L19"> 1619.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gt;">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 255]_ref="lib/crc32.c#L3" id17="L20" c17ass="line" name="L20"> 1720 1721 1722.c#span =r(ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=u3ass="line"hlib">u32span) ef="+prefsis e=_enpu_to_le3ass="line"hlib">_enpu_to_le3aspan(ef="+prefsis e=.c#ss="line"hlib">.c#span)_ref="lib/crc32.c#L3" id17="L3" cl17ass="line" name="L3">  1723.c#span =ref="+prefsis e=.c#L1_bodyss="line"hlib">.c#L1_bodyspan(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan, ef="+prefsis e=tabss="searchlib">tabspan)_ref="lib/crc32.c#L3" id17="L4" cl17ass="line" name="L4">  1714.c#span =ref="+prefsis e=__le3a_to_npuss="line"hlib">_ele3a_to_npuspan((ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=__le3ass="line"hlib">_ele3aspan)ef="+prefsis e=.c#ss="line"hlib">.c#span)_ref="lib/crc32.c#L3" id17="L5" cl17ass="line" name="L5">  1715  1716.c#span_ref="lib/crc32.c#L3" id17="L7" cl1aass="line" name="L7">  1 17 1718 1719CRC_LE_BITSspan == 1ref="lib/crc32.c#L15" i18="L20" c18ass="line" name="L20"> 1820u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_less="line"hlib">.c#L1_lespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i18="L21" c18ass="line" name="L21"> 1821 1822.c#L1_le_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan, ef="+prefsis e=NULLe=="line"hlib">NULLspan, ef="+prefsis e=CRCPOLY_LEss="searchlib">CRCPOLY_LEspan)_ref="lib/crc32.c#L3" id18="L3" cl18ass="line" name="L3">  1823  1814u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=_enc#L3c_less="line"hlib">_enc#L3c_lespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i18="L5" cl18ass="line" name="L5">  1815  1816.c#L1_le_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan, ef="+prefsis e=NULLe=="line"hlib">NULLspan, ef="+prefsis e=CRC32C_POLY_LEss="searchlib">CRC32C_POLY_LEspan)_ref="lib/crc32.c#L3" id18="L7" cl18ass="line" name="L7">  1817  1 18 1819u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_less="line"hlib">.c#L1_lespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i19="L20" c19ass="line" name="L20"> 1920 1921.c#L1_le_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan,ref="lib/crc32.c#L15" i19="L22" c19ass="line" name="L22"> 1922u32span (*)[256])ef="+prefsis e=.c#L1table_less="line"hlib">.c#L1table_lespan, ef="+prefsis e=CRCPOLY_LEss="searchlib">CRCPOLY_LEspan)_ref="lib/crc32.c#L3" id19="L3" cl19ass="line" name="L3">  1923  1914u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=_enc#L3c_less="line"hlib">_enc#L3c_lespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i19="L5" cl19ass="line" name="L5">  1915  1916.c#L1_le_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan,ref="lib/crc32.c#L15" i19="L7" cl19ass="line" name="L7">  1917u32span (*)[256])ef="+prefsis e=.c#L1ctable_less="line"hlib">.c#L1ctable_lespan, ef="+prefsis e=CRC32C_POLY_LEss="searchlib">CRC32C_POLY_LEspan)_ref="lib/crc32.c#L3" id19="L8" cl19ass="line" name="L8">  1918  119 2120EXPORT_SYMBOLspan(ef="+prefsis e=.c#L1_less="line"hlib">.c#L1_lespan)_ref="lib/crc32.c#L3" id20="L11" c20ass="line" name="L11"> 2010EXPORT_SYMBOLspan(ef="+prefsis e=_enc#L3c_less="line"hlib">_enc#L3c_lespan)_ref="lib/crc32.c#L3" id20="L22" cl0ass="line" name="L12"> 2020 2030 * Th/*an>
 2040 * I mad.c#L1_be() - Calculs e bitwiseebig-eduaassE.
 2050 * There@.c#: ~0, x="">
 

  nt"puds of .  ~0 

  E.
 2060 * Some       placeseed,r
  ublicrevincan.c#L1x="">
 ifrnt"pudliciincre> * allyan>
 2070 * seed @p: point ruan>
 2080 * users@lam: lamgtheor buff 
 2090 *   dr/n>
 2 10in namspan ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_be_ic crc3ss="line"hlib">.c#L1_be_ic crc3span(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan,ref="lib/crc32.c#L15" i2d="L11" c2aass="line" name="L11"> 2110size_tspan ef="+prefsis e=lame=="line"hlib">lamspan, ntsst ef="+prefsis e=u3ass="line"hlib">u32span (*ef="+prefsis e=tabss="searchlib">tabspan)[256],ref="lib/crc32.c#L15" i2d="L12" c2lass="line" name="L12"> 2 12u32span ef="+prefsis e=polynomialss="searchlib">polynomialspan)ref="lib/crc32.c#L15" i2d="L13" c2lass="line" name="L13"> 2 13 2 14CRC_BE_BITSspan == 1ref="lib/crc32.c#L15" i2d="L15" c2lass="line" name="L15"> 2 15ispan_ref="lib/crc32.c#L3" id2d="L16" c2lass="line" name="L16"> 2 16lamspan--) {ref="lib/crc32.c#L15" i2d="L17" c2lass="line" name="L17"> 2 17.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++ gtt_gtt_ 24_ref="lib/crc32.c#L3" id2d="L18" c2lass="line" name="L18"> 2 18ispan =r0; ef="+prefsis e=ie=="searchlib">ispan gtt_ 8; ef="+prefsis e=ie=="searchlib">ispan++)ref="lib/crc32.c#L15" i2d="L19" c2lass="line" name="L19"> 2 19.c#span =ref="lib/crc32.c#L15" i2d="L20" c2lass="line" name="L20"> 2 20.c#span gtt_gtt_ 1) ^ ((ef="+prefsis e=.c#ss="line"hlib">.c#span gamp; 0x80000000) ? ef="+prefsis e=polynomialss="searchlib">polynomialspan :ref="lib/crc32.c#L15" i2d="L11" c2lass="line" name="L21"> 2 21 2 22 2 23elifspan ef="+prefsis e=CRC_BE_BITSss="searchlib">CRC_BE_BITSspan == 2ref="lib/crc32.c#L3" id2d="L14" c22ass="line" name="L14"> 2214lamspan--) {ref="lib/crc32.c#L15" i22="L15" c22ass="line" name="L15"> 2215.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++ gtt_gtt_ 24_ref="lib/crc32.c#L3" id22="L16" c22ass="line" name="L16"> 2216.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 2) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2217.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 2) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2218.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 2) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2219.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 2) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2320 2321elifspan ef="+prefsis e=CRC_BE_BITSss="searchlib">CRC_BE_BITSspan == 4ref="lib/crc32.c#L3" id2=="L22" c23ass="line" name="L22"> 2322lamspan--) {ref="lib/crc32.c#L15" i2=="L3" cl2aass="line" name="L3">  2 23.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++ gtt_gtt_ 24_ref="lib/crc32.c#L3" id23="L14" c23ass="line" name="L14"> 2314.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 4) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2315.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 4) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2316 2317elifspan ef="+prefsis e=CRC_BE_BITSss="searchlib">CRC_BE_BITSspan == 8ref="lib/crc32.c#L15" i23="L18" c23ass="line" name="L18"> 2318lamspan--) {ref="lib/crc32.c#L15" i2=="L19" c23ass="line" name="L19"> 2319.c#span ^=r*ef="+prefsis e=pss="searchlib">pspan++ gtt_gtt_ 24_ref="lib/crc32.c#L3" id24="L20" c24ass="line" name="L20"> 2420.c#span =r(ef="+prefsis e=.c#ss="line"hlib">.c#span gtt_gtt_ 8) ^ ef="+prefsis e=tabss="searchlib">tabspan[0][ef="+prefsis e=.c#ss="line"hlib">.c#span gt;"> 2421 2422  2423.c#span =r(ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=u3ass="line"hlib">u32span) ef="+prefsis e=_enpu_to_be3ass="line"hlib">_enpu_to_be3aspan(ef="+prefsis e=.c#ss="line"hlib">.c#span)_ref="lib/crc32.c#L3" id24="L4" cl2aass="line" name="L4">  2 14.c#span =ref="+prefsis e=cc#L1_bodyss="line"hlib">.c#L1_bodyspan(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan, ef="+prefsis e=tabss="searchlib">tabspan)_ref="lib/crc32.c#L3" id24="L15" c24ass="line" name="L15"> 2415.c#span =ref="+prefsis e=__be3a_to_npuss="line"hlib">_ebe3a_to_npuspan((ef="+prefsis e=__

 cess="searchlib">__

 cespan ef="+prefsis e=__be3ass="line"hlib">_ebe3aspan)ef="+prefsis e=.c#ss="line"hlib">.c#span)_ref="lib/crc32.c#L3" id24="L16" c24ass="line" name="L16"> 2416 2417.c#span_ref="lib/crc32.c#L3" id24="L18" c24ass="line" name="L18"> 2418 2419 2520CRC_LE_BITSspan == 1ref="lib/crc32.c#L15" i25="L21" c25ass="line" name="L21"> 2521u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_bess="line"hlib">.c#L1_bespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i25="L22" c25ass="line" name="L22"> 2522  2523.c#L1_be_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan, ef="+prefsis e=NULLe=="line"hlib">NULLspan, ef="+prefsis e=CRCPOLY_BEss="searchlib">CRCPOLY_BEspan)_ref="lib/crc32.c#L3" id25="L4" cl25ass="line" name="L4">  2514  2 15 2516u32span ef="+prefsis e=_epuress="searchlib">__purespan ef="+prefsis e=.c#L1_bess="line"hlib">.c#L1_bespan(ef="+prefsis e=u3ass="line"hlib">u32span ef="+prefsis e=.c#ss="line"hlib">.c#span, unsigp cochar ntsst *ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=size_tss="line"hlib">size_tspan ef="+prefsis e=lame=="line"hlib">lamspan)ref="lib/crc32.c#L15" i25="L17" c25ass="line" name="L17"> 2517 2518.c#L1_be_ic crc3span(ef="+prefsis e=.c#ss="line"hlib">.c#span, ef="+prefsis e=pss="searchlib">pspan, ef="+prefsis e=lame=="line"hlib">lamspan,ref="lib/crc32.c#L15" i25="L19" c25ass="line" name="L19"> 2519u32span (*)[256])ef="+prefsis e=.c#L1table_bess="line"hlib">.c#L1table_bespan, ef="+prefsis e=CRCPOLY_BEss="searchlib">CRCPOLY_BEspan)_ref="lib/crc32.c#L3" id26="L20" c26ass="line" name="L20"> 2620 2621 2622EXPORT_SYMBOLspan(ef="+prefsis e=.c#L1_bess="line"hlib">.c#L1_bespan)_ref="lib/crc32.c#L3" id26="L3" cl26ass="line" name="L3">  2623  2614CONFIG_CRC32_SELFTESTspanref="lib/crc32.c#L3" id26="L5" cl26ass="line" name="L5">  2615  2 16 * So/* 4096 random byteser/n>
 2617u8span ef="+prefsis e=_eattribute__ss="searchlib">__attribute__span((ef="+prefsis e=__aligp c__ss="searchlib">__aligp c__span(8))) ef="+prefsis e=test_bufss="line"hlib">test_bufspan[] =ref="lib/crc32.c#L15" i26="L18" c26ass="line" name="L18"> 2618 2619 2720 2721 2722  2723  2714  2715  2716  2 17 2718 2719 2820 2821 2822  2823  2814  2815  2816  2817  2 18 2819 2920 2921 2922  2923  2914  2915  2916  2917  2918 2119 3120 3010 3020 3030  3040  3050  3060  3070  3080 3090 3 10 3110 3 12 3 13 3 14 3 15 3 16 3 17 3 18 3 19 3 20 2 22CRC_BE_BITS3pan =32,ref="lib/crc32."line" name.c#L15="line="L3">"L20" 7 name6 3 14lam3pan--32,ref="lib/crc32="L19"="L20"> i29=" i304"1L20"> i29=" name> 2922pspan++ gtt3gtt_ 32,ref="lib/crc32.4line" name"L12" "1L20"e i3d="L13" cL11" c 3080.c#span gt;"3  3 ss="linel29ass.c#L158"line= 3080.c#span gt;"3.c#span gt;"3.c#span gt;"3 2320 3 12CRC_BE_BITS3pan =33 e" n67,"hlib2l8 name="L22"" name=30ass="L20">820" 7 name  3060lam3pan--333ref="lib/crc32="lineec#L15" i29=.c#L15" i3d6d9L20"> i29=b 3110pspan++ gtt3gtt_ 33,ref="lib/crc32"L3" c="L17"="L6">" i29="3ef="1a13" 2311" c 3080.c#span gt;"3.c#span gt;"3 2316 3 18CRC_BE_BITS3pan =33,ref="lib/crc32lib/l76ib/l7"L17" . name.c#L15e"linel"L19"" 3110lam3pan--33,ref="lib/crc32" i28=3c#L15" i3dd"L12" "L20" ce#L15=1i308"1L110pspan++ gtt3gtt_ 340ref="lib/crc32c27ass.c#L154 i3d="L20" ="line="L13">820" > 3 19.c#span gt;"3" i29=aL13" cL11" 1 i29="L6" ccib/l77 3 12 24211"line" name" i3d=e 3050 24223c#spa34,ref="lib/crc325 name="L20"l29ass= i305"L3" clc#L15"c#L15"30pss="seartL15" ic#L3" id ef="+pre3sis e=tabss="searchlib">3abspa345ref="lib/crc32.c#L15c27ass="L19"c3aass1"line" name="L8">> 3 123c#spa34,ref="lib/crc32c3lass" i30772ef="="lineb"line" name}ref="4 3090 24164line"L11" c1L20"e33" clc#L15="L18"2 3110 2418<3248sp34,ref="lib/crc32.8ss=2.c#L  c30ass="L5">77name.c#L15c30ass  2816 24193/249s35,ref="lib/crc32.f#L15e"line.c#L15" i3d=3bi29=.c#L15="L22"c 2922CRC_LE_BITS3pan =35,ref="lib/crc32.bss=2.c#L  ="line" i305c27ass="line.c#L15c 3 14 2522<3252sp35,ref="lib/crc323 i28="L4" c.c#L15ba13" 2311" .c#L15="L15"> 2922CRCPOLY3BEspa35,ref="lib/crc32cc#L15.c#L15"L6" c3bi29=3 i28=" i28=5 name" 2816  2514<3254sp355ref="lib/crc32.c#L15l27ass2L13" cc#L15="L18"0 i29=aL13" 5 3 14  2 15 i29=""L13">30pss="seartL15" ic#L3" id7" c25ass3"line" name="L17"> 2517<3257sp35,ref="lib/crc32. i27="0i29=="L22"="line" name.c#L15" i30=  2915CRCPOLY3BEspa36,ref="lib/crc325"line= 3ine" i27=.c#L1505name.c#L15="L21"9 n050 2620<3260sp36,ref="lib/crc32.d#L15l27asse"line0L22" 130 06" name="L18"a 3090 2621.c#L13bespa36,ref="lib/crc32}ref="" name"3ef="="L5">ba13" 130 06c2#L15c 3 14  26233/263s36,ref="lib/crc32. i29=""line"4,c32.f#L152c#L15" i27=a name2 n050CONFIG_CRC32_SEL3TESTs365ref="lib/crc32"L3" cc27ass="lined9L20""L6" c>4line"L18" c 2915  26153/265s36,ref="lib/crc32929ass="line.c#L15" name=ai29=aL13" ="L20"c n050
<36,ref="lib/crc32=a13" 5 320""L6" cdL19" c26ass4c#L15ecss=2.c#050test_bu3span[36,ref="lib/crc32.L6" c20#L15" i27=="L20""L17" cc#L15= name" 2816 2618<3268sp3n{ref="lib/crc32" name2L3" cc27ass6"L22"c 2 32.c#L15ea13" 5 3816820" "L4" c4"L8"> "line" name35#L15f"L20"c n0504 name0L2pss="seartL15" ic#L3" id," c26ass3c1, 0xd0, 0x03, 0x57, 0x3e, 0x34,ref="lib/crc32.cname" i306e020" 7 name" i27=" name0 namecc#pss="seartL15" ic#L3" id, 0x3c, 03a1, 0x63, 0xcf, 0x12, 0x3e, 0x3a,ref="lib/crc326"L8"> "line20#L15"fname."L19"4 name=dline" npss="seartL15" ic#L3" id, 0x69, 03d1, 0x93, 0xa6, 0x88, 0x3c, 0x31,ref="lib/crc329 i29=""L13".c#L15=16ass4c#L15="L4">.c#L15> 3 205 name" name" 33d=2L13" "L17" c 29156"L8">3"L15"9e1915820" ="L5">  2 0=a30 0"> 2820""L13"5ib/l77 2 2"" name" i30=a 28172L20">2L20"="L5">4 name  3 32929060 c#L15" i060  2823  i302""L17"=3lass2 2820 2 6"> 3 16820" =30asscc#L155ib/l70 name"L13" e n 18 2/l70 name.4line6ib/l7b 3110 3 2"" name4"line" n817 i29=a30ass="line" i28=c name=30pss="seartL15" ic#L3" i4, 0xc6, 0455, 0x8e, 0x57, 0xe6, 0x44, 0x45,ref="lib/crc32="L4">5 name"c#L15"L13" =4line"ib/l7c i302" 2823c30ass  2 172"line3"L15".c#L15" namelc#L15fcl060820" 5 2 17 33d=4"L12" "L19"" n 1872ef="l 3050 3 me" name=6i3d=}ref="a 28208 name="L13">"L4">4 name" i3d=" n 1830pss="seartL15" ic#L3" i4, 0x86, 0485, 0xdb, 0x5c, 0xd5, 0x45, 0x40,ref="lib/crc32""L17"" i3d=7c#L15" i28=" i306"29ass="line  30504linelc#L15=6#L15" i 0""L17" c6L20">82050 2 22CRC_BE_BITS4pan =42,ref="lib/crc32" i3d=929ass4ref=".c#L15""L20"c0b/l7c820" > 2719lam4pan--42,ref="lib/crc32"fi307.c#L15=3lass.0b/l7c3lass="L22"2"line5 i060pspan++ gtt4gtt_ 42,ref="lib/crc32. i27=" i27="c#L15"f#L15=6#L152"L17"=3lass> 3 15.c#span gt;"4.c#span gt;"4.c#span gt;"4.c#span gt;"4 2320CRC_BE_BITS4pan =43 e" n67,"hlib2l8813" bc#L15c i3dd0 i29="L18" "133d=aL13"   2723lam4pan--433ref="lib/crc32"fi307"L4" c4dlinea4#L15" i 0"" i3d=eei28="4,723pspan++ gtt4gtt_ 43,ref="lib/crc32fc#L15.dL19"c27ass="L19">2line3 i28=" i3d=1 3110.c#span gt;"42ei28="4,c32"cline" name2 3110.c#span gt;"4 i3d6d9L20""L17" 2cline.c#L157ib/l7ref110 2316c3aassd9L20"95#L15ba13" ="line8 i060CRC_BE_BITS4pan =43,ref="lib/crc32.1#L15l29ass=ei28=" name0"L11"d name=c#L15" n 18lam4pan--43,ref="lib/crc32.c#L15e"L19""L17" cei302a"L6">  2 " f i3020 3 15pspan++ gtt4gtt_ 440ref="lib/crc32e i30=> i3d6c name" name"L3" cbc#L15" i28="4,723.c#span gt;"4" i27="30ass" i3d=d30ass" i3d=="L22"1 2817 2421 i29=="line0c#L15=6#L15ebi29=3 i28=5 2 17 24224c#spa44,ref="lib/crc32="L3">9L18" c 2 l76css=20"L17"0"L19"l28ass="l 184abspa445ref="lib/crc32="L3">3bi29=0"L19"" n 9=6820" 4 name2311" .c# 184c#spa44,ref="lib/crc32"L13" c6i3d=}ref="35#L15fL11" ="line.3aass=82050 24162 i3dd"3line> 33d=f i28="L1050 2418<4248sp44,ref="lib/crc32.c#L15""line3 i28=e i30=" name" i3d=328ass3 n 18 24194/249s45,ref="lib/crc32" i3d=="L19">4i3d=3 33" 4 name."L19".3aassc n 18CRC_LE_BITS4pan =45,ref="lib/crc32c"L4">""L13"3bi29=="L5">28L6">  2 " c3lass="l 18 2522<4252sp45,ref="lib/crc323"line83lass= 2 ne" name0 i3d=7c#L152ei28==82050CRCPOLY4BEspa45,ref="lib/crc32b i29=""line.c#L15ba13" 2fL20"95#L15b113" 2fL050  2514<4254sp455ref="lib/crc3287L20"> i304"L13" b"L19""L17" fc#L15"20ass3 n 18  2 15fL0508ci3d=}ref="5"L22"2L13" fcl060 2517<4257sp45,ref="lib/crc324"line3L17" c 2 15" i28=0"L20">820" 6css=2c 29221"line" i27=="line.c#L15" name9L18" cL1050CRCPOLY4BEspa46,ref="lib/crc323L11" a 2 nee4line" name5"line" name" i29=b n 18 2620<4260sp46,ref="lib/crc327 name65i29=""linebL5" cl28ass" i 0"fL13"   2723 2621.c#L14bespa46,ref="lib/crc32}L17" c"L3">29L20""L17" 0c#L15="line"aaassc n 18  26234/263s46,ref="lib/crc32" name="L19"f i302=3lass28ss=2"L17" c"L3">8c# 18CONFIG_CRC32_SEL4TESTs465ref="lib/crc32>4i3d=>4i3d=="line2c#L15""line3 33" =3lass" n 18  26154/265s46,ref="lib/crc32.d#L15l name"3name5"line" namef"line.c#L15" n817
<46,ref="lib/crc32f"line.220" 6css=2>2line="linebc#L  ="line  2815test_bu4span[46,ref="lib/crc32"L3" ce"L5">2311" 91#L15"8line4"L22"1 2 d=4"L815 2618<4268sp4n{ref="lib/crc32fL13" ="L11"c4, me1 i308"L13" =ei28=c28ass"c# 18c#L  }ref="b 2815c# 18c#L  .c#L15" i3d6dc#L157"L20"" 3 15  3 4"> 3 14> i29="6L20">c#L15""L19"fc#L15fL13" = 3080 33" 4c#L15f name="L815820" " i30="28ass3c#L15e98ass3c#L159L18" > 2119c#L15e"line.3aassc 2119820" c29ass3"L19"d28ass  2 ne83lass.c#L15= 3 1484#L15= 3 1482050.3aassc i306="L15"0L1050="L6">  named"L22"bL17" c i7234 namec i27=="L20".1L20"> i28=53aassd i060c i060="L20"cd#L15e98ass4"L815  i302"29assc6#L152"L17"="L815b27ass="L19"84L19"ec#L15="L19"2"L8152line" i29="ei304"6i 185c#L15"L6" c=6i3d=a"L20"b"L4">5 i 17 i3d6="line""L19"84L19"="L19"1 3 14 ref="5L13"  "l 18.c#L15"eline.9L20"c name="L 182 i3dd5L18" cc#L155"line" name65i29=f i7232"l72372ef="" i 0"0 i3d=="L19"e9L20""L6050 2 222line"4line04line0 namel name9L6050CRC_BE_BITS5pan =52,ref="lib/crc327 2 d=="line.3lass.c#L155"line7 name L17" = 2119lam5pan--52,ref="lib/crc32> 33" cc#L152 nameb1L19"82#L15e name" i30=9 n050pspan++ gtt5gtt_ 52,ref="lib/crc32.1L19"3 i27=48ss=2""line="L19""29ass10i30=9 n050.c#span gt;"5.c#span gt;"5.c#span gt;"5.ci3d=.c#L15"2line="L20"cd#L15e98assd i 17.c#span gt;"5 2320CRC_BE_BITS5pan =53 e" n67,"hlib2l=L4" cc7name86line"3linec30asscc#L15=3lass56i 18lam5pan--533ref="lib/crc32c30ass L13" =317" 2"line.c#L15"L10" l9line04l 18pspan++ gtt5gtt_ 53,ref="lib/crc32" nameb9L20"95#L15d"line"L11" > i28=2dname4 3090.c#span gt;"5.c#span gt;"52 i3d== 3 15 2316CRC_BE_BITS5pan =53,ref="lib/crc32116ass.1L19"43lass="line0 name" i27=.e#L15a 3090lam5pan--53,ref="lib/crc32=6i3d=lc#L157ci3d=3c#L154"L12"4"L19""e13" 3 3 12pspan++ gtt5gtt_ 540ref="lib/crc329 name" i29="fef="a 2ine="L19"d9L20"" namel n 18.c#span gt;"5 2421 24225c#spa54,ref="lib/crc32="linelc17" 6L13" 5"linefL3" c=4L19"="l 8=a6i 185abspa545ref="lib/crc327 2 d=4 name="L8">="linea"L20"b"l 8=c"line""L 185c#spa54,ref="lib/crc32" name="L3">4"L12"5L11" =8namel n30=927ass1"L 18 2416  i30291L20"> i29=lib/l77ei28=" n 18 2418<5248sp54,ref="lib/crc32.L17" 0 name"fi307="L15"6"L5">1"line.c#L152 n 18 24195/249s55,ref="lib/crc32. i3d=a3aass=311" c"L5">  2 0=2ei28=c"L20"b"l 18CRC_LE_BITS5pan =55,ref="lib/crc32l29ass="line"fi3d=.c#L15e"line" i29="bl 8=a6i 18 2522<5252sp55,ref="lib/crc323e#L15ac#L15f833" 4c#" c="lined"L22"="L4">b n 18CRCPOLY5BEspa55,ref="lib/crc32c28assl28ass5 i28=.c#L157L3" c=4L19"" name0"l 18  2514<5254sp555ref="lib/crc3283aassd name0 i28=b820" 7cL5">1"line8L10" d"l 18  2 15 i28=3"L13"5ib/l79e1915 2517<5257sp55,ref="lib/crc32"fi3d=lc#L15f"L19"58ss=2"3linecL11" 42#L15e n0508L17" .c# 32=6i3d=7"L050CRCPOLY5BEspa56,ref="lib/crc329c#L15" i3066 3ame=dlinelib/l7" i28=398assb"L050 2620<5260sp56,ref="lib/crc32"ess=2"L6" c>4line  3 4">c#L1530#L15" i3067 3 15 2621.c#L15bespa56,ref="lib/crc32}1i30="0#L15c 3ine""L19"= i30=" namec27ass"c# 18  26235/263s56,ref="lib/crc324c#L15d name2 n19"= i30=""L19"" i307"L13" 8c# 18CONFIG_CRC32_SEL5TESTs565ref="lib/crc32f"lineb"L4">"eline.5i3d=7"L28=.c#L153L13" fcl060  26155/265s56,ref="lib/crc32d28ass=9line.c#L15"3line.c#L15="L5">=4,c322"l060
<56,ref="lib/crc32a30 0"abi29==4line"6line"3aassc i3064 i3d=56i 18test_bu5span[56,ref="lib/crc323"line83lass  2 0=96i3d=}ref=".3aasscc#L15c i 17 2618<5268sp5n{ref="lib/crc32"eline029ass= i304"c11" f i28=7 name L10" l29 174 i3d=f"L20"b2line="line"0line83lassac# 18 33" .c#L1542line="l 18b4L19"82#L15e28ass231 184"L12". i3d="3ef=""4L19"8 n050""line c#815 i3d6d9L 17c#L  }6line.c# d=4 name=c#L150dname.c#L15cc#820. i304"6i3d=" namec i29=b i28=53aassf 3 152L13"  c#L154"L15"6"L5">b i28=0c#L15829 17L4" c= i306=dname8ib/l7l 30505 2 0=2ei28=5 name4c#L15dbline1L11" b"l 180L18"2c#L154"L12".c#L15e317" 27name8c#8151#L15""L5">430 069 i27=3bL20">L4 17fline1L11" 4"L19""fline1311" " name329 17"L19"4 n 1782050c i necL11" =4L19""5L15"6"L5">b"L5">"29 17e317" a 2 15" i28=5"L8">d28ass4c#L15a 2119="line= i3063L17" 2cl06086i3d=""L19"b"line04,c322di3d=""L19"9 2119bc#L157c#L15fci3d=7"L19"1 3 14"L3" cc317" bc#L15.c#L15=7namef"L 18c#L  b820" c i 17 i28=56name.e#L15aa13" 5 i28="4,L15e"L19"c4, 182L15"" i28=" name="l 8=c n 17>L4" c="L11"2 i29="fef="4L4 17fline06i 18317" 2cl 15" i3d=. i304b name4 n119 2 22= i30=> i28=bei28=e1ef="="L5">="L4">0 n 17CRC_BE_BITS6pan =62,ref="lib/crc320 i3dd5L18" d"L12".c#L15 c#L15=dL19"7c#L15=7n 17lam6pan--62,ref="lib/crc32abi29=3f#L15 c#L15. i3046c#L15"c#L15c i3d="L1 17pspan++ gtt6gtt_ 62,ref="lib/crc3244,L154 i3d=a29asse98ass4"L22"" namedblinea n 17.c#span gt;"6f0line83lass.c#L15bei28==820" " n 17.c#span gt;"6.c#span gt;"6.c#span gt;"6 namel namebL10" l29 nee82050 2320CRC_BE_BITS6pan =63 e" n67,"hlib2l629ass="L4">="L20">L4" c=6i3063"L20"b7name8L1050lam6pan--633ref="lib/crc322L17" 2cline= nameb"L12"5"linec30 0691ef="=6i 18pspan++ gtt6gtt_ 63,ref="lib/crc32c3lass24L19"a name3 i3d=f"L20"e28ass71#L155 n 18.c#span gt;"6.c#span gt;"6a n 17 2316CRC_BE_BITS6pan =63,ref="lib/crc325ib/l73f#L159"L20"b"l 8=d i304b name46L20"e28922lam6pan--63,ref="lib/crc3242line=L11" > i28=2"L22"="L11""5L11"b"L4">2 n 17pspan++ gtt6gtt_ 640ref="lib/crc32bc#L15a820" 6css=22"L11"3bline1L11" 427ass= n 17.c#span gt;"6 242152L 7=. i27=0c#L15"4L11""5L11"927ass8 n050 24226c#spa64,ref="lib/crc32lc#L15f"L19"5411" 427ass=4L19"52L 7==L4" c" 28236abspa645ref="lib/crc32"4line2"L20"c5L11"d"L12"5eL11""5L11"ref  c0289226c#spa64,ref="lib/crc32=bL19"8 i27=2 name1L11" 8"L5">4 i3d=d"L12"328922 2416 2418<6248sp64,ref="lib/crc32""L19"84L19"fci3d=1 i28=c3aassf1i3d=2L17" >82050 24196/249s65,ref="lib/crc325L17" cL20" f i302f3aassfaline"5L11"6"L12"l28050CRC_LE_BITS6pan =65,ref="lib/crc32l i28=caline= namedL17" = 2 ne7c#L15" i27=4 3090css=2ebss=22"L11"83lass."L19".320" "5L090 2522<6252sp65,ref="lib/crc325ib/l736line=L11" >eline06i3d=79f  c028 15" n817CRCPOLY6BEspa65,ref="lib/crc323bi29==4line1L11" 9c#L15" namebfL12"l28  c9 n 17  2514<6254sp655ref="lib/crc32" name9c#L154"L15"4 33" 48ss=208#L15d28asse5L090  2 15b820" 74L11"3bl090 2517<6257sp65,ref="lib/crc3245#L157 i30445#L15="L22"f"L20""L10" " i28== n 177namec820" 7820" "L6" c="L11""dL20".c# 17CRCPOLY6BEspa66,ref="lib/crc32="L7">"ci3d=} name91#L155 i30=.3aass=0linef n 17 2620<6260sp66,ref="lib/crc32"ess=2329asse98ass"aaassc"lineaL17" e i28=.L1 17 2621 i28=1820" a29assc"line"ci3d=1820" eL17" = 3090.c#L16bespa66,ref="lib/crc321b11" f i28=>2L15"="L11"729ass=6i306=917" 9 n 17  26236/263s66,ref="lib/crc325bi29=.1#L152c17" 6L13" 2311" cclinef n ss1fL050CONFIG_CRC32_SEL6TESTs665ref="lib/crc32 c#L15=29assec#" c="line04,c321c#L1582line728922  26156/265s66,ref="lib/crc320 i28=caline4 i30846i3d=" i3d="L17" 85#L15=c# 17
<66,ref="lib/crc32b name>317" ="line=L4" cc1L20">1#L156c#L15"4l 17test_bu6span[66,ref="lib/crc32"eline028ass7L17" c i7" 6L13" 2"L11".9line6 n817 2618<6268sp6n{ref="lib/crc32>0L18"afef="4L4c320 i28=c"line8L10" " i27=5L1050"L19"4 3090="L815b2#L155 i30=1"line5 i28==c#L1504i28== n 173 i3d=4 n 17l name 2i ss."L20">1#L1583lassb 21192L15"7 namel nine8L10" 04i28=c name=6i3d=5c# 174line f#L1595i3d="L17" 7c#L15=dL19""L20" = 2119eline0c#815> i28=5ib/l73L1050 i28=feline.5i3d=429 17 i3d6da0 0"e 33" >2L15"06i3d=8L10" ""L815bef="> i3d6a28922a i30="0#L15eL17" 9c#L154b1 18fline0L1050=0line2 i 171#L15ec#L15l56" c"bline2311" >"L8152L15"0L17" 46i3d=e6i3d=="L05082ass8L10" fc#L159 name=c#L159"line5 i 172ib/l7f6L20">7name"ci3d=1a10" fc#L15c 2922e6i3d=2dL20".c# 0"c5L8152ib815.9lineb9name0c#L15fL13" 2311" 329assb27 15.L20" 3fline2 i 9"84L19"=6line029 15 2 22CRC_BE_BITS7pan =72,ref="lib/crc32cc# 15> i29="6L20"29L20"f i28=" i27=5411" d"l 18lam7pan--72,ref="lib/crc324L11" >elinee"L17""c#L15 eL11""a11" a"L20"f"L119pspan++ gtt7gtt_ 72,ref="lib/crc32fcl 15" i3d=0"L20"9c#L15c i7" 9c#L15>82ass=dL050.c#span gt;"7e6i3d=" name=78ass21L20""L20" 4"L119.c#span gt;"7.c#span gt;"7.c#span gt;"7 2320CRC_BE_BITS7pan =73 e" n67,"hlib2l""line.e#L157cl 157fline3"L19">4line "L19"""L 18lam7pan--733ref="lib/crc32.ci3d=f1i3d=f2ef="0c#L1546L20".css=22f#L159"L 18pspan++ gtt7gtt_ 73,ref="lib/crc325eL11"" name"cl 15l i28=c5i29=9 i27=2a13" 5c# 18.c#span gt;"7.c#span gt;"7 2316CRC_BE_BITS7pan =73,ref="lib/crc32"elinea i30=.3linecL10" 04i28=="L5">= name56i 18lam7pan--73,ref="lib/crc32= name"4linea i28=398asse2i ssec#L15ec#L15c4, 18pspan++ gtt7gtt_ 740ref="lib/crc3222#L15=bL19"a i30=" name32line2"L11""1L20".L6 18.c#span gt;"7 2421 24227c#spa74,ref="lib/crc32l4,c321L20" 43l 15l i28=>4line7a4" ce2811""1L 187abspa745ref="lib/crc32a"L11".9line9"L18"cL20" b4L19"b0L11""1L20"5"l 187c#spa74,ref="lib/crc32=6i30635i29=92811"1L11" b833" c namec i29=  2815 2416 2418<7248sp74,ref="lib/crc3266L20".css=2" name.6i3d=l7L20".6name04,c322L1050 24197/249s75,ref="lib/crc32"dL20"02811"1L11" 7 i28=.c#L15>7name9 name" i050CRC_LE_BITS7pan =75,ref="lib/crc32.ci3d=bc#L15="L5">65i29=b"L28=2"L19"5eL11""6i 18.di28=398 18 2522<7252sp75,ref="lib/crc32lib/l715#L15=c# 0"e 33" aeL11"cc# 15.1#L15.6i 18CRCPOLY7BEspa75,ref="lib/crc32= name5ci3d=bc#L15c i3060833" c2,c3266L20"0 n 17  2514<7254sp755ref="lib/crc3274L11"74L11"4"L11"2 i29=329ass5c# ss8c#L15b i 17  2 152L15"030 0"e 33" 0L2pss="seartL15" ic#L3" i71BE_BITSs7"line" name="L17"> 2517<7257sp75,ref="lib/crc329 namec7name85L11"74L11"=b8ass=c# 0"ecline9"Lpss="seartL15" ic#L3" i71 0xa8, 07fsis e=lame=="line"hlib"7lamsp75,ref="lib/crc32a i27=1c#L1572ef=""5L11"7fline2ci28=398L15b i 17CRCPOLY7BEspa76,ref="lib/crc327"L20"b7namef1i3d=" name6c# 3227name4 i =2528922 2620<7260sp76,ref="lib/crc32.e#L151 i28=feline=dL19""4linef311" = name4"L 18 26217n 18.c#L17bespa76,ref="lib/crc32}8,c326c#L15c333" 0L2 nee"L17"85i29=9 name8 2119  26237/263s76,ref="lib/crc32a"Lf="6 i3dd= i30=c i7" 9 i28=c n ss5 name"82050CONFIG_CRC32_SEL7TESTs765ref="lib/crc32a i28=3cn ss5 name9"line43l 15b9namecc#L155"Lpss="seartL15" ic#L3" i70sis e=ps7="line" name="L5">  26157/265s76,ref="lib/crc32=dlinelib/l71ci7" 43lass=bL19"a9i29=9 name85L815
<76,ref="lib/crc3238,c329c#L15= namel"L20"e name=dL19"9bname982050test_bu7span[76,ref="lib/crc32= i ss. i27=38#L15= name6 i3dd52L 7=.3line2 2119 2618<7268sp7n{ref="lib/crc32l"line029assbf#L1595i3d=4 i3d=df#L15l9linee i119"3line.5i29=b2linebdL20"0"L19"4 i27=4 2922L17" "1L20""82050/* 100 test cases */   _testref="{ 18u3 e" n618   e" n;"lib/crc1span 0x3a, 0comment">/* random starting     */u3 e" n618starte" n;"lib/c1span 0x3a, 0comment">/* random 6 bit offset in buf */u3 e" n618lengthe" n;"lib/1span 0x3a, 0comment">/* random 11 bit length of test */u3 e" n618   _lee" n;"lib/1span 0x3a, 0comment">/* expected      _le result */u3 e" n618   _bee" n;"lib/1span 0x3a, 0comment">/* expected      _be result */u3 e" n618   32 _lee" n;"l1span 0x3a, 0comment">/* expected      c_le result */testref=[] = 18 2 22CRC_BE_BITS8pan =82,ref="lib/crcL1592bed597}L 18lam8pan--82,ref="lib/crc{" f0f72239L19"0000002"line0000026"linea6fa58f311" f8c2c1ddL050pspan++ gtt8gtt_ 82,ref="lib/crcine192a3f1b}L 18.c#span gt;"8.c#span gt;"8.c#span gt;"8.c#span gt;"8 2320CRC_BE_BITS8pan =83,ref="lib/crcine28c72982}L 18lam8pan--83,ref="lib/crc{d=9d40a377lame0000=03b11" 00000038#L151f47cc"2line197fbc9"L 18pspan++ gtt8gtt_ 83,ref="lib/crcL15c3cd4d18}L 18.c#span gt;"8.c#span gt;"8 2316CRC_BE_BITS8pan =83,ref="lib/crc3dd713f60b3}L 18lam8pan--83,ref="lib/crc{ne4a3e7854line0000002 n19"=00004b833" 8d923cl i3dd= bfb4a 2119pspan++ gtt8gtt_ 84,ref="lib/crc19"ebd08fd5}L 18.c#span gt;"8 2421 24228c#spa84,ref="lib/crcL157421890e}L 188abspa84,ref="lib/crc{" fc62f297lame0000=0="line00000079name71a8e1.3aass5d88685"l 188c#spa84,ref="lib/crcinee9347603}L 18 2416 2418<8248sp84,ref="lib/crc{ne97dd724b11" 00000033line000007=c# 0"5c88b2fc#" c=7326"= 2119 24198/249s85,ref="lib/crc19"34720072}L 18CRC_LE_BITS8pan =85,ref="lib/crc{0"61394b52L 7=00000035#L15000005>1#L15c66525f1i3d=cabe7f "l 18 2522<8252sp85,ref="lib/crc{d=29 4faff#L1500000024line000000" name=a1375="L11"993648e n 17CRCPOLY8BEspa85,ref="lib/crcL15783a4213}L 18  2514<8254sp85,ref="lib/crc{" 29bfb1dcline000000=b11" 00000244,L15436c43f i nec29f7a5c# 18  2 15 2517<8257sp85,ref="lib/crc3ddfc3d34a5}L 18CRCPOLY8BEspa86,ref="lib/crc19"17a52ae2}L 18 2620<8260sp86,ref="lib/crc{0"3287a80aline00000026line000004="L12".b257e" i3d=754ebd51L050 2621.c#L18bespa86,ref="lib/crc{d=a4db423"L19"00000023line0000045dL19"9b3a66dcline873e9f11L050  26238/263s86,ref="lib/crcL15eaaeaeb2}L 18CONFIG_CRC32_SEL8TESTs86,ref="lib/crc{" 7a1078df#L1500000015#L150000014L17" 8c2484c5i3d="L6286,c# 18  26158/265s86,ref="lib/crcine8e900a4b}L 18
<86,ref="lib/crc{7=6048bd5bL 7=00000006line000000"L17" 897e35598L15ac9961afL050test_bu8span[86,ref="lib/crc3ddd74662b,}L 18 2618<8268sp86,ref="lib/crc{ned8f9ea2"line0000003dlame0000=277lame60eb905bL 7=ed2aaf9c# 180L18"783ce7d 2119 2 22CRC_BE_BITS9pan =92,ref="lib/crcL155747218a}L 18lam9pan--92,ref="lib/crc{" 00fe84d7lame0000=0=5#L15000002=5#L15850e50aL17" 753d649L2pss="seartL15" ic#L3" i9,60x95, 09="searchlib">pspan++ gtt9gtt_ 92,ref="lib/crcinede8f14de}L 18.c#span gt;"9.c#span gt;"9.c#span gt;"9.c#span gt;"9 2320CRC_BE_BITS9pan =93,ref="lib/crcine54c79d60}L 18lam9pan--93,ref="lib/crc{d=c94c1ed7lame0000=0=5#L150000038b11" 9e9fdb22L19"144a91,82050pspan++ gtt9gtt_ 93,ref="lib/crcL154c53ee"6}L 18.c#span gt;"9.c#span gt;"9 2316CRC_BE_BITS9pan =93,ref="lib/crc3ddaa9d6c73}L 18lam9pan--93,ref="lib/crc{ne1bbe71e2L 7=0000001f#L15000002"L20" 4"504c3 i28=>84c af1L050pspan++ gtt9gtt_ 94,ref="lib/crc19"b63"23e7}L 18.c#span gt;"9 2421 24229c#spa94,ref="lib/crcL1513c1cd83}L 189abspa94,ref="lib/crc{" d82ba25cline00000016line0000063"L19"98e4148aline283330c 29229c#spa94,ref="lib/crcine49ff5867}L 18 2416 2418<9248sp94,ref="lib/crc{nefebe4e1f#L150000002aline000004f2line95e51961L20""L80dcabl090 24199/249s95,ref="lib/crc19"3f9683b2}L 18CRC_LE_BITS9pan =95,ref="lib/crc{0"1a6e0a39L19"00000008line00000672ef="8af6c2"5L11"78dd84cbl090 2522<9252sp95,ref="lib/crc{d=560=0ab833" 0000000"L19"000000e i30=>6bacb8 33" >2ee1f77L 18CRCPOLY9BEspa95,ref="lib/crcL15863b702"}L 18  2514<9254sp95,ref="lib/crc{" 4717fe0cline000000="line000006eci28=8439f342#L155 8e03d28922  2 15 2517<9257sp95,ref="lib/crc3dd=622cc95}L 18CRCPOLY9BEspa96,ref="lib/crc19"e85605cd}L 18 2620<9260sp96,ref="lib/crc{0"e9b113="line0000002"lame0000=68L10" 07a5d592811"6c6a3208L 18 2621.c#L19bespa96,ref="lib/crc{d=95cd285"L19"00000001#L150000004 i28=7b3a4368line0202c07"Lpss="seartL15" ic#L3" i9e 0xbc, 09="line" name="L3">  26239/263s96,ref="lib/crcL15a1f2e,84}L 18CONFIG_CRC32_SEL9TESTs96,ref="lib/crc{" d9245a25#L150000001"L19"000003a6lined33c1841i3d=""36c d5L815  26159/265s96,ref="lib/crcineb07cc616}L 18
<96,ref="lib/crc{7=10= 79dbL 7=00000006line0000039b11" ca09b8a n 9=77d62l92L 18test_bu9span[96,ref="lib/crc3ddbf94,b6c}L 18 2618<9268sp96,ref="lib/crc{ne1cba3172L 7=0000002 n19"=00001"L6" ccb37719 nameebe682d i 176b6cfd6i3d=ad4e2,b2L 18l8aux/time.href=> 18__initref="18      _testref=(void) 18iref=; 1810, ref="lib/crcint 18errorsref="= 0; 1/pre>
1810,1ref="lib/crcint 18bytesref="= 0; 1810,,ref="lib/crcstruct 18timespe ref="18starte" n,"18stopref=; 1810,,ref="lib/crc18u6,ref="18nse ref=; 1810,,ref="lib/crcunsigned long"18flagsref=; 1810,5ref= 1810,,ref="lib/crc1span 0x3a, 0comment">/* keep static to prevent cache warming  ode from10,,ref=1span 0x3a, 0comment">"lib/crci* getting eliminated by the compiler */10,8ref="lib/crcstatic 18u3 e" n618   e" n; 1810,9ref= 181007ref="lib/crc1span 0x3a, 0comment">/* pre-warm the cache */1001ref="lib/crcfor (18iref="= 0; 18iref= < 100; 18iref=++)"{ 18100,ref="lib/crcilib/crc18bytesref="+= 2*18testref=[18iref=].18lengthe" n; 181003ref= 181004ref="lib/crcilib/crc18   e" n ^= 18__      _leref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 181005ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n); 18100,ref="lib/crc} 181007ref= 181008ref="lib/crc1span 0x3a, 0comment">/* reduce OS noise */100,ref="lib/crc18local_irq_saveref=(18flagsref=); 181085ref="lib/crc18local_irq_disableref=(); 181081ref= 181082ref="lib/crc18getnstimeofdayref=(&18starte" n); 18 2 22108,ref="lib/crcfor (18iref="= 0; 18iref= < 100; 18iref=++)"{ 18CRC_BE_BITS10="s>1084ref="lib/crcilib/crcif (18testref=[18iref=].18   32 _lee" n != 18__      _leref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 18lam10 e=>1085ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n)) 18pspan++ gtt10="s>1086ref="lib/crcilib/crc/crc/crc18errorsref=++; 18.c#span gt;"10"li>108,ref="lib/crc} 18.c#span gt;"10"li>108,ref="lib/crc18getnstimeofdayref=(&18stopref=); 18.c#span gt;"10"li>1089ref= 18.c#span gt;"10"li>10"lref="lib/crc18local_irq_restoreref=(18flagsref=); 18 232010"1ref="lib/crc18local_irq_enableref=(); 18CRC_BE_BITS10="s>10",ref= 18lam10 e=>10",ref="lib/crc18nse ref= = 18stopref=.18tv_nse ref= -"18starte" n.18tv_nse ref= + 18pspan++ gtt10="s>10"4ref="lib/crcilib/crc1000000000 * (18stopref=.18tv_se ref= -"18starte" n.18tv_se ref=); 18.c#span gt;"10"li>10"5ref= 18.c#span gt;"10"li>10",ref="lib/crc18pr_inforef=(1span 0x3a, 0string">"      : CRC_LE_BITS = %d\n"CRC_LE_BITSref=); 18 231610"7ref= 18CRC_BE_BITS10="s>10",ref="lib/crcif (18errorsref=) 18lam10 e=>10"9ref="lib/crcilib/crc18pr_warnref=(1span 0x3a, 0string">"      : %d self tests failed\n"errorsref=); 18pspan++ gtt10="s>10="ref="lib/crcelse { 18.c#span gt;"10"li>10=1ref="lib/crcilib/crc18pr_inforef=(1span 0x3a, 0string">"      : self tests p3a,ed, procea,ed %d bytes in %lld nse \n" 242110=,ref="lib/crcilib/crcilib/crc18bytesref=,"18nse ref=); 18 242210=,ref="lib/crc} 1810sis>10=,ref= 1810sis>10=5ref="lib/crcreturn 0; 1810sis>10=,ref=} 18 241610=7ref= 1810=8ref=static int 18__initref="18     _testref=(void) 18 2418<10"li>10=9ref={ 18 241910="l>10="ref="lib/crcint 18iref=; 18CRC_LE_BITS10="s>10=1ref="lib/crcint 18errorsref="= 0; 1810=2ref="lib/crcint 18bytesref="= 0; 18 2522<10"li>10=,ref="lib/crcstruct 18timespe ref="18starte" n,"18stopref=; 18CRCPOLY10BEs>10=4ref="lib/crc18u6,ref="18nse ref=; 18  2514<10"li>10=5ref="lib/crcunsigned long"18flagsref=; 18  2 1510=,ref= 1810=,ref="lib/crc1span 0x3a, 0comment">/* keep static to prevent cache warming  ode from 2517<10"li>10=8ref=1span 0x3a, 0comment">"lib/crci* getting eliminated by the compiler */10=9ref="lib/crcstatic 18u3 e" n618   e" n; 18CRCPOLY10BEs>10BEref= 18 2620<10"li>10B1ref="lib/crc1span 0x3a, 0comment">/* pre-warm the cache */ 262110B2ref="lib/crcfor (18iref="= 0; 18iref= < 100; 18iref=++)"{ 18.c#L1101_b>10B,ref="lib/crcilib/crc18bytesref="+= 2*18testref=[18iref=].18lengthe" n; 18  262310="l>10B,ref= 18CONFIG_CRC32_SEL10rch>10B5ref="lib/crcilib/crc18   e" n ^= 18   32_leref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 18  261510="l>10B6ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n); 1810B7ref= 18test_bu10ufs>10B8ref="lib/crcilib/crc18   e" n ^= 18   32_beref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 18 2618<10"li>10B9ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n); 181021ref="lib/crc} 181021ref= 181022ref="lib/crc1span 0x3a, 0comment">/* reduce OS noise */102,ref="lib/crc18local_irq_saveref=(18flagsref=); 181024ref="lib/crc18local_irq_disableref=(); 181025ref= 18102,ref="lib/crc18getnstimeofdayref=(&18starte" n); 18102,ref="lib/crcfor (18iref="= 0; 18iref= < 100; 18iref=++)"{ 181028ref="lib/crcilib/crcif (18testref=[18iref=].18   _lee" n != 18   32_leref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 181029ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n)) 1810a1ref="lib/crcilib/crcilib/crc18errorsref=++; 1810a1ref= 1810a,ref="lib/crcilib/crcif (18testref=[18iref=].18   _beref= != 18   32_beref=(18testref=[18iref=].18   e" n,"18test_bufref="+ 1810a,ref="lib/crcilib/crc/crc18testref=[18iref=].18starte" n,"18testref=[18iref=].18lengthe" n)) 1810a4ref="lib/crcilib/crcilib/crc18errorsref=++; 1810a5ref="lib/crc} 1810a,ref="lib/crc18getnstimeofdayref=(&18stopref=); 1810a7ref= 1810a,ref="lib/crc18local_irq_restoreref=(18flagsref=); 1810a,ref="lib/crc18local_irq_enableref=(); 181093ref= 181091ref="lib/crc18nse ref= = 18stopref=.18tv_nse ref= -"18starte" n.18tv_nse ref= + 18109,ref="lib/crcilib/crc1000000000 * (18stopref=.18tv_se ref= -"18starte" n.18tv_se ref=); 181093ref= 181094ref="lib/crc18pr_inforef=(1span 0x3a, 0string">"     : CRC_LE_BITS = %d, CRC_BE BITS = %d\n"1095ref="lib/crcilib/crc/18CRC_LE_BITSref=,"18CRC_BE_BITSref=); 18109,ref= 18109,ref="lib/crcif (18errorsref=) 181098ref="lib/crcilib/crc18pr_warnref=(1span 0x3a, 0string">"     : %d self tests failed\n"errorsref=); 18109,ref="lib/crcelse { 181101ref="lib/crcilib/crc18pr_inforef=(1span 0x3a, 0string">"     : self tests p3a,ed, procea,ed %d bytes in %lld nse \n"1101ref="lib/crcilib/crcilib/crc18bytesref=,"18nse ref=); 1811,,ref="lib/crc} 181103ref= 1811,,ref="lib/crcreturn 0; 1811,5ref=} 18110,ref= 18110,ref=static int 18__initref="18     test_initref=(void) 18110,ref={ 18110,ref="lib/crc18     _testref=(); 18111lref="lib/crc18      _testref=(); 181101ref="lib/crcreturn 0; 18110,ref=} 181103ref= 181104ref=static void 18__exitref="18     _exitref=(void) 181105ref={ 18111,ref=} 181107ref= 181108ref=18module_initref=(18     test_initref=); 18110,ref=18module_exitref=(18     _exitref=); 181185ref=#endif 1span 0x3a, 0comment">/* CONFIG_CRC  _SELFTEST */1181ref=1/pre>
The original LXR software by the 18LXR communityref=,"this experimental version by 18lxr@l8aux.noe" n.
lxr.l8aux.no kindly hosted by 18Redpill L8apro ASref=,"provider of L8aux consulting and operations servicea since 1995.