114 lines
No EOL
3 KiB
Text
114 lines
No EOL
3 KiB
Text
// ТЕСТЫ FixedPoint
|
|
//тесты из условия:
|
|
16.12 0 0x17360,23.210
|
|
8.8 1 0xdc9f + 0xd736,-76.168
|
|
|
|
//оффициальные тесты (github):
|
|
16.12 0 0x17360,23.210
|
|
16.16 1 0x173600,23.211
|
|
8.8 2 0x9c9f,-99.378
|
|
8.8 3 0x9c9f,-99.379
|
|
8.8 0 0x9c9f + 0x1736,-76.167
|
|
8.8 1 0xdc9f + 0xd736,-76.168
|
|
16.16 2 0x6f7600 + 0x173600,134.672
|
|
16.16 3 0x6f7600 + 0x173600,134.671
|
|
|
|
//Тесты на округление и вывод:
|
|
13.7 1 0x7ffff,4095.992
|
|
13.7 2 0x7ffff,4095.993
|
|
13.7 1 0xfffff,-0.008
|
|
13.7 2 0xfffff,-0.007
|
|
1.12 0 0x51,0.019
|
|
1.12 1 0x51,0.020
|
|
1.12 2 0x1051,-0.980
|
|
1.12 3 0x1051,-0.981
|
|
1.0 0 0x1,-1.000
|
|
2.0 0 0x1,1.000
|
|
12.0 0 0x539,1337.000
|
|
31.0 0 0x539,1337.000
|
|
1.27 2 0x8000001,-0.999
|
|
1.27 3 0x8000001,-1.000
|
|
4.16 3 0x2ffff,2.999
|
|
4.16 2 0x2ffff,3.000
|
|
4.16 0 0xeffff,-1.000
|
|
4.16 2 0xeffff,-1.000
|
|
4.16 3 0xeffff,-1.001
|
|
3.1 0 0xb,-2.500
|
|
3.1 1 0xb,-2.500
|
|
3.1 2 0xb,-2.500
|
|
3.1 3 0xb,-2.500
|
|
3.1 0 0x3,1.500
|
|
3.1 1 0x3,1.500
|
|
3.1 2 0x3,1.500
|
|
3.1 3 0x3,1.500
|
|
|
|
//Тесты на сложение (крайние случаи)
|
|
16.0 0 0x7b + 0xe4,351.000
|
|
1.16 0 0x172a + 0x2ad5,0.257
|
|
1.16 1 0x172a + 0x2ad5,0.258
|
|
1.16 2 0x172a + 0x2ad5,0.258
|
|
1.16 3 0x172a + 0x2ad5,0.257
|
|
1.0 0 0x1 + 0x0,-1.000
|
|
1.0 0 0x1 + 0x1,0.000
|
|
8.24 0 0x623db143 + 0x7434c23e,-41.552
|
|
|
|
//Тесты на вычитание
|
|
16.16 0 0x7b8ba0 - 0x6fc540,11.774
|
|
16.16 1 0x7b8ba0 - 0x6fc540,11.775
|
|
16.16 0 0x9ae8dfc - 0xc0000,2466.554
|
|
16.16 0 0x80060000 - 0x80190000,-19.000
|
|
3.4 0 0x50 - 0x10,-4.000
|
|
|
|
//Тесты на умножение
|
|
16.4 0 0x64 x 0x64,39.062
|
|
16.4 1 0x64 x 0x64,39.062
|
|
16.4 2 0x64 x 0x64,39.063
|
|
16.4 3 0x64 x 0x64,39.062
|
|
16.4 0 0x640 x 0x640,10000.000
|
|
16.4 0 0x68 x 0x28,16.250
|
|
8.1 0 0x7 x 0xb,19.000
|
|
8.1 1 0x7 x 0xb,19.000
|
|
8.1 3 0x7 x 0xb,19.000
|
|
8.1 2 0x7 x 0xb,19.500
|
|
|
|
//Тесты на деление
|
|
16.4 0 0x64 / 0x64,1.000
|
|
16.4 0 0x64 / 0x0,division by zero
|
|
16.8 0 0x6400 / 0x80,200.000
|
|
16.8 0 0x6400 / 0x400,25.000
|
|
16.8 0 0x6400 / 0x800,12.500
|
|
16.8 0 0x6400 / 0x1000,6.250
|
|
16.8 0 0x6400 / 0x300,33.332
|
|
16.8 1 0x6400 / 0x300,33.332
|
|
16.8 2 0x6400 / 0x300,33.336
|
|
16.8 3 0x6400 / 0x300,33.332
|
|
16.4 0 0x867ca x 0x00145a,28741.062
|
|
|
|
//ТЕСТЫ FixedPoint
|
|
f 0 0xB9CD542,0x1.39aa84p-104
|
|
f 1 0x3,0x1.800000p-148
|
|
f 0 0x00000023,0x1.180000p-144
|
|
f 0 0x414587dd x 0x42ebf110,0x1.6c1b72p+10
|
|
f 1 0x414587dd x 0x42ebf110,0x1.6c1b72p+10
|
|
f 2 0x414587dd x 0x42ebf110,0x1.6c1b74p+10
|
|
f 3 0x414587dd x 0x42ebf110,0x1.6c1b72p+10
|
|
f 0 0x414587dd + 0x42ebf110,0x1.04a20ap+7
|
|
f 1 0x414587dd + 0x42ebf110,0x1.04a20cp+7
|
|
f 2 0x414587dd + 0x42ebf110,0x1.04a20cp+7
|
|
f 3 0x414587dd + 0x42ebf110,0x1.04a20ap+7
|
|
h 0 0x4145 x 0x42eb,0x1.238p+3
|
|
h 1 0x4145 x 0x42eb,0x1.23cp+3
|
|
h 2 0x4145 x 0x42eb,0x1.23cp+3
|
|
h 3 0x4145 x 0x42eb,0x1.238p+3
|
|
h 0 0x8000 + 0x0,0x0.000p+0
|
|
h 0 0x8000 + 0x0,0x0.000p+0
|
|
f 0 0x0,0x0.000000p+0
|
|
f 0 0x7f800000,inf
|
|
f 0 0xff800000,-inf
|
|
f 0 0x7fc00000,nan
|
|
f 0 0x1 / 0x0,inf
|
|
f 0 0xff800000 / 0x7f800000,nan
|
|
|
|
,f 0 0x7F3CE508 / 0x003CE508,inf
|
|
,f 0 0x7F3CE508 / 0xD2A07070,-0x1.2d6770p+89
|
|
,f 0 0x00011C75 / 0x0061CFDA,0x1.744008p-7 |