1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/kernelhwsrv/kerneltest/e32test/buffer/t_memcpy.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,728 @@
1.4 +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// e32test\buffer\t_memcpy.cpp
1.18 +//
1.19 +//
1.20 +
1.21 +#include <e32test.h>
1.22 +#include <e32svr.h>
1.23 +#include "u32std.h"
1.24 +
1.25 +RTest test(_L("T_MEMCPY"));
1.26 +
1.27 +static const TUint32 RandomData[2048]=
1.28 + {
1.29 + 0x15b138c1, 0x19548df5, 0xc4751abd, 0xb3915667,
1.30 + 0xccaed7f9, 0x0b28fb4e, 0x0a209d05, 0x0cc01e4e,
1.31 + 0x8784e75f, 0x0db78374, 0xfeec8e54, 0xb7930c53,
1.32 + 0x6b0cb099, 0x7e8fcfa4, 0x43bda3e9, 0xfbe04e4a,
1.33 + 0xf91488b4, 0x3401071a, 0x0a71232a, 0x170a30e5,
1.34 + 0xa88b42fa, 0x606a077b, 0x9042bab9, 0xe38ac364,
1.35 + 0x5df3246d, 0x1cbf43fd, 0x7a607658, 0xba55b089,
1.36 + 0x06224826, 0xa7934e6a, 0x672f0147, 0xc383fc9b,
1.37 + 0xde0843ad, 0x6b3ef765, 0x5ae92e1c, 0x3f9554f7,
1.38 + 0x4a85ded3, 0xf8afd0e3, 0x0159d864, 0x1d2aade0,
1.39 + 0xa44b5cb4, 0xe7eee024, 0x9df539cd, 0x1d664d30,
1.40 + 0xea60283e, 0x77b3f364, 0x04efb9fc, 0xf9e81360,
1.41 + 0xfdc2066c, 0x5e87c6de, 0x532e065d, 0xc9f2dfb1,
1.42 + 0xc9027348, 0xc3b5b59f, 0x3a832967, 0xafd7ee4e,
1.43 + 0xa90f1db7, 0xa55cf48e, 0x1de69b99, 0x674adbb8,
1.44 + 0x1e1eec3d, 0xe1cca802, 0x3a6677a7, 0x7a494c77,
1.45 + 0x29e3d4a5, 0xa9bbb0c9, 0x6fd14e99, 0xa3013d7c,
1.46 + 0xc257529b, 0x1402180d, 0xab81d6be, 0xc8ab07d5,
1.47 + 0xd428dea8, 0x67fee92b, 0xdd6dc943, 0x3222d783,
1.48 + 0xb4695087, 0x4f3cdcb0, 0x6a5568fd, 0x63a56244,
1.49 + 0xe7f6ff5d, 0x1c0eae6e, 0x64e1b179, 0x29674a2a,
1.50 + 0xe0110b14, 0x60b9c381, 0xac64fb06, 0x9982141b,
1.51 + 0x6d80bcd5, 0xbd0d05ba, 0x0edd2230, 0xd54d9c4c,
1.52 + 0xb3620510, 0x79e00516, 0x3ca16141, 0x0844a024,
1.53 + 0xce201cf0, 0x66df0815, 0xc3eed834, 0x0c742cdd,
1.54 + 0x44f7c221, 0xde59fcf5, 0x70e3a974, 0x82e69c94,
1.55 + 0x28ba0cc1, 0xb4911d29, 0xcb9a122d, 0x44efdd58,
1.56 + 0x5fa26b56, 0x0964553d, 0x41e1fe80, 0xbf18f4b1,
1.57 + 0xd0c76754, 0x9e16fa4b, 0x20afcf2f, 0x6ca5115d,
1.58 + 0xe74756da, 0x86ce0301, 0xa3571bb5, 0xa010d7db,
1.59 + 0xdd75d63a, 0xb3d94020, 0xcdeeacce, 0x8c3bbea4,
1.60 + 0xfdf7908d, 0x07f31839, 0xb27a173b, 0x784ebc19,
1.61 + 0x57e6cb72, 0xc74449cd, 0x273ef695, 0x7cf62c85,
1.62 + 0xdcb34b89, 0xdae1386a, 0xfef633da, 0x1c46b829,
1.63 + 0x65a1ca4e, 0xae740fc0, 0x17c6069c, 0x6b8ac5f6,
1.64 + 0x999a0b62, 0xec7b2b76, 0xc48af9f3, 0xcdda4024,
1.65 + 0x42ef643c, 0xd7347f6d, 0x2c6ced70, 0x58e17336,
1.66 + 0x3b43da2f, 0x20031f17, 0xa1f0f594, 0xdfa13730,
1.67 + 0x7ca39c52, 0x0794ee50, 0x4d2f73fa, 0xd1a814e7,
1.68 + 0xe99a74ea, 0x53839f4d, 0x10351ea5, 0xd9f0d2cd,
1.69 + 0xe1d4b77b, 0xbb9de004, 0x03ceb03e, 0xeae4b6b1,
1.70 + 0x3e1948b9, 0x0b8734e4, 0xf68dd51a, 0xa61740ec,
1.71 + 0x27056206, 0x45a2d559, 0x0f84fa54, 0xc86731ac,
1.72 + 0x172959a4, 0x9e0ee532, 0xa154588c, 0x1522ed14,
1.73 + 0x244034ce, 0x116cfb71, 0xc70161c8, 0xf59c3fbd,
1.74 + 0xb935c44d, 0x80de3a2b, 0x23cdaf29, 0x4b144325,
1.75 + 0xe1b87f89, 0x7724a8b6, 0xf1193b4a, 0xeb383316,
1.76 + 0xf6ad76e1, 0xac38a1b3, 0x5c076519, 0xd8522f09,
1.77 + 0xced98b69, 0x7fda5249, 0x1ac9b888, 0x16ec5d2a,
1.78 + 0xcea4827f, 0x2f75b3c8, 0xcc86552c, 0x0311eaa7,
1.79 + 0x1f2284a1, 0xa7db582d, 0x666f7a70, 0x4490b971,
1.80 + 0x29df4e25, 0x600df112, 0x6f17de78, 0x4a6c6b9a,
1.81 + 0xe38f9bf5, 0x8878957d, 0x4d6b9e68, 0x1f534ec1,
1.82 + 0x3b45b4d4, 0xc6ef9604, 0x9a1782a3, 0x3521f203,
1.83 + 0x85b0c15a, 0xcecdcc41, 0xbba2fd9a, 0xf208d1ed,
1.84 + 0xf41ab7b7, 0x51762ecc, 0xca57dbc3, 0x1897dc68,
1.85 + 0xf18d612c, 0xaed47a7b, 0x10cd8c31, 0x50a5d312,
1.86 + 0xf563c6df, 0x46dc1702, 0x621e2da0, 0xd3d51bed,
1.87 + 0x38545e73, 0xd9cd12a5, 0x3dccda8e, 0x534e8873,
1.88 + 0xc120782b, 0xe7128264, 0xdbaf0c88, 0x9d1f0f95,
1.89 + 0xbe76dc2d, 0xb2f9b539, 0x422f4ebe, 0x55fc4200,
1.90 + 0xeede2fed, 0x9591ceaf, 0xd6221a35, 0xcab251b1,
1.91 + 0xc04234dc, 0xc36cd658, 0xacd3e1e1, 0x6877e677,
1.92 + 0xca5c8f9e, 0x2dd7a512, 0x6cbaf442, 0x991953b0,
1.93 + 0xd9b7a443, 0x169fe348, 0x757b76f3, 0x8dd283a4,
1.94 + 0xeed30f3f, 0x479a73e6, 0x04f359bc, 0x37e26fa0,
1.95 + 0x3d0b3400, 0xadc590dc, 0x0fef0890, 0xf77e8b3f,
1.96 + 0x930cbcaf, 0x024cae73, 0x4bc16385, 0xb3d8eaff,
1.97 + 0x5743800b, 0x93a1793f, 0xde43417b, 0xdb361d0e,
1.98 + 0x8c4be643, 0xf841cca5, 0xe0eab85c, 0x5bf09991,
1.99 + 0x24615e8e, 0x87d8473a, 0xc79f8fe4, 0x9b318e41,
1.100 + 0x557cd277, 0x67991f42, 0x2238ad82, 0x9bc47f7d,
1.101 + 0x0a15ef1f, 0xdbfb0a30, 0x5d5e80cd, 0xc6a39c0c,
1.102 + 0xda9103af, 0x7d727600, 0x99d9329d, 0xdfc544b2,
1.103 + 0xbba989e3, 0xc54af8a5, 0x4d2f2880, 0x541f9101,
1.104 + 0xd31fd5b1, 0x14d4fb95, 0xc5d32197, 0xd0f0edc4,
1.105 + 0xe6a43888, 0x30da9f49, 0xb199d4bd, 0x45873e06,
1.106 + 0xd123f211, 0x57b0ec73, 0xa51f4c68, 0x26492450,
1.107 + 0x81619a3e, 0x5913288e, 0x1e0175a7, 0x185acb56,
1.108 + 0x209807a2, 0x90362ad2, 0x2ab637c2, 0x76273c83,
1.109 + 0x48dbaacc, 0x1ec1148a, 0x1e282ba7, 0x8dae6d09,
1.110 + 0x2007a484, 0xea4b9ce6, 0xcceba2bd, 0xdc5e0c9b,
1.111 + 0x0ee6b6a3, 0xec196590, 0x6055b4cd, 0x6b660cd0,
1.112 + 0xd57e0b3f, 0x8a0cfd3f, 0x0ad58e32, 0xdd89eac1,
1.113 + 0xf068ea66, 0x7692125a, 0x1a6ca88b, 0xc7bee83e,
1.114 + 0x0d5c94ca, 0xcfe2e69b, 0x4998c7d4, 0x28b12161,
1.115 + 0x064e80d4, 0x6b2a06d8, 0x95f88a33, 0xc25f793c,
1.116 + 0x16bc7df5, 0xcc816232, 0xf0639e1f, 0x41d03b12,
1.117 + 0xa35937bc, 0xc2d757f3, 0x14149ab8, 0xc3a1c166,
1.118 + 0x7dc6876f, 0x5695b6de, 0xf027346d, 0x0b554a83,
1.119 + 0xd1029851, 0xc1045038, 0xa581a244, 0x48e495ac,
1.120 + 0x6d288c04, 0xbe540de7, 0x1ff4770c, 0xc88af70e,
1.121 + 0xcb359734, 0x3ce98854, 0x86f18c45, 0x5bbc9399,
1.122 + 0x64e7df82, 0xcf8bc339, 0xdbf67c23, 0x8a3906b2,
1.123 + 0x5577a60e, 0x50db360a, 0x9b0d32b5, 0x9eadc0b0,
1.124 + 0x135de16d, 0xd7b82dcd, 0x6900c076, 0xb8870bb3,
1.125 + 0x2cf8b716, 0x1d0d3a5b, 0xdd2320ff, 0xdc9e6db6,
1.126 + 0x08945652, 0x412f0f3b, 0xd0643a9b, 0xab9ba7f4,
1.127 + 0x6fb29501, 0x1e895b68, 0x1af22c1b, 0x2fb8a4f6,
1.128 + 0x1d9333a2, 0x3df3ba0e, 0x25593f52, 0x8159b7bc,
1.129 + 0xdbd71663, 0x1c8dbaf9, 0x55e94822, 0x3e7687f6,
1.130 + 0x7744248f, 0x79eae5d9, 0x12a8e3c6, 0x07681195,
1.131 + 0x82ad50e0, 0x1458a935, 0x80bf0c91, 0x30969541,
1.132 + 0xf11f55b1, 0x0dd4ba05, 0xcd4a01d6, 0x46b86480,
1.133 + 0xa5143811, 0x110b0d18, 0x38540509, 0x5c7a9743,
1.134 + 0x07497bd5, 0x1419ecab, 0x14c64719, 0xee12bd6d,
1.135 + 0xdcdf837b, 0x165870d8, 0x0c21b8ae, 0x1d9a3d8e,
1.136 + 0xad15f416, 0x09cb9a97, 0xbd4cb69f, 0x15cfaa13,
1.137 + 0x7046e20d, 0xd603ac66, 0xd1c7bb2f, 0x13512ca2,
1.138 + 0x9b62bfe7, 0x664f2997, 0x41bee0d0, 0x4ed27485,
1.139 + 0x00216a40, 0x96b4bc4b, 0x009eee2c, 0x6eadb1fc,
1.140 + 0xec49163a, 0xe7472569, 0x01f502ab, 0xd0d03c58,
1.141 + 0xebad9096, 0xacdfa286, 0xac47bb87, 0x2d9baf1a,
1.142 + 0x2c3c754e, 0xd14ad7b3, 0xc5de5784, 0x07976bbb,
1.143 + 0x7570028a, 0xba90aaec, 0x57e69008, 0x42f3cc2b,
1.144 + 0x1dbb57ce, 0x3ba1485d, 0x095574bb, 0xd3e10763,
1.145 + 0xf986bc29, 0x9701c764, 0xd7f6aecd, 0x01178777,
1.146 + 0xf8fcbc34, 0x37bd1d61, 0xca089210, 0x6c254fca,
1.147 + 0x62ee01cb, 0xd16bbdf3, 0x536aebcf, 0x07098597,
1.148 + 0x1bddb376, 0x56d9bcd6, 0xb0a1b561, 0x4306ce80,
1.149 + 0xcd6b6b96, 0xd00cd8cb, 0xa58ad63d, 0x7fa6bce4,
1.150 + 0xd41d1333, 0xbb3db22a, 0x06bc797e, 0xc4c9d0f3,
1.151 + 0xff6bd78f, 0x42cd1feb, 0x709838fc, 0x3bc3dfc2,
1.152 + 0x201dcde0, 0xccd0ea3d, 0x68cba392, 0x0e5cf12c,
1.153 + 0xc83cb415, 0xaf5f00ff, 0x27a07205, 0x94f0604d,
1.154 + 0xcc7cece1, 0x28f064ff, 0x9237cb5c, 0xb5ae2ef4,
1.155 + 0xb8385cf9, 0xd9d3b3e1, 0xd7d7c48d, 0x97a33b3c,
1.156 + 0xf8625218, 0x5910ac9d, 0x2641842a, 0x8b626aa3,
1.157 + 0x631b0360, 0x01bb81ab, 0xb8c77b59, 0xabd62711,
1.158 + 0xb79a08f1, 0x7b4213cc, 0x9c9dc02f, 0x924c1933,
1.159 + 0x08b53c12, 0xd79bb370, 0xd0fad4b7, 0xc5361608,
1.160 + 0x83fb833b, 0xf9ce7e01, 0x1b072eb0, 0xff6898ae,
1.161 + 0xf63ea334, 0x912c1888, 0x891e84d5, 0xacc218a6,
1.162 + 0xf7eb632d, 0xcdc76d4a, 0x90371fa6, 0x39e1ec4d,
1.163 + 0x02342605, 0xc37a4f35, 0x454e73ce, 0x459bddbe,
1.164 + 0x9f16072e, 0x2ff9e168, 0x89ea782a, 0xe3779222,
1.165 + 0x0899e998, 0x9ad57d61, 0x1abcaf1b, 0x47afe3f7,
1.166 + 0x5de88425, 0x26b61079, 0xf25c9719, 0x305fd889,
1.167 + 0x65a77a1e, 0xc5725158, 0x47acacd6, 0xe91b38fa,
1.168 + 0xc702300d, 0x4081cc0e, 0xbc800dcf, 0x5e9cf30e,
1.169 + 0x607e9f80, 0xd9c7425c, 0x18c660a2, 0x6a6916f7,
1.170 + 0xa45bf13e, 0x6d3e1e4c, 0xd77bc251, 0xd798fc51,
1.171 + 0x64096868, 0x2482367c, 0x3126d82c, 0x7511ab47,
1.172 + 0x203ca7a0, 0x5a645676, 0x68554dbe, 0x60f140d0,
1.173 + 0x2475a22f, 0x48182596, 0x265570ae, 0x44205c15,
1.174 + 0x27d17c77, 0x842fc679, 0x3e7070db, 0x983581ee,
1.175 + 0x940429b7, 0x08996452, 0x12099309, 0x90345087,
1.176 + 0x8d125092, 0xe3800671, 0x71a71422, 0xc991a688,
1.177 + 0x7ea054ae, 0x3a1ac9f6, 0xb1920fe2, 0x78372072,
1.178 + 0x4e1cb4d8, 0xec43d4a8, 0x4b6b6ee2, 0x935b9e44,
1.179 + 0xf0498026, 0xe026ae11, 0x1af246a7, 0xa91359c2,
1.180 + 0xe11582f0, 0x28a5c3f2, 0x486dc57f, 0xf8611d39,
1.181 + 0xede31042, 0xc7f5a45e, 0x39bf31b4, 0xefc4d626,
1.182 + 0x3a8008bb, 0x1dcbb581, 0x35bdc99b, 0x464750a9,
1.183 + 0xd6293536, 0x7847fd1f, 0x43f20ab0, 0x81520d4d,
1.184 + 0x607dd0a1, 0x6d34fe83, 0xf97240d6, 0xd8b44de0,
1.185 + 0x28842478, 0x5605975c, 0x72770c89, 0x49f312db,
1.186 + 0x95d43030, 0x89e91086, 0xd5fce51c, 0xa4afb8c4,
1.187 + 0xa9db96ff, 0xed8235a7, 0xd59b678a, 0x5cb5160e,
1.188 + 0x7f3a6cf4, 0x99527fef, 0x6b57c942, 0xc93fc832,
1.189 + 0x981ccd98, 0x80d7eec1, 0x3e87e488, 0xe10b7c54,
1.190 + 0xc740f25e, 0x6c859fe7, 0x6fbcb908, 0x7c4edb40,
1.191 + 0xd3936099, 0x5fc025b0, 0xadbb1803, 0xe75db274,
1.192 + 0x28899bb2, 0x8dffe506, 0xb8af9909, 0xa5c756d8,
1.193 + 0xa78e2114, 0xb1d65b97, 0x3d525e1e, 0xbb48c4bb,
1.194 + 0xd1efdf43, 0x1503def1, 0xb76ef40e, 0x34f79948,
1.195 + 0x63ef4a9a, 0xc55e0918, 0x823e8caf, 0xa9d5bcca,
1.196 + 0x8f267697, 0x20fa4944, 0x34e967ec, 0x8c0a7b36,
1.197 + 0xe1b65380, 0x15e3289e, 0x387877c8, 0x9b40b250,
1.198 + 0x46855d40, 0x7696a9c9, 0x51d7c1f9, 0xd4f47db3,
1.199 + 0xada10403, 0xc690be68, 0xe8aed1be, 0x994c814b,
1.200 + 0x84b2f8ee, 0xedd792aa, 0x0fc169a9, 0x117a25c3,
1.201 + 0x2ae1204f, 0x87746850, 0x853f3c7b, 0xb1582528,
1.202 + 0x5afe973b, 0xc40cf7dd, 0x2d7ba939, 0x2c2e465e,
1.203 + 0x7272c408, 0x1579e353, 0x9489c8e1, 0x56caf11c,
1.204 + 0x0474b8c9, 0x49b6c8ff, 0xc85498fa, 0xada5e6a7,
1.205 + 0x08b883d8, 0x0c61c12a, 0x1a224137, 0x2902520b,
1.206 + 0xb1a1921f, 0xc1f13510, 0xf3a995b2, 0xe08fe4d1,
1.207 + 0x8e0aea88, 0x69adf3de, 0xebeb1751, 0xc48097e0,
1.208 + 0xeb3e4543, 0x91cb1bbd, 0x795e5a4b, 0x590b98b5,
1.209 + 0x150e9d0a, 0x6357e8b0, 0x4f20f0aa, 0x289adadc,
1.210 + 0xb9e0a6f0, 0x569f5611, 0xde2eb6ea, 0x0479fb32,
1.211 + 0x9d8fd441, 0xb383f118, 0xe6d076e1, 0x74062c30,
1.212 + 0xd8c01b94, 0x6dd94b17, 0xa25ddfae, 0x0cd40f1a,
1.213 + 0x469ba3e4, 0x99739865, 0x753f9b61, 0x4329d982,
1.214 + 0x3c0ccf01, 0xd2f67aaf, 0x8ed1c5ba, 0xdb334f6e,
1.215 + 0x596f4221, 0xd895bc99, 0xb7834534, 0xef92ec63,
1.216 + 0x590f43a1, 0x58bdb45b, 0x771b6d5c, 0x0d58767b,
1.217 + 0x81cb8321, 0x78d7d61d, 0xc10a371e, 0x43f4ffb0,
1.218 + 0x6e017938, 0x20933e95, 0x23a0cd70, 0x9d076f68,
1.219 + 0x38753433, 0x4f79aeee, 0x3d5234a2, 0x3de3398f,
1.220 + 0x2d696e11, 0x0055a70d, 0xda5a0e23, 0x4dcf33cd,
1.221 + 0x55db4cbb, 0x1e2617bf, 0xee68f539, 0x7867ed1a,
1.222 + 0xc2e25aa3, 0x44db191c, 0x13fc4db1, 0xcd253a0a,
1.223 + 0xb5323656, 0x79fc7cb4, 0xfb3571e9, 0x2a842a5c,
1.224 + 0xd7e7d850, 0x1676ed4f, 0x65ef80f9, 0x4af854d3,
1.225 + 0x2031186a, 0x819e242c, 0xa28dd83e, 0x8cc504d3,
1.226 + 0x162fb30b, 0x70276e87, 0xcefbcbac, 0x5bc7206a,
1.227 + 0x5fe535cb, 0x7cae2d2f, 0x5c85e35f, 0xf0770ea8,
1.228 + 0x88d10fd9, 0x549512a5, 0xfb60d6e4, 0xf0de247f,
1.229 + 0x9a28eb9d, 0x43ada1f4, 0x7bc99746, 0xa490a1ea,
1.230 + 0x5856f570, 0x437c7e8f, 0xe656c122, 0x9f394962,
1.231 + 0xdb0a8901, 0xc51558d1, 0xb707b718, 0xa0f25183,
1.232 + 0x75611f97, 0xab49f57f, 0x4af30e10, 0x95988e51,
1.233 + 0xc2295b0a, 0x74a40acf, 0x7afef2c8, 0x5253fc41,
1.234 + 0x16edef4e, 0x558212ff, 0x0beef9c1, 0x6a6b6a46,
1.235 + 0x0391d51a, 0x1c994b44, 0x9af8ec0d, 0xc3bcaa3d,
1.236 + 0x2b7d87a9, 0x4dc45708, 0xe392a5bd, 0x5b928767,
1.237 + 0x85bf3be8, 0x31611ee2, 0x095eafe4, 0xee511917,
1.238 + 0x66b9fae0, 0x2cf2ffbf, 0x39828c47, 0xb4053d63,
1.239 + 0x89d4a62c, 0x8e889bfe, 0xcefba110, 0xdd6cdd5e,
1.240 + 0xa3638499, 0x69f854d3, 0x31b11972, 0x894fa42d,
1.241 + 0xbee509f8, 0x8fed0c02, 0x9736af72, 0x216c75af,
1.242 + 0xd7ecc7a9, 0x278cf1ac, 0x5cdcbd1b, 0xe5bfe0d6,
1.243 + 0x0cd290a6, 0x2f632aa5, 0x251bc703, 0x2efdd16e,
1.244 + 0x4a680c11, 0xa5f51c57, 0x833ff618, 0x3efe78e3,
1.245 + 0xf8f103fe, 0xec476f3b, 0x00d00790, 0x80110bc9,
1.246 + 0x50b410ef, 0xe954f6e2, 0xbbc450cd, 0x18eef9e8,
1.247 + 0x63e9faca, 0xae585780, 0xd25426e5, 0x2b4441c6,
1.248 + 0xd1be4df8, 0x8c00ae3c, 0x4ce393d0, 0x1f4cc81c,
1.249 + 0xc327a83c, 0x1b1015af, 0x0cd2fa1a, 0xa9c8d791,
1.250 + 0xd99d7651, 0x3baba892, 0x275cf63c, 0xdccdb6d2,
1.251 + 0xb50bf039, 0xe5866644, 0x94a77a68, 0x3df53eeb,
1.252 + 0x4d142ba4, 0xe4305b91, 0x77a13ab2, 0xa87bb7de,
1.253 + 0xef40351b, 0x74f1adc2, 0xa0a4fceb, 0x1f9ccf8c,
1.254 + 0x4336a3f5, 0x4ba40540, 0xe5860cf8, 0x120c875c,
1.255 + 0xc1738fb9, 0x58425258, 0x8904a1bc, 0x0e999037,
1.256 + 0x9e4fb1ff, 0x34382bbc, 0x18a7d454, 0x7116ad3b,
1.257 + 0x5258e3b8, 0x2717f3ad, 0x6cb12f1d, 0xa4a94dc4,
1.258 + 0x4688e28a, 0xad6cdb93, 0x9b0f5479, 0x38c039b0,
1.259 + 0x9ffb1527, 0xfeaff579, 0x00006abc, 0x86abfd34,
1.260 + 0xfc86b152, 0x155679fc, 0x6d34fa2d, 0x7938aa85,
1.261 + 0x36340621, 0xdb781ea7, 0x6c567996, 0xd1b251d0,
1.262 + 0x4dc42c34, 0x64215058, 0x27152a5d, 0x412f413c,
1.263 + 0x548465d6, 0x6c1f542a, 0xc34d0621, 0xb1c4980c,
1.264 + 0x91628510, 0x60e04486, 0x34384100, 0x9e0c2960,
1.265 + 0x8d901c69, 0x470e9a44, 0x4a230980, 0x15898598,
1.266 + 0x929d4be5, 0x9df0fc2d, 0xc13aa205, 0x4abd05a9,
1.267 + 0x75041584, 0xfbda457f, 0xd9badf24, 0x412f2b80,
1.268 + 0xd22f98e2, 0x9099e578, 0xd61b7fdd, 0xdcf06221,
1.269 + 0xe85a2f95, 0x56d442a7, 0xef405fa7, 0xf25a50f6,
1.270 + 0x5c224db9, 0x0acab670, 0x2e0259d8, 0x329cafc5,
1.271 + 0xd3b20ad9, 0xc97499fb, 0xad25f62f, 0x89f00388,
1.272 + 0xc4c08d88, 0x6ab8c06f, 0xb95a9ba2, 0x75176a80,
1.273 + 0x4c23b182, 0x1d09f911, 0x9115e599, 0x96d36ba1,
1.274 + 0xfdd3aa0d, 0xc4490942, 0x72b0a38a, 0x3360f2f3,
1.275 + 0x169f4810, 0x7fcea3f4, 0xd5d81ca7, 0xeb2670e1,
1.276 + 0x929d2159, 0x1b5b0119, 0x3dbc1357, 0x5feb7c55,
1.277 + 0x1830efa9, 0x82e2effa, 0xef8ed905, 0x9a573527,
1.278 + 0xbe79e174, 0x412bb4a8, 0x9bdf53e9, 0xb8d13279,
1.279 + 0xcf4f05c8, 0x17fb039b, 0xbbc43a71, 0x9e4504dc,
1.280 + 0x9f6f4b98, 0xbb0e2e7c, 0xbf60dcc8, 0x527ceb43,
1.281 + 0xe78a4bd9, 0x5778b09b, 0x20b5ea46, 0xcefe99cc,
1.282 + 0x8ee38408, 0x7f3145f7, 0x2bc7d047, 0xe8e796ad,
1.283 + 0x8d191387, 0x57b4fcb8, 0xe411f01d, 0x6d092ede,
1.284 + 0x24697529, 0x856622c2, 0xa09f3b68, 0xa3f9178b,
1.285 + 0xc08437cd, 0xa33ec1d5, 0x3d823332, 0xbdf23246,
1.286 + 0x7ddd7efe, 0xe90151ef, 0x619e5eee, 0x5521ca25,
1.287 + 0x3632b671, 0xb07e403f, 0x3c3cd3dc, 0x5323acdc,
1.288 + 0x135c175b, 0xc8dbb720, 0x5f1fde61, 0xd269f216,
1.289 + 0x76159e6a, 0x62ec691b, 0xf7e78bf3, 0x834cfdcd,
1.290 + 0x0e7aae01, 0x2ddd45dd, 0x42b376c5, 0x9635e201,
1.291 + 0x953ae853, 0x64184268, 0x362aa256, 0xb1303a38,
1.292 + 0x5b3b98af, 0x94173516, 0xb95af11e, 0xf3bc97b4,
1.293 + 0xb0a500d0, 0x085f80ed, 0xfc211fb4, 0xefebc124,
1.294 + 0xcbe7ac2c, 0x1f3117e5, 0x1ee6da1c, 0xe2d2a323,
1.295 + 0x5b5b6424, 0x1beff3ac, 0xf2cd36fa, 0xaa0931dd,
1.296 + 0xc619448f, 0x77445533, 0xfef11576, 0xee2fe459,
1.297 + 0x89526ab9, 0xe202ab7c, 0xdbb69805, 0x045b1c47,
1.298 + 0x33e9fd1d, 0x06252eec, 0xd1fc5a69, 0xad58b7e1,
1.299 + 0x5dd24e2d, 0x8a0bffb6, 0x7afe9874, 0xd4f80175,
1.300 + 0xea6b5e1c, 0x40d46b03, 0x66da03ec, 0x1353c0c3,
1.301 + 0x35a5d33b, 0xc7e155e3, 0xf6ae959b, 0x120efbed,
1.302 + 0x66b9ab9d, 0x29e50750, 0xc4878fe0, 0x1abdc65b,
1.303 + 0xd13b5e3e, 0x5d7e4ac8, 0xca13a9c5, 0x5f95811b,
1.304 + 0xf7db7ff0, 0x4c12bb39, 0x0dbacd47, 0x2a091403,
1.305 + 0x0444ba45, 0xc98601ba, 0x84d8a890, 0xc8e558c6,
1.306 + 0x31fecf7c, 0xf408a8fe, 0xf08bbb77, 0xc3f2a184,
1.307 + 0xcbe11c7c, 0x7437497d, 0x4e8c7056, 0x60435e2f,
1.308 + 0x05c35f4b, 0xb71514d4, 0x8ac7c2c6, 0x394f82f7,
1.309 + 0xe488bf33, 0x79b76802, 0xca5b98a4, 0xdca78198,
1.310 + 0x164a41a8, 0xaf3faa27, 0xad3dafc0, 0x0c62d726,
1.311 + 0x2b430927, 0x2533f6c0, 0xadf5f1bf, 0x09e10841,
1.312 + 0x94749d67, 0x83ec368d, 0x029ecb6f, 0x6df99368,
1.313 + 0x2fca4b48, 0xb351ae91, 0x4341c37c, 0xbd972a67,
1.314 + 0x2c6de7f5, 0x4849a77e, 0x3e53305a, 0x2c2c3aef,
1.315 + 0xd5b8e02c, 0x64deb65b, 0xd90ae6bd, 0x42eea770,
1.316 + 0x4b005708, 0x20f0a98b, 0x1ae0e56b, 0x8326ca87,
1.317 + 0xad3b1f90, 0x676489be, 0x7b29a36d, 0xa7a20bcc,
1.318 + 0xf36dcad0, 0xa51bef39, 0xec7e695b, 0x10aa85a7,
1.319 + 0x200f30d3, 0x630aae59, 0x1b60c69a, 0x81d9cb50,
1.320 + 0xdc59e86d, 0xf0aa2b3c, 0x5ae6d030, 0x40706c1f,
1.321 + 0x26f9c460, 0x0f3ae2c3, 0xa9b14bfa, 0xc06709fb,
1.322 + 0x10ac35f7, 0x4b096e4b, 0x33600413, 0x99f13b96,
1.323 + 0xdf41f03f, 0x70a30f15, 0x88a0df00, 0xc9a0631a,
1.324 + 0x62e197a3, 0x280af951, 0x3b906f11, 0x9b392e3b,
1.325 + 0x5f7f22ea, 0x5d9134ac, 0x3d82598e, 0x3b59cf72,
1.326 + 0x815bcfac, 0xfc572813, 0x0caaa4c3, 0x2c1960a0,
1.327 + 0x0006b050, 0x6b065e98, 0x506aaa4a, 0x8291fd0c,
1.328 + 0x5e983b6f, 0xacfae778, 0x780af43c, 0x9346b32a,
1.329 + 0x2291fbbc, 0x0ef33d31, 0x34aa8dd2, 0x328865c1,
1.330 + 0x9f182b11, 0x4d3d015b, 0x768b37c5, 0x0839cb61,
1.331 + 0x18aaf43a, 0x2316d82c, 0x7c09abd6, 0xa4b9bfa0,
1.332 + 0xc9a6d34a, 0x09e7c93b, 0x7860531b, 0xb901921d,
1.333 + 0xc5a11554, 0xf385c592, 0x259bc090, 0xaec4eaa4,
1.334 + 0x19c834ce, 0x8fa8f29d, 0xc8fda5c1, 0x3e22c102,
1.335 + 0xb3014bb1, 0x4d3bb10b, 0x1d8d695d, 0x5853612b,
1.336 + 0x9a3b0936, 0x7d8ee343, 0xd0f34cae, 0xdcb34b9c,
1.337 + 0x5ae06060, 0x2b763287, 0x76936e2a, 0x8dab1fcf,
1.338 + 0xf7297095, 0x6c9dee83, 0x68a6c1cb, 0xd84fdd61,
1.339 + 0x11f1ffaf, 0x970206a7, 0xebeb7ded, 0x422b6ad4,
1.340 + 0x17b8f411, 0x849d6241, 0x146aa066, 0x20333230,
1.341 + 0x233a9b2b, 0xb82ff617, 0x2376893c, 0xf9288b0c,
1.342 + 0xf4248ac4, 0x32be0649, 0xf93b9cb7, 0x4556ba0e,
1.343 + 0xc90bb197, 0xdf9ca532, 0x259d70c0, 0xc5c2b43c,
1.344 + 0x49a29e84, 0x0d390f91, 0x96659eae, 0x92d8267a,
1.345 + 0xcb0bbf8d, 0xde7d0221, 0x3f1c92e1, 0x56a05c1a,
1.346 + 0xae9184e4, 0x4f068682, 0x4feb67bf, 0x918e4ac7,
1.347 + 0x2c6b57a5, 0x234ff9e6, 0x6e399a10, 0xaebdc7e3,
1.348 + 0x8b20db43, 0xc8245123, 0xa1001281, 0xd1a8145a,
1.349 + 0x6991acb4, 0x2e0394ba, 0x2e4a68b9, 0xb1aeaf46,
1.350 + 0x32233481, 0x2a5988e5, 0x0da294a8, 0xaf9bc0ad,
1.351 + 0xebc73eea, 0x860d3715, 0x9077c28d, 0xb4133a07,
1.352 + 0xe9a9e399, 0x6aed6762, 0x63009581, 0x38d8594d,
1.353 + 0x19f8fd39, 0x032feeae, 0x7f7d10a0, 0xeeb486bb,
1.354 + 0x3f31f0ae, 0x8092105e, 0x614cee3b, 0xfe45c8f9,
1.355 + 0xa3ad7e46, 0x0632df40, 0x2eed6d4e, 0xc1a25abd,
1.356 + 0x457af909, 0x0d2dec56, 0x585393ae, 0x15132886,
1.357 + 0x3801f7c3, 0x037ccbd6, 0x4d03013b, 0x169231f4,
1.358 + 0xa856527f, 0x310cda2f, 0x55249845, 0xe3161213,
1.359 + 0x90aa3003, 0x6b552eb4, 0xe741d92e, 0x6e320a74,
1.360 + 0x17be4441, 0xef9b3cd9, 0x44000a2c, 0xa2a2cf3c,
1.361 + 0x7da2a044, 0x14d5116f, 0x5b7c7d00, 0x6a6e3826,
1.362 + 0xd6b57178, 0x3c4d3b78, 0xcd911165, 0x77dedfcf,
1.363 + 0x56139a86, 0x92a1a469, 0x53164705, 0xcdfb7f5d,
1.364 + 0x51086abe, 0x2e2fd7bd, 0xea6c3578, 0x366199da,
1.365 + 0x02ad6cc7, 0xd79acb1a, 0x477cc1fa, 0xefa1ce07,
1.366 + 0x6b3091b0, 0xbc834310, 0x6a70a72f, 0x3f4aa063,
1.367 + 0x35a3636b, 0xace70b7b, 0xa6c43fd1, 0x909f06e1,
1.368 + 0x382190f2, 0x851fe028, 0xbc8d7bdc, 0x89fb7571,
1.369 + 0xf3aaa582, 0x538d77f9, 0xfeb92417, 0x6d1de4da,
1.370 + 0x68c354e1, 0x012fba62, 0x7b31fa82, 0x2230df62,
1.371 + 0x1cee4e7f, 0xea90d996, 0xf8d10346, 0x6c5ce766,
1.372 + 0xf8581c36, 0xfdef61c5, 0x88ebe86c, 0x7af33399,
1.373 + 0x0e400928, 0x87b28cef, 0x6b17b0c6, 0xce87b48b,
1.374 + 0x1c0b6b85, 0x38bde649, 0x423a6707, 0x076d43f5,
1.375 + 0x5789f482, 0x348cd909, 0xd7d6f1f9, 0x84f4e0b3,
1.376 + 0x8c71489e, 0xd2b14964, 0x7dcee36e, 0xd0d19cba,
1.377 + 0x71a36947, 0x0e45c447, 0xdb669f95, 0x844a178e,
1.378 + 0x635dedf2, 0xef71d80e, 0x6a380aa4, 0xb5b64e09,
1.379 + 0x3e3bb4e7, 0x2453a836, 0xa8aabe91, 0xffbc40b3,
1.380 + 0x3bd513e4, 0xccd4c53f, 0x2a39903c, 0x0c1f08df,
1.381 + 0xf6827b07, 0xdcf1404c, 0xfa7c6f81, 0xbbc62c7c,
1.382 + 0xbf24ddcc, 0x124eafc2, 0xe3db79dc, 0xc6707089,
1.383 + 0x6430ae07, 0xb8f82c8c, 0x5eb4d3ad, 0x6260bff0,
1.384 + 0xbacf5454, 0xa822e0a8, 0x7a1bf7f5, 0x8272a3dd,
1.385 + 0xeb048f5e, 0xbd77ac78, 0x247c547b, 0xd779974a,
1.386 + 0x72c86c89, 0xbfacadbe, 0x150db78f, 0xd1fe26d8,
1.387 + 0x0a9293c5, 0x2c751b25, 0xc788d1ea, 0x6edace18,
1.388 + 0x9b8ceeb4, 0x832d3f68, 0x92601692, 0x48592fcc,
1.389 + 0xb6d05c8b, 0x5ea09baf, 0xa6eab7b9, 0x780ecc5c,
1.390 + 0x50c2a322, 0x025371b4, 0x3632fbb9, 0x34a2ee96,
1.391 + 0xb4b81c00, 0xdb9c03b9, 0xadf59b03, 0x8f4af575,
1.392 + 0x68f22c35, 0x96ba4f71, 0x6faa3142, 0x14c139ed,
1.393 + 0x19fe4d69, 0x6829b036, 0x2f17baea, 0x6c257bb7,
1.394 + 0x61a9cbc1, 0x2c68f726, 0x19461a07, 0x6d037bd3,
1.395 + 0x813c85fa, 0x08c1e271, 0x1a47e09c, 0xf32a3f7c,
1.396 + 0xda62d218, 0x4010ed0d, 0x2ed8a46b, 0x1d2ae3e7,
1.397 + 0x20ab03f9, 0x206a13fa, 0x310aaaed, 0xb22b8e54,
1.398 + 0x61f08135, 0x38eb1314, 0x2d44cb5e, 0x5a17800e,
1.399 + 0x550b2557, 0x98d0eb26, 0xc2da19be, 0xc0f6e0d0,
1.400 + 0x0e76708f, 0x6033ce44, 0x8cfdafed, 0x9c800e3e,
1.401 + 0xcea3ebf5, 0x59eea064, 0x46f1145d, 0x323d590d,
1.402 + 0x4c8e784e, 0x41c3d83b, 0x1d625dcb, 0xab6d9453,
1.403 + 0x0cf3fae6, 0xb9d796ee, 0x2585292f, 0x40506092,
1.404 + 0xa6211a2b, 0x42b2393e, 0x82caf4b3, 0xee2e44bb,
1.405 + 0x135c9368, 0x4098cdbd, 0xac97bc17, 0xad8aa4d3,
1.406 + 0x7c8865a1, 0x381e2151, 0x7e1a0749, 0x1f799253,
1.407 + 0x1699f840, 0x14c8fd6c, 0x85b2b6ed, 0x69b78ded,
1.408 + 0xcc051a36, 0xb7a1e661, 0x45b6e76b, 0xccadcf7f,
1.409 + 0x3aa11415, 0x8c11d2cb, 0xdb2454d7, 0xa8df50e6,
1.410 + 0x2161ca65, 0x0c16b5f3, 0xed54642c, 0xb0e8f918,
1.411 + 0xd7e5f1f2, 0x34eddbb7, 0xc7cd91a7, 0x3afcbb7c,
1.412 + 0x56c998d2, 0xb2e9e747, 0xc7008fd3, 0xeb7d795e,
1.413 + 0x222b5e8d, 0xa4fd7509, 0x052e2ad6, 0x603a7368,
1.414 + 0x972bb0c6, 0xf099b76a, 0xe33a7586, 0xd6c557af,
1.415 + 0x3e185836, 0x1a8f4db3, 0xf99c9940, 0x355a4ff5,
1.416 + 0xbe527c1f, 0xf8e8c181, 0x706c77c6, 0x7f4a5c17,
1.417 + 0x9a6457ad, 0x8848f352, 0x4b115d18, 0x30592d89,
1.418 + 0x8af40e6b, 0x859cbf6c, 0x09389f25, 0x8d6e1744,
1.419 + 0x27c349de, 0x277c4698, 0xd7d7ae31, 0x1108c608,
1.420 + 0x04e4e34a, 0x4c46d561, 0x4b757e07, 0xf25ac026,
1.421 + 0x552f0541, 0xdac39f0c, 0xd49102cf, 0x7a6476c1,
1.422 + 0xfa5e24c5, 0x1f634394, 0xbb88ea72, 0xd363580f,
1.423 + 0x5c3159c4, 0xbb84e75a, 0x13b7d296, 0x74f28e04,
1.424 + 0x1299062b, 0x992e3a87, 0x2f3f6fb0, 0x6164b1ce,
1.425 + 0x7baebf5d, 0xd62282cc, 0xc33d8d55, 0xb94b9d3e,
1.426 + 0x657628c8, 0x50379167, 0x510dbda3, 0x735ce9e4,
1.427 + 0x77303381, 0x38a00a4a, 0x9cf4acea, 0x04b4f63e,
1.428 + 0x4d399fcc, 0xbf600410, 0x5ff107f7, 0x3f87f003,
1.429 + 0xe0c3c60d, 0xcc013fc6, 0xf5fcf0bc, 0xb5f5b301,
1.430 + 0x01cac99c, 0x2c7ca609, 0xdc5ecec1, 0x02c3774c,
1.431 + 0xb61570c7, 0x0c06c8a3, 0xea895af9, 0x60eb3b72,
1.432 + 0x03c2bd85, 0x2a390c61, 0x05da966d, 0x2b8b998e,
1.433 + 0x2c5d2e02, 0xc4cebb4d, 0x89d3853b, 0xfcba7d56,
1.434 + 0x59885b33, 0xa977170e, 0xa5cb61db, 0xe4f80ea2,
1.435 + 0x72962078, 0x5b4c9588, 0xe4fec48b, 0x9e37dba6,
1.436 + 0xb2a186f9, 0x413f576f, 0x55e95ee9, 0x3f1a3c85,
1.437 + 0x3c454d86, 0xcafaca6c, 0xc9dba9ab, 0xde776932,
1.438 + 0x99a89d03, 0xc50472d1, 0xa5af2332, 0x20e4b397,
1.439 + 0x5b4b2c7f, 0x1f6267c9, 0xa9cda978, 0x0e71545b,
1.440 + 0x127d1b0a, 0x588e280d, 0xcec7c8ea, 0x9bed4dcb,
1.441 + 0x992a1f77, 0x6d62796d, 0x9127e5a4, 0xb6c9b9be,
1.442 + 0xc0ff30d0, 0x9372915f, 0x60acbea5, 0x7bbc08e9,
1.443 + 0x7d5093a1, 0xb79252a9, 0xfee3b6ba, 0xc41a771c,
1.444 + 0xc57cf7d9, 0xadc3e130, 0xe8f2fe17, 0x5b980ab2,
1.445 + 0x2d67278f, 0x64cb658b, 0x043d0286, 0x5236e460,
1.446 + 0x475d7645, 0xf4cae46e, 0x54239775, 0x13669a8c,
1.447 + 0xe01b8347, 0xc839bd20, 0x7fced96c, 0xd271a191,
1.448 + 0x7321c7fa, 0xa5ef49a3, 0xa66d9eb7, 0x0addbff6,
1.449 + 0x5e91ba12, 0x34e9fe47, 0x8590877a, 0xcabfef16,
1.450 + 0x9bae9e31, 0xa434555b, 0x974f93d9, 0x329a5ac5,
1.451 + 0x3ce17eac, 0x899a77cf, 0xe3b1c5dc, 0xed852c36,
1.452 + 0x2401f45b, 0x0d454af9, 0xd20d385c, 0x3a835f86,
1.453 + 0x28b9cd48, 0x88886e2c, 0xc2a6fb3c, 0x0ee0bd70,
1.454 + 0x0ca75e72, 0x73b48802, 0x715a6314, 0x9e9c7863,
1.455 + 0x88c804bd, 0x442fd61c, 0x5f762ef9, 0x4d5483a9,
1.456 + 0xee90df3d, 0xfabbb035, 0x465e8c7f, 0x4be8b281,
1.457 + 0x2edc4bad, 0x53d4f0eb, 0xe6e4c61b, 0xbf13d8fc,
1.458 + 0xe206225e, 0x1326f01d, 0x6692ae67, 0x99af2ea9,
1.459 + 0x3e3d04b7, 0x4f55f6ae, 0xf8c014db, 0x7d2dbdbf,
1.460 + 0x654d288b, 0x602e2247, 0x52336400, 0x9f59bbf5,
1.461 + 0xd41380bb, 0xd2027d7d, 0xced6e253, 0x894e49bd,
1.462 + 0x203cf6dd, 0x5f73ae99, 0x95504e19, 0xce49bbe8,
1.463 + 0x7c9a5a3d, 0x9beef4a0, 0x22bd787b, 0xc6d90050,
1.464 + 0x7369871e, 0xa1c52993, 0x027ba4ee, 0x3b7331c0,
1.465 + 0x2ea59a0a, 0x4ef269ea, 0x01e794eb, 0x79bd7dee,
1.466 + 0x6b005847, 0x30045f23, 0xddf0124e, 0xefdce7da,
1.467 + 0xb993d874, 0x614eaa2e, 0xda05b8b7, 0x3689af33,
1.468 + 0x01b7e782, 0xfea3dc2b, 0x42935a3c, 0x94ea6450,
1.469 + 0xec303ceb, 0x75d6a928, 0xd079d993, 0xf5a5d393,
1.470 + 0xa7ebd3b7, 0x6ece9f37, 0x5e943a72, 0xeced33f7,
1.471 + 0xa549e3af, 0x4c9e051e, 0x461ee6ee, 0xcd619fa1,
1.472 + 0x7f4ad824, 0x12272d30, 0x7bc09124, 0x34f20bdd,
1.473 + 0x3ac4d642, 0xd0064621, 0x0c6133d6, 0x950df0bb,
1.474 + 0x958d4105, 0x1ed6f16f, 0xe07d86b0, 0x2855c1dd,
1.475 + 0x4837346d, 0xd75d4743, 0x3fda905c, 0x36e88b40,
1.476 + 0x93c04c9c, 0x4d29e29c, 0xb8bd3ac5, 0x8ff2c59d,
1.477 + 0xeba0bc74, 0xfe1711db, 0x0e16380c, 0xe48bd24e,
1.478 + 0xcf6105d1, 0x77ed9596, 0x62aface1, 0xcb99cac9,
1.479 + 0x796072f2, 0xbb9f12c0, 0xace383ae, 0x6e4b2733,
1.480 + 0x8556abcc, 0xa8179f67, 0x2dfdbd6c, 0x4d281a64,
1.481 + 0xa7324741, 0x77ed34de, 0x68bb7ce4, 0x8393f64b,
1.482 + 0x7ead4ccf, 0x6b9a50de, 0x10c0c963, 0x04f654fe,
1.483 + 0xe734c40c, 0x3fdaa1fb, 0xb5f2eba2, 0xf4435a95,
1.484 + 0x4f88f9b2, 0x285f5e5c, 0xe1ca6132, 0xd6f61df6,
1.485 + 0x0aa46e51, 0x43b72313, 0xd3eaacb7, 0x433e2268,
1.486 + 0x43b9950f, 0xb88c310f, 0x1f56e972, 0xe13c5aaa,
1.487 + 0xb5348606, 0x12fa222c, 0xab5fdba3, 0xa815d750,
1.488 + 0x897fe33f, 0xba8c0a37, 0x1de574c5, 0xd9bee7f9,
1.489 + 0x02a0e3d6, 0x8f6d191d, 0x962755ec, 0xbe4d6112,
1.490 + 0x8937981a, 0x3d1a6fdc, 0xb870fc69, 0x53feeb0b,
1.491 + 0x474fc1f1, 0x5fb8f503, 0x208c4889, 0x54ceb108,
1.492 + 0x4177dc93, 0x5d72db9e, 0x830085ff, 0x49dfb662,
1.493 + 0x5f89fec9, 0xb0286466, 0x5e5257d6, 0x0a544b4e,
1.494 + 0x419ec1be, 0xccd48c12, 0x2eab64e3, 0xa11b8860,
1.495 + 0x680bc2b0, 0x882ee9da, 0xaa8ade45, 0xf8a130a8,
1.496 + 0xef5a16a1, 0xd6c7163c, 0x9a0042be, 0x492bc5cd,
1.497 + 0x98c93b6a, 0x5fd23848, 0x0c6d9ce2, 0xdff8e38e,
1.498 + 0xe1c49fdb, 0x391ffc7c, 0x6348380a, 0xb224b727,
1.499 + 0x12602ab5, 0x8b9b4de3, 0x711391e0, 0x8197c0e9,
1.500 + 0x3cc573b8, 0xc9593549, 0xf7f805db, 0x7ba1b557,
1.501 + 0xa685a0c3, 0x894ee8f5, 0x2a2826d8, 0x1779921b,
1.502 + 0x929d7024, 0x1e4cf9f6, 0xc0b910f0, 0xf153876d,
1.503 + 0x40df17bb, 0x51143ecc, 0xeb66d1d0, 0x18ae6962,
1.504 + 0xeac11a1d, 0x64c15b42, 0xa7d487dc, 0x1b978257,
1.505 + 0x75eeb675, 0x51900e23, 0xa82a3d93, 0x77cc29b5,
1.506 + 0x797d434d, 0x688a772e, 0x1337daa4, 0x7431aa11,
1.507 + 0x20b9c703, 0x0c2cd343, 0x4b225d13, 0x8040168d,
1.508 + 0xc148d752, 0x6dd14d74, 0x223fe499, 0xef566cb9,
1.509 + 0x9160af4a, 0xc244fb81, 0x2e9a6f29, 0x31bfa48f,
1.510 + 0x6297246e, 0xc30d7e07, 0xb666c465, 0xb7753945,
1.511 + 0x882ec420, 0x28556095, 0x4223e468, 0x9f577bc1,
1.512 + 0x3817ae61, 0xe6edc95e, 0x2fe30651, 0x27949151,
1.513 + 0xdadf5505, 0x183ffb01, 0x73afeaba, 0x477c512a,
1.514 + 0xe6ac86ff, 0xbb39b8cc, 0x46101807, 0x22887e2b,
1.515 + 0x16a68e7f, 0xe3b4b904, 0xba4a1726, 0xfc576456,
1.516 + 0x086ed2ad, 0xe91db7c7, 0x2ff2a91c, 0xbd689f58,
1.517 + 0xd741c2d8, 0x778d6614, 0xeda7fdd0, 0x090efe78,
1.518 + 0xeb60f18a, 0x7aa8df6f, 0xb0a294bd, 0xf11a954f,
1.519 + 0x51d9bfba, 0x33177cec, 0x6e457892, 0x60ab9a43,
1.520 + 0x89f1f5be, 0xdba31765, 0x5ca7de78, 0xd3b46207,
1.521 + 0x2ffa43fc, 0x33c2e2c2, 0x37cd521d, 0xcec775e2,
1.522 + 0x903d93f2, 0x9121e0eb, 0x569e451c, 0x4f1ee67f,
1.523 + 0xc9e88fa1, 0x6c0e5110, 0x53162db9, 0x4b508269,
1.524 + 0xad8edbec, 0x3b79ae41, 0x8758cf55, 0x4f59335f,
1.525 + 0x34996ae6, 0x0ce2d5bd, 0x2b2ab86c, 0x3e139fd7,
1.526 + 0x26f4bd84, 0xd8a21348, 0x4d658d72, 0x7e65e15f,
1.527 + 0x612706bd, 0xc0f85f51, 0x658939f0, 0x215b9eed,
1.528 + 0xa94315e2, 0xe5ffa4ae, 0x88b53adc, 0x17f75c11,
1.529 + 0x7e3ab9eb, 0x1483edbd, 0xb49a2d97, 0x78946142,
1.530 + 0xfa5e1f04, 0x9cdf464f, 0xba0b5887, 0x688ddacb,
1.531 + 0x69ea5bfb, 0x114a9ce9, 0x216bdc62, 0x2d73cce6,
1.532 + 0x2a7784d4, 0x6d7684bd, 0x5ef097b1, 0xa60351b8,
1.533 + 0xe61a26bd, 0xd166ce48, 0x8457ef61, 0x3cdde47d,
1.534 + 0x4029263c, 0x32775039, 0x6c383edf, 0x35f1ec30,
1.535 + 0x843bfe5b, 0xfdf840f2, 0x7af307d6, 0x0d04e33b,
1.536 + 0x48b1c516, 0xb809890b, 0xc49478cc, 0xa5c6f63a,
1.537 + 0x3d80d8c5, 0x134c3d56, 0x4a737a0c, 0x12997c2f,
1.538 + 0x9e8e47ff, 0x2b38d14c, 0x1888a92e, 0x86d6bcfa,
1.539 + 0x28a4fcf7, 0x5b9d0bc2, 0x7d72a236, 0x149a3052,
1.540 + 0xa94832bd, 0xd78fc426, 0x1785836b, 0x53f4748a
1.541 + };
1.542 +
1.543 +TUint8* MemCopy(TAny* aTrg, const TAny* aSrc, TInt aLength)
1.544 + {
1.545 + return Mem::Copy(aTrg, aSrc, aLength);
1.546 + }
1.547 +
1.548 +void DoOverlapTest(TUint8* aBigBuf, TUint8* aBigBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aTestLen)
1.549 + {
1.550 + test.Printf(_L("."));
1.551 +
1.552 + TInt32 i;
1.553 +
1.554 + TUint32* x = (TUint32*)aBigBuf;
1.555 + TUint32* xdash = (TUint32*)aBigBuf2;
1.556 + const TUint32* s = (TUint32*)RandomData;
1.557 +
1.558 + for (i=0; i<aBufLen; i+=4) // fill with noise (this fills the whole big buffer)
1.559 + *xdash++ = *x++ = *s++;
1.560 +
1.561 + TUint8* p = aBigBuf + aSrcOffset;
1.562 + TUint8* pdash = aBigBuf2 + aSrcOffset;
1.563 +
1.564 + TUint8* q = aBigBuf + aDestOffset; // p..p+aTestLen and q..q+aTestLen overlap
1.565 + TUint8* qdash = aBigBuf2 + aDestOffset;
1.566 +
1.567 + //
1.568 + // Naive memcpy implementation: do not imitate!
1.569 + //
1.570 +
1.571 + TUint8* r;
1.572 + TUint8* t;
1.573 + if (q > p)
1.574 + {
1.575 + r = q + aTestLen; // point to end of buffer;
1.576 + t = p + aTestLen;
1.577 +
1.578 + while(r!=q)
1.579 + *--r=*--t;
1.580 + }
1.581 + else
1.582 + {
1.583 + r = q;
1.584 + t = p;
1.585 +
1.586 + while(r!=(q+aTestLen))
1.587 + *r++=*t++;
1.588 + }
1.589 +
1.590 + TUint8* result = MemCopy(qdash, pdash, aTestLen);
1.591 + test(result == qdash + aTestLen);
1.592 +
1.593 + for (i=0; i<aBufLen; i++)
1.594 + {
1.595 + if (aBigBuf[i]!=aBigBuf2[i])
1.596 + {
1.597 + test.Printf(_L("\nError! %4d != %4d at %4d!\n"), aBigBuf[i], aBigBuf2[i], i);
1.598 + test(0);
1.599 + }
1.600 + }
1.601 + }
1.602 +
1.603 +void DoTest(TUint8* aBuf1, TUint8* aBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aLen, TBool aSrc2)
1.604 + {
1.605 + test.Printf(_L("."));
1.606 + TInt i;
1.607 + TUint32* p=(TUint32*)aBuf1;
1.608 + const TUint32* s=RandomData;
1.609 + for (i=0; i<aBufLen; i+=4)
1.610 + *p++=*s++;
1.611 + p=(TUint32*)aBuf2;
1.612 + for (i=0; i<aBufLen; i+=4)
1.613 + *p++=*s++;
1.614 + TUint8* pS;
1.615 + TUint8* pD;
1.616 + TUint8* pSB;
1.617 + const TUint8* pSB0;
1.618 + TUint8* pDB;
1.619 + const TUint8* pDB0;
1.620 + if (aSrc2)
1.621 + {
1.622 + pSB=aBuf2;
1.623 + pSB0=((const TUint8*)RandomData)+aBufLen;
1.624 + pDB=aBuf1;
1.625 + pDB0=((const TUint8*)RandomData);
1.626 + pS=aBuf2+aSrcOffset;
1.627 + pD=aBuf1+aDestOffset;
1.628 + }
1.629 + else
1.630 + {
1.631 + pSB=aBuf1;
1.632 + pDB0=((const TUint8*)RandomData)+aBufLen;
1.633 + pDB=aBuf2;
1.634 + pSB0=((const TUint8*)RandomData);
1.635 + pS=aBuf1+aSrcOffset;
1.636 + pD=aBuf2+aDestOffset;
1.637 + }
1.638 + TUint8* retptr = MemCopy(pD,pS,aLen);
1.639 + TInt err=0;
1.640 + if (retptr != pD + aLen)
1.641 + goto error;
1.642 + err++;
1.643 + for (i=0; i<aBufLen; i++)
1.644 + {
1.645 + if (pSB[i]!=pSB0[i])
1.646 + goto error;
1.647 + }
1.648 + err++;
1.649 + for (i=0; i<aDestOffset; i++)
1.650 + {
1.651 + if (pDB[i]!=pDB0[i])
1.652 + goto error;
1.653 + }
1.654 + err++;
1.655 + for (i=0; i<aLen; i++)
1.656 + {
1.657 + if (pDB[i+aDestOffset]!=pSB0[i+aSrcOffset])
1.658 + goto error;
1.659 + }
1.660 + err++;
1.661 + for (i=aDestOffset+aLen; i<aBufLen; i++)
1.662 + {
1.663 + if (pDB[i]!=pDB0[i])
1.664 + goto error;
1.665 + }
1.666 + return;
1.667 +
1.668 +error:
1.669 + test.Printf(_L("\n\nERROR %d: aBufLen=%d, aSrcOffset=%d, aDestOffset=%d, aLen=%d, aSrc2=%d\n\n"),
1.670 + err, aBufLen, aSrcOffset, aDestOffset, aLen, aSrc2);
1.671 + test(0);
1.672 + }
1.673 +
1.674 +GLDEF_C TInt E32Main()
1.675 + {
1.676 + test.Title();
1.677 + test.Start(_L("Create chunk"));
1.678 + RChunk c;
1.679 + TInt r=c.CreateDisconnectedLocal(0,0x1000,0x100000);
1.680 + test(r==KErrNone);
1.681 + r=c.Commit(0x10000,0x1000);
1.682 + test(r==KErrNone);
1.683 + TUint8* pBuf1=c.Base();
1.684 + TUint8* pBuf2=pBuf1+0x10000;
1.685 +
1.686 + TInt s;
1.687 + TInt d;
1.688 + TInt l;
1.689 +
1.690 + for (l=1; l<300; l+=3)
1.691 + {
1.692 + for (s=0; s<=4096-l; s+=227)
1.693 + {
1.694 + test.Printf(_L("\ns=%4d l=%4d: "),s,l);
1.695 + for (d=0; d<=4096-l; d+=229)
1.696 + {
1.697 + DoTest(pBuf1,pBuf2,4096,s,d,l,0);
1.698 + DoTest(pBuf1,pBuf2,4096,s,d,l,1);
1.699 + }
1.700 + }
1.701 + }
1.702 +
1.703 + for (l=1; l<300; l+=3)
1.704 + {
1.705 + for (s=4096-l; s>=0; s-=227)
1.706 + {
1.707 + test.Printf(_L("\ns=%4d l=%4d: "),s,l);
1.708 + for (d=4096-l; d>=0; d-=229)
1.709 + {
1.710 + DoTest(pBuf1,pBuf2,4096,s,d,l,0);
1.711 + DoTest(pBuf1,pBuf2,4096,s,d,l,1);
1.712 + }
1.713 + }
1.714 + }
1.715 +
1.716 + for (l=1; l<400; l+=((l<=64)?1:3) )
1.717 + {
1.718 + test.Printf(_L("\nOverlap test: l=%4d: "),l);
1.719 + for (s=32; s<=4096-32-l; s+=101) // want s to take all values 0...31 modulo 32
1.720 + {
1.721 + for (d=s-32; d<=s+32; ++d)
1.722 + {
1.723 + DoOverlapTest(pBuf1,pBuf2,4096,s,d,l);
1.724 + }
1.725 + }
1.726 + }
1.727 +
1.728 + c.Close();
1.729 + test.End();
1.730 + return 0;
1.731 + }