sl@0: sl@0: BasicMaths Forward Backward Test sl@0: BasicMathsFB sl@0: sl@0: 2048 sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555555 sl@0: FFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes overflow sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555556 sl@0: 0100000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: FFFFFFFFFFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes overflow sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAB sl@0: 5555555555555555 sl@0: 010000000000000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555555 sl@0: FFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes overflow, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555556 sl@0: 0100000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: FFFFFFFFFFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes overflow, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAB sl@0: 5555555555555555 sl@0: 010000000000000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD two large numbers sl@0: BasicMathsVector sl@0: sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE sl@0: 369D0369B20369CD369D0369B20369CD369D0369B20369CD369D0369B20369CD369D0369B20369CD sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD two large numbers sl@0: BasicMathsVector sl@0: sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 1234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD two large numbers with overflow sl@0: BasicMathsVector sl@0: sl@0: 1234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE sl@0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF sl@0: 0100000000000000000000000000000000000000001234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDD sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 4 bytes sl@0: BasicMathsVector sl@0: sl@0: CCCCCCCC sl@0: 33333333 sl@0: 99999999 sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 4 bytes sl@0: BasicMathsVector sl@0: sl@0: FFFFFFFF sl@0: 98765432 sl@0: 6789ABCD sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 8 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: 5555555555555555 sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 2 large numbers sl@0: BasicMathsVector sl@0: sl@0: 0100000000000000000000000000000000000000001234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDD sl@0: 0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF sl@0: 0100000000000000000000000000000000000000000234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- multiply small sl@0: BasicMathsVector sl@0: sl@0: 10 sl@0: 10 sl@0: 0100 sl@0: multiply sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- multiply large sl@0: BasicMathsVector sl@0: sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 014B66DC328828BCA8DE2CC20802F69A5070F2A7DD7DC477F803B88DB2F892559F967E7388736033472944595DEE2E10EEBC0A3F3368FBEE93B8026CA3D37852EC253C86CE58AA75449276A0F8DDDC979CFFB0BB23630EB9F56CEAD54DE840DC4DDA24EF786D72FEA6475F09A2F2A521 sl@0: multiply sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- multiply large different size operands sl@0: BasicMathsVector sl@0: sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 014B66DC328828BCA8DE2CC20802F69A5070F2A7DD7DC477F803B88DB2F892559F967E7388736033472944595DEE2E10EEBC0A3F3368FBEE93B8026CA3D37852EC253C86CE58AA75449276A0F8DDDC979CFFB0BB23630EB9F56CEAD54DE840DC4DDA24EF786D72FEA6475F09A2F2A521 sl@0: 1790FC50E94EFB2011AA5462D02F816CAD8FF281833861E5EB41D6AD02699C8BCAC000E54DC3315E4C0A712A6545205D6F21277C48EF6988ED512EE83CD51B8165B4691E042E86209A7F173A33373C668BB1393CC9EF3E53394ACF25C8568BE6A34BD8F52E6D2520C9B456AAFC330A01F3373D39ED952BE980BAAAF23F5B3AFDB00A5EB75D49A43E81265889476067ABF40E9867FD9F854608C31E538006FD0CBF43EA4BCE96CF sl@0: multiply sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- divide basic sl@0: BasicMathsVector sl@0: sl@0: 1230981F sl@0: 0238973B sl@0: 08 sl@0: divide sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- modulo basic sl@0: BasicMathsVector sl@0: sl@0: 1230981F sl@0: 0238973B sl@0: 6BDE47 sl@0: modulus sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- divide basic no remainder sl@0: BasicMathsVector sl@0: sl@0: 11C4B9D8 sl@0: 0238973B sl@0: 08 sl@0: divide sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- modulus basic no remainder sl@0: BasicMathsVector sl@0: sl@0: 11C4B9D8 sl@0: 0238973B sl@0: 00 sl@0: modulus sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- divide large sl@0: BasicMathsVector sl@0: sl@0: 0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: E10000 sl@0: 8D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000F0FFFF sl@0: divide sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- modulus large sl@0: BasicMathsVector sl@0: sl@0: 0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF sl@0: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF sl@0: 08D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000F0FFFF sl@0: modulus sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 1 sl@0: BasicMathsVector sl@0: sl@0: 01 sl@0: 08 sl@0: 01 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 2 sl@0: BasicMathsVector sl@0: sl@0: 02 sl@0: 08 sl@0: 00 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 3 sl@0: BasicMathsVector sl@0: sl@0: 03 sl@0: 08 sl@0: 03 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 4 sl@0: BasicMathsVector sl@0: sl@0: 05 sl@0: 08 sl@0: 05 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 5 sl@0: BasicMathsVector sl@0: sl@0: 05 sl@0: 07 sl@0: 03 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 1 sl@0: BasicMathsVector sl@0: sl@0: 18 sl@0: 20 sl@0: 08 sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 2 sl@0: BasicMathsVector sl@0: sl@0: 06E4 sl@0: 0364 sl@0: 1C sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 3 sl@0: BasicMathsVector sl@0: sl@0: 0364 sl@0: 06E4 sl@0: 1C sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 4 (two really big prime numbers) sl@0: BasicMathsVector sl@0: sl@0: 96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D42549 sl@0: AB33704201D2EF00EA25B8DC1FE2A80B33677B6E9272E8FEFE43F72844E17EF624C257B0C731CCB53DF2879BD0E7128D7E42588869AEF5076CDDB63410999FBC1E197A933D07AA49DFFE96490F8C1F8F0097F34EBD090FCCB4435C1E551327C9F0BC570F1C2FDF4D6A0728E06F7E80DE2FF1CB35B6839BA2D2B746CBC40C300D0D2B06A812719F157713F506DDB7C18EECBF8EA32D68D0258D188664AD349CFB0AED250FC6A963C173E1A1A7A7416148ABB35D5FA85ABBF9E53CE060AD31AF15A71955ED654ED76CDCBEC2ACF44F53CF41F44F289C531036F7FA040EEC7D0F0AE02EA91CBE737CC8FF24475E44B55FF6DE6BD0E75D32C35BCF5D sl@0: 01 sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: OOM start sl@0: startmemfailure sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555555 sl@0: FFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes overflow sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555556 sl@0: 0100000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: FFFFFFFFFFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes overflow sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAB sl@0: 5555555555555555 sl@0: 010000000000000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555555 sl@0: FFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 4 bytes overflow, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAA sl@0: 55555556 sl@0: 0100000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: FFFFFFFFFFFFFFFF sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- ADD 8 bytes overflow, b > a sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAB sl@0: 5555555555555555 sl@0: 010000000000000000 sl@0: add sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 4 bytes sl@0: BasicMathsVector sl@0: sl@0: CCCCCCCC sl@0: 33333333 sl@0: 99999999 sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 4 bytes sl@0: BasicMathsVector sl@0: sl@0: FFFFFFFF sl@0: 98765432 sl@0: 6789ABCD sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- SUB 8 bytes sl@0: BasicMathsVector sl@0: sl@0: AAAAAAAAAAAAAAAA sl@0: 5555555555555555 sl@0: 5555555555555555 sl@0: subtract sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 1 sl@0: BasicMathsVector sl@0: sl@0: 01 sl@0: 08 sl@0: 01 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 2 sl@0: BasicMathsVector sl@0: sl@0: 02 sl@0: 08 sl@0: 00 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 3 sl@0: BasicMathsVector sl@0: sl@0: 03 sl@0: 08 sl@0: 03 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 4 sl@0: BasicMathsVector sl@0: sl@0: 05 sl@0: 08 sl@0: 05 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- InverseMod 5 sl@0: BasicMathsVector sl@0: sl@0: 05 sl@0: 07 sl@0: 03 sl@0: inversemod sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 1 sl@0: BasicMathsVector sl@0: sl@0: 18 sl@0: 20 sl@0: 08 sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 2 sl@0: BasicMathsVector sl@0: sl@0: 06E4 sl@0: 0364 sl@0: 1C sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Vector Test -- GCD 3 sl@0: BasicMathsVector sl@0: sl@0: 0364 sl@0: 06E4 sl@0: 1C sl@0: gcd sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: BasicMaths Forward Backward Test sl@0: BasicMathsFB sl@0: sl@0: 512 sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: sl@0: sl@0: OOM end sl@0: stopmemfailure sl@0: sl@0: sl@0: KErrNone sl@0: sl@0: