/* FILE: essence_L_tables.c * * AUTHOR: Jason Worth Martin * * DESCRIPTION: This file just contains the tables used * for accelerating the linear functions. * */ #include "essence_api.h" uint32_t L_32_table[] = { 0x00000000, 0x814a3b35, 0x83de4d5f, 0x0294766a, 0x86f6a18b, 0x07bc9abe, 0x0528ecd4, 0x8462d7e1, 0x8ca77823, 0x0ded4316, 0x0f79357c, 0x8e330e49, 0x0a51d9a8, 0x8b1be29d, 0x898f94f7, 0x08c5afc2, 0x9804cb73, 0x194ef046, 0x1bda862c, 0x9a90bd19, 0x1ef26af8, 0x9fb851cd, 0x9d2c27a7, 0x1c661c92, 0x14a3b350, 0x95e98865, 0x977dfe0f, 0x1637c53a, 0x925512db, 0x131f29ee, 0x118b5f84, 0x90c164b1, 0xb143add3, 0x300996e6, 0x329de08c, 0xb3d7dbb9, 0x37b50c58, 0xb6ff376d, 0xb46b4107, 0x35217a32, 0x3de4d5f0, 0xbcaeeec5, 0xbe3a98af, 0x3f70a39a, 0xbb12747b, 0x3a584f4e, 0x38cc3924, 0xb9860211, 0x294766a0, 0xa80d5d95, 0xaa992bff, 0x2bd310ca, 0xafb1c72b, 0x2efbfc1e, 0x2c6f8a74, 0xad25b141, 0xa5e01e83, 0x24aa25b6, 0x263e53dc, 0xa77468e9, 0x2316bf08, 0xa25c843d, 0xa0c8f257, 0x2182c962, 0xe3cd6093, 0x62875ba6, 0x60132dcc, 0xe15916f9, 0x653bc118, 0xe471fa2d, 0xe6e58c47, 0x67afb772, 0x6f6a18b0, 0xee202385, 0xecb455ef, 0x6dfe6eda, 0xe99cb93b, 0x68d6820e, 0x6a42f464, 0xeb08cf51, 0x7bc9abe0, 0xfa8390d5, 0xf817e6bf, 0x795ddd8a, 0xfd3f0a6b, 0x7c75315e, 0x7ee14734, 0xffab7c01, 0xf76ed3c3, 0x7624e8f6, 0x74b09e9c, 0xf5faa5a9, 0x71987248, 0xf0d2497d, 0xf2463f17, 0x730c0422, 0x528ecd40, 0xd3c4f675, 0xd150801f, 0x501abb2a, 0xd4786ccb, 0x553257fe, 0x57a62194, 0xd6ec1aa1, 0xde29b563, 0x5f638e56, 0x5df7f83c, 0xdcbdc309, 0x58df14e8, 0xd9952fdd, 0xdb0159b7, 0x5a4b6282, 0xca8a0633, 0x4bc03d06, 0x49544b6c, 0xc81e7059, 0x4c7ca7b8, 0xcd369c8d, 0xcfa2eae7, 0x4ee8d1d2, 0x462d7e10, 0xc7674525, 0xc5f3334f, 0x44b9087a, 0xc0dbdf9b, 0x4191e4ae, 0x430592c4, 0xc24fa9f1, 0x46d0fa13, 0xc79ac126, 0xc50eb74c, 0x44448c79, 0xc0265b98, 0x416c60ad, 0x43f816c7, 0xc2b22df2, 0xca778230, 0x4b3db905, 0x49a9cf6f, 0xc8e3f45a, 0x4c8123bb, 0xcdcb188e, 0xcf5f6ee4, 0x4e1555d1, 0xded43160, 0x5f9e0a55, 0x5d0a7c3f, 0xdc40470a, 0x582290eb, 0xd968abde, 0xdbfcddb4, 0x5ab6e681, 0x52734943, 0xd3397276, 0xd1ad041c, 0x50e73f29, 0xd485e8c8, 0x55cfd3fd, 0x575ba597, 0xd6119ea2, 0xf79357c0, 0x76d96cf5, 0x744d1a9f, 0xf50721aa, 0x7165f64b, 0xf02fcd7e, 0xf2bbbb14, 0x73f18021, 0x7b342fe3, 0xfa7e14d6, 0xf8ea62bc, 0x79a05989, 0xfdc28e68, 0x7c88b55d, 0x7e1cc337, 0xff56f802, 0x6f979cb3, 0xeedda786, 0xec49d1ec, 0x6d03ead9, 0xe9613d38, 0x682b060d, 0x6abf7067, 0xebf54b52, 0xe330e490, 0x627adfa5, 0x60eea9cf, 0xe1a492fa, 0x65c6451b, 0xe48c7e2e, 0xe6180844, 0x67523371, 0xa51d9a80, 0x2457a1b5, 0x26c3d7df, 0xa789ecea, 0x23eb3b0b, 0xa2a1003e, 0xa0357654, 0x217f4d61, 0x29bae2a3, 0xa8f0d996, 0xaa64affc, 0x2b2e94c9, 0xaf4c4328, 0x2e06781d, 0x2c920e77, 0xadd83542, 0x3d1951f3, 0xbc536ac6, 0xbec71cac, 0x3f8d2799, 0xbbeff078, 0x3aa5cb4d, 0x3831bd27, 0xb97b8612, 0xb1be29d0, 0x30f412e5, 0x3260648f, 0xb32a5fba, 0x3748885b, 0xb602b36e, 0xb496c504, 0x35dcfe31, 0x145e3753, 0x95140c66, 0x97807a0c, 0x16ca4139, 0x92a896d8, 0x13e2aded, 0x1176db87, 0x903ce0b2, 0x98f94f70, 0x19b37445, 0x1b27022f, 0x9a6d391a, 0x1e0feefb, 0x9f45d5ce, 0x9dd1a3a4, 0x1c9b9891, 0x8c5afc20, 0x0d10c715, 0x0f84b17f, 0x8ece8a4a, 0x0aac5dab, 0x8be6669e, 0x897210f4, 0x08382bc1, 0x00fd8403, 0x81b7bf36, 0x8323c95c, 0x0269f269, 0x860b2588, 0x07411ebd, 0x05d568d7, 0x849f53e2 }; uint64_t L_64_table[] = { 0x0000000000000000LL, 0xb0a65313e6966997LL, 0xd1eaf5342bbabab9LL, 0x614ca627cd2cd32eLL, 0x1373b97bb1e31ce5LL, 0xa3d5ea6857757572LL, 0xc2994c4f9a59a65cLL, 0x723f1f5c7ccfcfcbLL, 0x26e772f763c639caLL, 0x964121e48550505dLL, 0xf70d87c3487c8373LL, 0x47abd4d0aeeaeae4LL, 0x3594cb8cd225252fLL, 0x8532989f34b34cb8LL, 0xe47e3eb8f99f9f96LL, 0x54d86dab1f09f601LL, 0x4dcee5eec78c7394LL, 0xfd68b6fd211a1a03LL, 0x9c2410daec36c92dLL, 0x2c8243c90aa0a0baLL, 0x5ebd5c95766f6f71LL, 0xee1b0f8690f906e6LL, 0x8f57a9a15dd5d5c8LL, 0x3ff1fab2bb43bc5fLL, 0x6b299719a44a4a5eLL, 0xdb8fc40a42dc23c9LL, 0xbac3622d8ff0f0e7LL, 0x0a65313e69669970LL, 0x785a2e6215a956bbLL, 0xc8fc7d71f33f3f2cLL, 0xa9b0db563e13ec02LL, 0x19168845d8858595LL, 0x9b9dcbdd8f18e728LL, 0x2b3b98ce698e8ebfLL, 0x4a773ee9a4a25d91LL, 0xfad16dfa42343406LL, 0x88ee72a63efbfbcdLL, 0x384821b5d86d925aLL, 0x5904879215414174LL, 0xe9a2d481f3d728e3LL, 0xbd7ab92aecdedee2LL, 0x0ddcea390a48b775LL, 0x6c904c1ec764645bLL, 0xdc361f0d21f20dccLL, 0xae0900515d3dc207LL, 0x1eaf5342bbabab90LL, 0x7fe3f565768778beLL, 0xcf45a67690111129LL, 0xd6532e33489494bcLL, 0x66f57d20ae02fd2bLL, 0x07b9db07632e2e05LL, 0xb71f881485b84792LL, 0xc5209748f9778859LL, 0x7586c45b1fe1e1ceLL, 0x14ca627cd2cd32e0LL, 0xa46c316f345b5b77LL, 0xf0b45cc42b52ad76LL, 0x40120fd7cdc4c4e1LL, 0x215ea9f000e817cfLL, 0x91f8fae3e67e7e58LL, 0xe3c7e5bf9ab1b193LL, 0x5361b6ac7c27d804LL, 0x322d108bb10b0b2aLL, 0x828b4398579d62bdLL, 0x879dc4a8f8a7a7c7LL, 0x373b97bb1e31ce50LL, 0x5677319cd31d1d7eLL, 0xe6d1628f358b74e9LL, 0x94ee7dd34944bb22LL, 0x24482ec0afd2d2b5LL, 0x450488e762fe019bLL, 0xf5a2dbf48468680cLL, 0xa17ab65f9b619e0dLL, 0x11dce54c7df7f79aLL, 0x7090436bb0db24b4LL, 0xc0361078564d4d23LL, 0xb2090f242a8282e8LL, 0x02af5c37cc14eb7fLL, 0x63e3fa1001383851LL, 0xd345a903e7ae51c6LL, 0xca5321463f2bd453LL, 0x7af57255d9bdbdc4LL, 0x1bb9d47214916eeaLL, 0xab1f8761f207077dLL, 0xd920983d8ec8c8b6LL, 0x6986cb2e685ea121LL, 0x08ca6d09a572720fLL, 0xb86c3e1a43e41b98LL, 0xecb453b15ceded99LL, 0x5c1200a2ba7b840eLL, 0x3d5ea68577575720LL, 0x8df8f59691c13eb7LL, 0xffc7eacaed0ef17cLL, 0x4f61b9d90b9898ebLL, 0x2e2d1ffec6b44bc5LL, 0x9e8b4ced20222252LL, 0x1c000f7577bf40efLL, 0xaca65c6691292978LL, 0xcdeafa415c05fa56LL, 0x7d4ca952ba9393c1LL, 0x0f73b60ec65c5c0aLL, 0xbfd5e51d20ca359dLL, 0xde99433aede6e6b3LL, 0x6e3f10290b708f24LL, 0x3ae77d8214797925LL, 0x8a412e91f2ef10b2LL, 0xeb0d88b63fc3c39cLL, 0x5babdba5d955aa0bLL, 0x2994c4f9a59a65c0LL, 0x993297ea430c0c57LL, 0xf87e31cd8e20df79LL, 0x48d862de68b6b6eeLL, 0x51ceea9bb033337bLL, 0xe168b98856a55aecLL, 0x80241faf9b8989c2LL, 0x30824cbc7d1fe055LL, 0x42bd53e001d02f9eLL, 0xf21b00f3e7464609LL, 0x9357a6d42a6a9527LL, 0x23f1f5c7ccfcfcb0LL, 0x7729986cd3f50ab1LL, 0xc78fcb7f35636326LL, 0xa6c36d58f84fb008LL, 0x16653e4b1ed9d99fLL, 0x645a211762161654LL, 0xd4fc720484807fc3LL, 0xb5b0d42349acacedLL, 0x05168730af3ac57aLL, 0xbf9dda4217d92619LL, 0x0f3b8951f14f4f8eLL, 0x6e772f763c639ca0LL, 0xded17c65daf5f537LL, 0xacee6339a63a3afcLL, 0x1c48302a40ac536bLL, 0x7d04960d8d808045LL, 0xcda2c51e6b16e9d2LL, 0x997aa8b5741f1fd3LL, 0x29dcfba692897644LL, 0x48905d815fa5a56aLL, 0xf8360e92b933ccfdLL, 0x8a0911cec5fc0336LL, 0x3aaf42dd236a6aa1LL, 0x5be3e4faee46b98fLL, 0xeb45b7e908d0d018LL, 0xf2533facd055558dLL, 0x42f56cbf36c33c1aLL, 0x23b9ca98fbefef34LL, 0x931f998b1d7986a3LL, 0xe12086d761b64968LL, 0x5186d5c4872020ffLL, 0x30ca73e34a0cf3d1LL, 0x806c20f0ac9a9a46LL, 0xd4b44d5bb3936c47LL, 0x64121e48550505d0LL, 0x055eb86f9829d6feLL, 0xb5f8eb7c7ebfbf69LL, 0xc7c7f420027070a2LL, 0x7761a733e4e61935LL, 0x162d011429caca1bLL, 0xa68b5207cf5ca38cLL, 0x2400119f98c1c131LL, 0x94a6428c7e57a8a6LL, 0xf5eae4abb37b7b88LL, 0x454cb7b855ed121fLL, 0x3773a8e42922ddd4LL, 0x87d5fbf7cfb4b443LL, 0xe6995dd00298676dLL, 0x563f0ec3e40e0efaLL, 0x02e76368fb07f8fbLL, 0xb241307b1d91916cLL, 0xd30d965cd0bd4242LL, 0x63abc54f362b2bd5LL, 0x1194da134ae4e41eLL, 0xa1328900ac728d89LL, 0xc07e2f27615e5ea7LL, 0x70d87c3487c83730LL, 0x69cef4715f4db2a5LL, 0xd968a762b9dbdb32LL, 0xb824014574f7081cLL, 0x088252569261618bLL, 0x7abd4d0aeeaeae40LL, 0xca1b1e190838c7d7LL, 0xab57b83ec51414f9LL, 0x1bf1eb2d23827d6eLL, 0x4f2986863c8b8b6fLL, 0xff8fd595da1de2f8LL, 0x9ec373b2173131d6LL, 0x2e6520a1f1a75841LL, 0x5c5a3ffd8d68978aLL, 0xecfc6cee6bfefe1dLL, 0x8db0cac9a6d22d33LL, 0x3d1699da404444a4LL, 0x38001eeaef7e81deLL, 0x88a64df909e8e849LL, 0xe9eaebdec4c43b67LL, 0x594cb8cd225252f0LL, 0x2b73a7915e9d9d3bLL, 0x9bd5f482b80bf4acLL, 0xfa9952a575272782LL, 0x4a3f01b693b14e15LL, 0x1ee76c1d8cb8b814LL, 0xae413f0e6a2ed183LL, 0xcf0d9929a70202adLL, 0x7fabca3a41946b3aLL, 0x0d94d5663d5ba4f1LL, 0xbd328675dbcdcd66LL, 0xdc7e205216e11e48LL, 0x6cd87341f07777dfLL, 0x75cefb0428f2f24aLL, 0xc568a817ce649bddLL, 0xa4240e30034848f3LL, 0x14825d23e5de2164LL, 0x66bd427f9911eeafLL, 0xd61b116c7f878738LL, 0xb757b74bb2ab5416LL, 0x07f1e458543d3d81LL, 0x532989f34b34cb80LL, 0xe38fdae0ada2a217LL, 0x82c37cc7608e7139LL, 0x32652fd4861818aeLL, 0x405a3088fad7d765LL, 0xf0fc639b1c41bef2LL, 0x91b0c5bcd16d6ddcLL, 0x211696af37fb044bLL, 0xa39dd537606666f6LL, 0x133b862486f00f61LL, 0x727720034bdcdc4fLL, 0xc2d17310ad4ab5d8LL, 0xb0ee6c4cd1857a13LL, 0x00483f5f37131384LL, 0x61049978fa3fc0aaLL, 0xd1a2ca6b1ca9a93dLL, 0x857aa7c003a05f3cLL, 0x35dcf4d3e53636abLL, 0x549052f4281ae585LL, 0xe43601e7ce8c8c12LL, 0x96091ebbb24343d9LL, 0x26af4da854d52a4eLL, 0x47e3eb8f99f9f960LL, 0xf745b89c7f6f90f7LL, 0xee5330d9a7ea1562LL, 0x5ef563ca417c7cf5LL, 0x3fb9c5ed8c50afdbLL, 0x8f1f96fe6ac6c64cLL, 0xfd2089a216090987LL, 0x4d86dab1f09f6010LL, 0x2cca7c963db3b33eLL, 0x9c6c2f85db25daa9LL, 0xc8b4422ec42c2ca8LL, 0x7812113d22ba453fLL, 0x195eb71aef969611LL, 0xa9f8e4090900ff86LL, 0xdbc7fb5575cf304dLL, 0x6b61a846935959daLL, 0x0a2d0e615e758af4LL, 0xba8b5d72b8e3e363LL };