Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

diamondt.cpp

00001 #include "pch.h"
00002 #include "diamond.h"
00003 
00004 #ifdef DIAMOND_USE_PERMTABLE
00005 
00006 NAMESPACE_BEGIN(CryptoPP)
00007 
00008 #ifndef IS_LITTLE_ENDIAN
00009 const word32 Diamond2Lite::Base::permtable[8][256] =
00010 {{0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00011 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00012 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00013 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00014 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00015 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00016 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00017 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00018 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00019 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00020 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00021 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00022 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00023 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00024 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00025 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00026 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00027 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00028 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00029 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00030 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00031 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00032 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00033 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00034 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00035 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00036 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00037 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00038 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00039 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00040 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00041 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020},
00042 
00043 {0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00044 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00045 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00046 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00047 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00048 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00049 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00050 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00051 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00052 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00053 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00054 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00055 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00056 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00057 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00058 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00059 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00060 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00061 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00062 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00063 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00064 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00065 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00066 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00067 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00068 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00069 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00070 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00071 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00072 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00073 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00074 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040},
00075 
00076 {0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00077 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00078 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00079 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00080 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00081 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00082 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00083 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00084 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00085 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00086 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00087 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00088 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00089 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00090 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00091 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00092 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00093 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00094 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00095 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00096 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00097 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00098 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00099 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00100 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00101 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00102 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00103 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00104 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00105 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00106 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00107 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180},
00108 
00109 {0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00110 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00111 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00112 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00113 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00114 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00115 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00116 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00117 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00118 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00119 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00120 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00121 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00122 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00123 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00124 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00125 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00126 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00127 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00128 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00129 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00130 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00131 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00132 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00133 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00134 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00135 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00136 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00137 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00138 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00139 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00140 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201},
00141 
00142 {0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00143 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00144 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00145 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00146 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00147 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00148 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00149 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00150 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00151 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00152 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00153 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00154 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00155 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00156 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00157 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00158 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00159 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00160 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00161 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00162 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00163 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00164 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00165 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00166 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00167 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00168 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00169 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
00170 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
00171 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
00172 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
00173 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402},
00174 
00175 {0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
00176 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
00177 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
00178 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
00179 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
00180 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
00181 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
00182 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
00183 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
00184 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
00185 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
00186 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
00187 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
00188 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
00189 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
00190 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
00191 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
00192 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
00193 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
00194 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
00195 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
00196 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
00197 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
00198 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
00199 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
00200 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
00201 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
00202 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
00203 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
00204 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
00205 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
00206 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804},
00207 
00208 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00209 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
00210 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
00211 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
00212 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00213 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
00214 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
00215 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
00216 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
00217 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
00218 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
00219 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
00220 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
00221 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
00222 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
00223 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,
00224 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00225 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
00226 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
00227 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
00228 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00229 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
00230 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
00231 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
00232 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
00233 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
00234 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
00235 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
00236 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
00237 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
00238 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
00239 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008},
00240 
00241 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00242 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00243 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
00244 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
00245 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00246 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00247 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
00248 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
00249 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
00250 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
00251 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
00252 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
00253 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
00254 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
00255 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
00256 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
00257 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
00258 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
00259 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
00260 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
00261 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
00262 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
00263 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
00264 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
00265 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
00266 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
00267 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
00268 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
00269 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
00270 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
00271 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,
00272 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010}};
00273 #else
00274 const word32 Diamond2Lite::Base::permtable[8][256] =
00275 {{0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00276 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00277 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00278 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00279 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00280 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00281 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00282 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00283 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00284 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00285 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00286 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00287 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00288 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00289 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00290 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00291 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00292 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00293 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00294 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00295 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00296 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00297 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00298 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00299 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00300 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00301 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00302 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00303 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00304 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00305 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00306 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001},
00307 
00308 {0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00309 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00310 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00311 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00312 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00313 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00314 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00315 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00316 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00317 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00318 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00319 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00320 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00321 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00322 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00323 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00324 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00325 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00326 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00327 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00328 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00329 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00330 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00331 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00332 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00333 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00334 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00335 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00336 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00337 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00338 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00339 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102},
00340 
00341 {0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00342 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00343 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00344 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00345 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00346 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00347 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00348 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00349 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00350 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00351 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00352 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00353 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00354 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00355 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00356 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00357 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00358 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00359 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00360 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00361 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00362 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00363 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00364 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00365 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00366 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00367 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00368 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00369 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00370 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00371 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00372 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204},
00373 
00374 {0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00375 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00376 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00377 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00378 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00379 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00380 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00381 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00382 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00383 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00384 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00385 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00386 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00387 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00388 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00389 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00390 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00391 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00392 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00393 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00394 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00395 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00396 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00397 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00398 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00399 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00400 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00401 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00402 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00403 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00404 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00405 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408},
00406 
00407 {0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00408 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00409 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00410 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00411 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00412 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00413 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00414 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00415 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00416 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00417 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00418 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00419 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00420 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00421 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00422 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00423 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00424 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00425 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00426 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00427 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00428 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00429 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00430 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00431 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00432 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00433 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00434 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00435 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00436 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00437 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00438 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810},
00439 
00440 {0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00441 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00442 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00443 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00444 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00445 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00446 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00447 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00448 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00449 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00450 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00451 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00452 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00453 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00454 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00455 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00456 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00457 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00458 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00459 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00460 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00461 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00462 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00463 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00464 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00465 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00466 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00467 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00468 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00469 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00470 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00471 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020},
00472 
00473 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00474 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
00475 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
00476 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
00477 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00478 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
00479 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
00480 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
00481 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
00482 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
00483 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
00484 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
00485 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
00486 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
00487 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
00488 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,
00489 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00490 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
00491 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
00492 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
00493 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00494 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
00495 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
00496 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
00497 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
00498 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
00499 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
00500 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
00501 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
00502 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
00503 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
00504 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040},
00505 
00506 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00507 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00508 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
00509 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
00510 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00511 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00512 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
00513 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
00514 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
00515 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
00516 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
00517 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
00518 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
00519 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
00520 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
00521 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
00522 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
00523 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
00524 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
00525 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
00526 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
00527 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
00528 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
00529 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
00530 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
00531 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
00532 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
00533 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
00534 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
00535 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
00536 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,
00537 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080}};
00538 #endif
00539 
00540 #ifndef IS_LITTLE_ENDIAN
00541 const word32 Diamond2Lite::Base::ipermtable[8][256] =
00542 {{0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00543 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00544 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00545 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00546 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00547 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00548 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00549 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00550 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00551 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00552 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00553 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00554 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00555 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00556 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00557 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00558 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00559 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00560 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00561 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00562 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00563 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00564 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00565 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00566 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00567 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00568 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00569 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00570 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00571 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
00572 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
00573 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408},
00574 
00575 {0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00576 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00577 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00578 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00579 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00580 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00581 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00582 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00583 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00584 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00585 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00586 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00587 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00588 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00589 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00590 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
00591 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00592 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00593 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00594 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00595 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00596 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00597 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00598 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00599 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00600 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00601 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00602 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00603 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00604 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00605 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204,
00606 0x80000000,0x80010000,0x80000200,0x80010200,0x80000004,0x80010004,0x80000204,0x80010204},
00607 
00608 {0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00609 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00610 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00611 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00612 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00613 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00614 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00615 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
00616 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00617 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00618 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00619 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00620 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00621 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00622 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00623 0x40000000,0x40000100,0x40000002,0x40000102,0x40000000,0x40000100,0x40000002,0x40000102,
00624 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00625 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00626 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00627 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00628 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00629 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00630 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00631 0x800000,0x800100,0x800002,0x800102,0x800000,0x800100,0x800002,0x800102,
00632 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00633 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00634 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00635 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00636 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00637 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00638 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102,
00639 0x40800000,0x40800100,0x40800002,0x40800102,0x40800000,0x40800100,0x40800002,0x40800102},
00640 
00641 {0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00642 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00643 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00644 0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x1,
00645 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00646 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00647 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00648 0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,0x20000000,0x20000001,
00649 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00650 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00651 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00652 0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,0x400000,0x400001,
00653 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00654 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00655 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00656 0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,0x20400000,0x20400001,
00657 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00658 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00659 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00660 0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,0x8000,0x8001,
00661 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00662 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00663 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00664 0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,0x20008000,0x20008001,
00665 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00666 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00667 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00668 0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,0x408000,0x408001,
00669 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00670 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00671 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,
00672 0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001,0x20408000,0x20408001},
00673 
00674 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00675 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00676 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
00677 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
00678 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00679 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00680 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
00681 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
00682 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
00683 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
00684 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
00685 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
00686 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
00687 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
00688 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
00689 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
00690 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
00691 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
00692 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
00693 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
00694 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
00695 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
00696 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
00697 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
00698 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
00699 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
00700 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
00701 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
00702 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
00703 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
00704 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,
00705 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080},
00706 
00707 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00708 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
00709 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
00710 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
00711 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00712 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
00713 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
00714 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
00715 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
00716 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
00717 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
00718 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
00719 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
00720 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
00721 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
00722 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,
00723 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00724 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
00725 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
00726 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
00727 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00728 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
00729 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
00730 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
00731 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
00732 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
00733 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
00734 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
00735 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
00736 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
00737 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
00738 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040},
00739 
00740 {0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00741 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00742 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00743 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00744 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00745 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00746 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00747 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00748 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00749 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00750 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00751 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00752 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00753 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00754 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00755 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00756 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00757 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00758 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00759 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00760 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00761 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00762 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00763 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
00764 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
00765 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
00766 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
00767 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
00768 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
00769 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
00770 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
00771 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020},
00772 
00773 {0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00774 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00775 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00776 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00777 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00778 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00779 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00780 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00781 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00782 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00783 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00784 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00785 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00786 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00787 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00788 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00789 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00790 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00791 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00792 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00793 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00794 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00795 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00796 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00797 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00798 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00799 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00800 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
00801 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
00802 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
00803 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
00804 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810}};
00805 #else
00806 const word32 Diamond2Lite::Base::ipermtable[8][256] =
00807 {{0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00808 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00809 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00810 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00811 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00812 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00813 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00814 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00815 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00816 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00817 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00818 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00819 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00820 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00821 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00822 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00823 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00824 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00825 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00826 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00827 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00828 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00829 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00830 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00831 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00832 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00833 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00834 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00835 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00836 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
00837 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
00838 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201},
00839 
00840 {0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00841 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00842 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00843 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00844 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00845 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00846 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00847 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00848 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00849 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00850 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00851 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00852 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00853 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00854 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00855 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
00856 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00857 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00858 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00859 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00860 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00861 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00862 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00863 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00864 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00865 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00866 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00867 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00868 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00869 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00870 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180,
00871 0x80,0x180,0x20080,0x20180,0x4000080,0x4000180,0x4020080,0x4020180},
00872 
00873 {0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00874 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00875 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00876 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00877 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00878 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00879 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00880 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
00881 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00882 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00883 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00884 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00885 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00886 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00887 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00888 0x40,0x10040,0x2000040,0x2010040,0x40,0x10040,0x2000040,0x2010040,
00889 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00890 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00891 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00892 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00893 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00894 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00895 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00896 0x8000,0x18000,0x2008000,0x2018000,0x8000,0x18000,0x2008000,0x2018000,
00897 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00898 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00899 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00900 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00901 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00902 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00903 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040,
00904 0x8040,0x18040,0x2008040,0x2018040,0x8040,0x18040,0x2008040,0x2018040},
00905 
00906 {0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00907 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00908 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00909 0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,0x0,0x1000000,
00910 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00911 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00912 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00913 0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,0x20,0x1000020,
00914 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00915 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00916 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00917 0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,0x4000,0x1004000,
00918 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00919 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00920 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00921 0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,0x4020,0x1004020,
00922 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00923 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00924 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00925 0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,0x800000,0x1800000,
00926 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00927 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00928 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00929 0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,0x800020,0x1800020,
00930 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00931 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00932 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00933 0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,0x804000,0x1804000,
00934 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00935 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00936 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,
00937 0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020,0x804020,0x1804020},
00938 
00939 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00940 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00941 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
00942 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
00943 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00944 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
00945 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
00946 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
00947 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
00948 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
00949 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
00950 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
00951 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
00952 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
00953 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
00954 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
00955 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
00956 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
00957 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
00958 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
00959 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
00960 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
00961 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
00962 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
00963 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
00964 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
00965 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
00966 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
00967 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
00968 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
00969 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,
00970 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010},
00971 
00972 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00973 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
00974 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
00975 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
00976 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00977 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
00978 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
00979 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
00980 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
00981 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
00982 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
00983 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
00984 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
00985 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
00986 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
00987 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,
00988 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
00989 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
00990 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
00991 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
00992 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
00993 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
00994 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
00995 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
00996 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
00997 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
00998 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
00999 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
01000 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
01001 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
01002 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
01003 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008},
01004 
01005 {0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01006 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01007 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01008 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01009 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01010 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01011 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01012 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01013 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01014 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01015 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01016 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01017 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01018 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01019 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01020 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01021 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01022 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01023 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01024 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01025 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01026 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01027 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01028 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01029 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01030 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01031 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01032 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01033 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01034 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01035 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01036 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804},
01037 
01038 {0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01039 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01040 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01041 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01042 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01043 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01044 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01045 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01046 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01047 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01048 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01049 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01050 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01051 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01052 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01053 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01054 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01055 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01056 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01057 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01058 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01059 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01060 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01061 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01062 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01063 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01064 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01065 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01066 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01067 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01068 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01069 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402}};
01070 #endif
01071 
01072 #ifndef IS_LITTLE_ENDIAN
01073 const word32 Diamond2::Base::permtable[9][256] =
01074 {{0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01075 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01076 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01077 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01078 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01079 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01080 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01081 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01082 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01083 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01084 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01085 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01086 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01087 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01088 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01089 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01090 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01091 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01092 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01093 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01094 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01095 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01096 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01097 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01098 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01099 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01100 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01101 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01102 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01103 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01104 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01105 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000},
01106 
01107 {0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01108 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01109 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01110 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01111 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01112 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01113 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01114 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01115 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01116 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01117 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01118 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01119 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01120 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01121 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01122 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01123 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01124 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01125 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01126 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01127 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01128 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01129 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01130 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01131 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01132 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01133 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01134 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01135 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01136 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01137 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
01138 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100},
01139 
01140 {0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01141 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01142 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01143 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01144 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01145 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01146 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01147 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01148 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01149 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01150 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01151 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01152 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01153 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01154 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01155 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01156 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01157 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01158 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01159 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01160 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01161 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01162 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01163 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01164 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01165 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01166 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01167 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01168 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01169 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
01170 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
01171 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201},
01172 
01173 {0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01174 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01175 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01176 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01177 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01178 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01179 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01180 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01181 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01182 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01183 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01184 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01185 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01186 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01187 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01188 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01189 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01190 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01191 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01192 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01193 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01194 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01195 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01196 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01197 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01198 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01199 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01200 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
01201 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
01202 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
01203 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
01204 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402},
01205 
01206 {0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01207 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01208 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01209 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01210 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01211 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01212 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01213 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01214 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01215 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01216 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01217 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01218 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01219 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01220 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01221 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01222 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01223 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01224 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01225 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01226 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01227 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01228 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01229 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
01230 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
01231 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
01232 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
01233 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
01234 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
01235 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
01236 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
01237 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804},
01238 
01239 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01240 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
01241 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
01242 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
01243 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01244 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
01245 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
01246 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
01247 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01248 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
01249 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
01250 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
01251 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
01252 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
01253 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
01254 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,
01255 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01256 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
01257 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
01258 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
01259 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01260 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
01261 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
01262 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
01263 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01264 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
01265 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
01266 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
01267 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
01268 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
01269 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
01270 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008},
01271 
01272 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01273 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01274 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
01275 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
01276 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01277 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01278 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
01279 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
01280 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01281 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01282 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
01283 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
01284 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
01285 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
01286 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
01287 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
01288 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
01289 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
01290 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
01291 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
01292 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
01293 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
01294 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
01295 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
01296 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
01297 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
01298 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
01299 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
01300 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
01301 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
01302 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,
01303 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010},
01304 
01305 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01306 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01307 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01308 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01309 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
01310 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
01311 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
01312 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
01313 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01314 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01315 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01316 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01317 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
01318 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
01319 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
01320 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
01321 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01322 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01323 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01324 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01325 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
01326 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
01327 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
01328 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
01329 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
01330 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
01331 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
01332 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
01333 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
01334 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
01335 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
01336 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020},
01337 
01338 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01339 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01340 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01341 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01342 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01343 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01344 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01345 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01346 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01347 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01348 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01349 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01350 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01351 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01352 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01353 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01354 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01355 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01356 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01357 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01358 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01359 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01360 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01361 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01362 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01363 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01364 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01365 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01366 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01367 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01368 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
01369 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040}};
01370 #else
01371 const word32 Diamond2::Base::permtable[9][256] =
01372 {{0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01373 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01374 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01375 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01376 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01377 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01378 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01379 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01380 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01381 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01382 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01383 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01384 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01385 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01386 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01387 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01388 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01389 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01390 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01391 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01392 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01393 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01394 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01395 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01396 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01397 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01398 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01399 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01400 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01401 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01402 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01403 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102},
01404 
01405 {0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01406 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01407 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01408 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01409 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01410 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01411 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01412 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01413 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01414 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01415 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01416 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01417 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01418 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01419 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01420 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01421 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01422 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01423 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01424 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01425 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01426 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01427 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01428 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01429 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01430 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01431 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01432 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01433 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01434 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01435 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01436 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204},
01437 
01438 {0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01439 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01440 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01441 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01442 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01443 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01444 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01445 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01446 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01447 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01448 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01449 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01450 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01451 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01452 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01453 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01454 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01455 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01456 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01457 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01458 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01459 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01460 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01461 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01462 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01463 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01464 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01465 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01466 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01467 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01468 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01469 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408},
01470 
01471 {0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01472 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01473 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01474 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01475 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01476 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01477 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01478 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01479 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01480 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01481 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01482 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01483 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01484 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01485 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01486 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01487 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01488 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01489 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01490 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01491 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01492 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01493 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01494 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01495 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01496 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01497 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01498 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01499 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01500 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01501 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01502 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810},
01503 
01504 {0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01505 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01506 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01507 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01508 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01509 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01510 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01511 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01512 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01513 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01514 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01515 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01516 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01517 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01518 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01519 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01520 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01521 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01522 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01523 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01524 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01525 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01526 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01527 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01528 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01529 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01530 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01531 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01532 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01533 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01534 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01535 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020},
01536 
01537 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01538 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
01539 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
01540 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
01541 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01542 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
01543 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
01544 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
01545 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01546 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
01547 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
01548 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
01549 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
01550 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
01551 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
01552 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,
01553 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01554 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
01555 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
01556 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
01557 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01558 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
01559 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
01560 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
01561 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01562 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
01563 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
01564 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
01565 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
01566 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
01567 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
01568 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040},
01569 
01570 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01571 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01572 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
01573 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
01574 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01575 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01576 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
01577 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
01578 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01579 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01580 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
01581 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
01582 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
01583 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
01584 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
01585 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
01586 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
01587 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
01588 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
01589 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
01590 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
01591 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
01592 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
01593 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
01594 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
01595 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
01596 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
01597 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
01598 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
01599 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
01600 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,
01601 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080},
01602 
01603 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01604 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01605 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01606 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01607 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01608 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01609 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01610 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01611 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01612 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01613 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01614 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01615 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01616 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01617 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01618 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01619 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01620 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01621 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01622 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01623 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01624 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01625 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01626 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01627 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01628 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01629 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01630 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01631 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01632 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01633 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01634 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000},
01635 
01636 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01637 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01638 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01639 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01640 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01641 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01642 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01643 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01644 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01645 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01646 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01647 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01648 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01649 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01650 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01651 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01652 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01653 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01654 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01655 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01656 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01657 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01658 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01659 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01660 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01661 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01662 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01663 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01664 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01665 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01666 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01667 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000}};
01668 #endif
01669 
01670 #ifndef IS_LITTLE_ENDIAN
01671 const word32 Diamond2::Base::ipermtable[9][256] =
01672 {{0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01673 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01674 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01675 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01676 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01677 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01678 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01679 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01680 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01681 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01682 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01683 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01684 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01685 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01686 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01687 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01688 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01689 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01690 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01691 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01692 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01693 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01694 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01695 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01696 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01697 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01698 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01699 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01700 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01701 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01702 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102,
01703 0x0,0x100,0x2,0x102,0x0,0x100,0x2,0x102},
01704 
01705 {0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01706 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01707 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01708 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01709 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01710 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01711 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01712 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01713 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01714 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01715 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01716 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01717 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01718 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01719 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01720 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01721 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01722 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01723 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01724 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01725 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01726 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01727 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01728 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01729 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01730 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01731 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01732 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01733 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01734 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01735 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204,
01736 0x0,0x10000,0x200,0x10200,0x4,0x10004,0x204,0x10204},
01737 
01738 {0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01739 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01740 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01741 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01742 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01743 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01744 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01745 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01746 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01747 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01748 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01749 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01750 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01751 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01752 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01753 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01754 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01755 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01756 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01757 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01758 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01759 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01760 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01761 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01762 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01763 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01764 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01765 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01766 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01767 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408,
01768 0x0,0x1000000,0x20000,0x1020000,0x400,0x1000400,0x20400,0x1020400,
01769 0x8,0x1000008,0x20008,0x1020008,0x408,0x1000408,0x20408,0x1020408},
01770 
01771 {0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01772 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01773 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01774 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01775 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01776 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01777 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01778 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01779 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01780 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01781 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01782 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01783 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01784 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01785 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01786 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01787 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01788 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01789 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01790 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01791 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01792 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01793 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01794 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01795 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01796 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01797 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01798 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810,
01799 0x0,0x0,0x2000000,0x2000000,0x40000,0x40000,0x2040000,0x2040000,
01800 0x800,0x800,0x2000800,0x2000800,0x40800,0x40800,0x2040800,0x2040800,
01801 0x10,0x10,0x2000010,0x2000010,0x40010,0x40010,0x2040010,0x2040010,
01802 0x810,0x810,0x2000810,0x2000810,0x40810,0x40810,0x2040810,0x2040810},
01803 
01804 {0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01805 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01806 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01807 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01808 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01809 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01810 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01811 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01812 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01813 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01814 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01815 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01816 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01817 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01818 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01819 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01820 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01821 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01822 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01823 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01824 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01825 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01826 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01827 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020,
01828 0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x4000000,0x4000000,
01829 0x80000,0x80000,0x80000,0x80000,0x4080000,0x4080000,0x4080000,0x4080000,
01830 0x1000,0x1000,0x1000,0x1000,0x4001000,0x4001000,0x4001000,0x4001000,
01831 0x81000,0x81000,0x81000,0x81000,0x4081000,0x4081000,0x4081000,0x4081000,
01832 0x20,0x20,0x20,0x20,0x4000020,0x4000020,0x4000020,0x4000020,
01833 0x80020,0x80020,0x80020,0x80020,0x4080020,0x4080020,0x4080020,0x4080020,
01834 0x1020,0x1020,0x1020,0x1020,0x4001020,0x4001020,0x4001020,0x4001020,
01835 0x81020,0x81020,0x81020,0x81020,0x4081020,0x4081020,0x4081020,0x4081020},
01836 
01837 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01838 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
01839 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
01840 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
01841 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01842 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
01843 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
01844 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
01845 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01846 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
01847 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
01848 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
01849 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
01850 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
01851 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
01852 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,
01853 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01854 0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,0x8000000,
01855 0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,0x100000,
01856 0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,0x8100000,
01857 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
01858 0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,0x8002000,
01859 0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,0x102000,
01860 0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,0x8102000,
01861 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
01862 0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,0x8000040,
01863 0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,0x100040,
01864 0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,0x8100040,
01865 0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,0x2040,
01866 0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,0x8002040,
01867 0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,0x102040,
01868 0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040,0x8102040},
01869 
01870 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01871 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01872 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
01873 0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,
01874 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01875 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
01876 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
01877 0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,0x10200000,
01878 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01879 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
01880 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
01881 0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,0x10004000,
01882 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
01883 0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,0x204000,
01884 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
01885 0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,0x10204000,
01886 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
01887 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
01888 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
01889 0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,0x10000080,
01890 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
01891 0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,0x200080,
01892 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
01893 0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,0x10200080,
01894 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
01895 0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,0x4080,
01896 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
01897 0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,0x10004080,
01898 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
01899 0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,0x204080,
01900 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,
01901 0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080,0x10204080},
01902 
01903 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01904 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01905 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01906 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01907 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01908 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01909 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01910 0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,
01911 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01912 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01913 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01914 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
01915 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01916 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01917 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01918 0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,0x20400000,
01919 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01920 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01921 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01922 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
01923 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01924 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01925 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01926 0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,0x20008000,
01927 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01928 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01929 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01930 0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,0x408000,
01931 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01932 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01933 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,
01934 0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000,0x20408000},
01935 
01936 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01937 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01938 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01939 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01940 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01941 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01942 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01943 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
01944 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01945 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01946 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01947 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01948 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01949 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01950 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01951 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
01952 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01953 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01954 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01955 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01956 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01957 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01958 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01959 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
01960 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01961 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01962 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01963 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01964 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01965 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01966 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,
01967 0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000,0x40800000}};
01968 #else
01969 const word32 Diamond2::Base::ipermtable[9][256] =
01970 {{0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01971 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01972 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01973 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01974 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01975 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01976 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01977 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01978 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01979 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01980 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01981 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01982 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01983 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01984 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01985 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01986 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01987 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01988 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01989 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01990 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01991 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01992 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01993 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01994 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01995 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01996 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01997 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01998 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
01999 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
02000 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000,
02001 0x0,0x10000,0x2000000,0x2010000,0x0,0x10000,0x2000000,0x2010000},
02002 
02003 {0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02004 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02005 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02006 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02007 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02008 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02009 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02010 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02011 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02012 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02013 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02014 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02015 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02016 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02017 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02018 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02019 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02020 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02021 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02022 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02023 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02024 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02025 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02026 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02027 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02028 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02029 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02030 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02031 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02032 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02033 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100,
02034 0x0,0x100,0x20000,0x20100,0x4000000,0x4000100,0x4020000,0x4020100},
02035 
02036 {0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02037 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02038 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02039 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02040 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02041 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02042 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02043 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02044 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02045 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02046 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02047 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02048 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02049 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02050 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02051 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02052 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02053 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02054 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02055 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02056 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02057 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02058 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02059 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02060 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02061 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02062 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02063 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02064 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02065 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201,
02066 0x0,0x1,0x200,0x201,0x40000,0x40001,0x40200,0x40201,
02067 0x8000000,0x8000001,0x8000200,0x8000201,0x8040000,0x8040001,0x8040200,0x8040201},
02068 
02069 {0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02070 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02071 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02072 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02073 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02074 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02075 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02076 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02077 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02078 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02079 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02080 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02081 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02082 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02083 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02084 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02085 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02086 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02087 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02088 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02089 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02090 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02091 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02092 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02093 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02094 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02095 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02096 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402,
02097 0x0,0x0,0x2,0x2,0x400,0x400,0x402,0x402,
02098 0x80000,0x80000,0x80002,0x80002,0x80400,0x80400,0x80402,0x80402,
02099 0x10000000,0x10000000,0x10000002,0x10000002,0x10000400,0x10000400,0x10000402,0x10000402,
02100 0x10080000,0x10080000,0x10080002,0x10080002,0x10080400,0x10080400,0x10080402,0x10080402},
02101 
02102 {0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
02103 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
02104 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
02105 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
02106 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
02107 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
02108 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
02109 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
02110 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
02111 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
02112 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
02113 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
02114 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
02115 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
02116 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
02117 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
02118 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
02119 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
02120 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
02121 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
02122 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
02123 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
02124 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
02125 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804,
02126 0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,
02127 0x800,0x800,0x800,0x800,0x804,0x804,0x804,0x804,
02128 0x100000,0x100000,0x100000,0x100000,0x100004,0x100004,0x100004,0x100004,
02129 0x100800,0x100800,0x100800,0x100800,0x100804,0x100804,0x100804,0x100804,
02130 0x20000000,0x20000000,0x20000000,0x20000000,0x20000004,0x20000004,0x20000004,0x20000004,
02131 0x20000800,0x20000800,0x20000800,0x20000800,0x20000804,0x20000804,0x20000804,0x20000804,
02132 0x20100000,0x20100000,0x20100000,0x20100000,0x20100004,0x20100004,0x20100004,0x20100004,
02133 0x20100800,0x20100800,0x20100800,0x20100800,0x20100804,0x20100804,0x20100804,0x20100804},
02134 
02135 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02136 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
02137 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
02138 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
02139 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
02140 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
02141 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
02142 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
02143 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
02144 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
02145 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
02146 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
02147 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
02148 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
02149 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
02150 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,
02151 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02152 0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
02153 0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
02154 0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
02155 0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,0x200000,
02156 0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,0x200008,
02157 0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,0x201000,
02158 0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,0x201008,
02159 0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,
02160 0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,
02161 0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,0x40001000,
02162 0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,0x40001008,
02163 0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,0x40200000,
02164 0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,0x40200008,
02165 0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,0x40201000,
02166 0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008,0x40201008},
02167 
02168 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02169 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02170 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
02171 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
02172 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
02173 0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
02174 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
02175 0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,0x2010,
02176 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
02177 0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,
02178 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
02179 0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,0x400010,
02180 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
02181 0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,0x402000,
02182 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
02183 0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,0x402010,
02184 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
02185 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,
02186 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
02187 0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,0x80000010,
02188 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
02189 0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,0x80002000,
02190 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
02191 0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,0x80002010,
02192 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
02193 0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,0x80400000,
02194 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
02195 0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,0x80400010,
02196 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
02197 0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,0x80402000,
02198 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,
02199 0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010,0x80402010},
02200 
02201 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02202 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02203 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02204 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02205 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
02206 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
02207 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
02208 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
02209 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
02210 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
02211 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
02212 0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,
02213 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
02214 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
02215 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
02216 0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,0x4020,
02217 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
02218 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
02219 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
02220 0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,
02221 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
02222 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
02223 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
02224 0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,0x800020,
02225 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
02226 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
02227 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
02228 0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,0x804000,
02229 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
02230 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
02231 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,
02232 0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020,0x804020},
02233 
02234 {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02235 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02236 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02237 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02238 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02239 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02240 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02241 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
02242 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02243 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02244 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02245 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02246 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02247 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02248 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02249 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
02250 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02251 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02252 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02253 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02254 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02255 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02256 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02257 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
02258 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02259 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02260 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02261 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02262 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02263 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02264 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,
02265 0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040,0x8040}};
02266 #endif
02267 
02268 NAMESPACE_END
02269 
02270 #endif // DIAMOND_USE_PERMTABLE

Generated on Mon Apr 19 18:12:29 2004 for Crypto++ by doxygen 1.3.6-20040222