os/kernelhwsrv/kerneltest/e32test/buffer/t_memcpy.cpp
changeset 0 bde4ae8d615e
     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 +	}