Making check in Half
Making check in HalfTest
mkdir .libs
creating HalfTest
testing type half:
size and alignment
sizeof (half) = 2
alignof (half) = 2
ok
basic arithmetic operations:
f1 = 1, f2 = 2, h1 = 3, h2 = 4
h1 = f1 + f2: 3
h2 += f1: 5
h2 = h1 + h2: 8
h2 += h1: 11
h1 = h2: 11
h2 = -h1: -11
ok
float-to-half conversion error for normalized half numbers
max error = 0.000487566
max expected error = 0.00048828
ok
float-to-half conversion error for denormalized half numbers
max error = 2.98023e-08
max expected error = 2.98023e-08
ok
rounding normalized numbers to 10-bit precision
max error = 0
max expected error = 0
ok
rounding denormalized numbers to 10-bit precision
max error = 0
max expected error = 0
ok
rounding normalized numbers to 9-bit precision
max error = 0.000975609
max expected error = 0.00097656
ok
rounding denormalized numbers to 9-bit precision
max error = 5.96046e-08
max expected error = 5.96046e-08
ok
rounding normalized numbers to 1-bit precision
max error = 0.249634
max expected error = 0.249999
ok
rounding denormalized numbers to 1-bit precision
max error = 1.52588e-05
max expected error = 1.52588e-05
ok
rounding normalized numbers to 0-bit precision
max error = 0.499756
max expected error = 0.499999
ok
rounding denormalized numbers to 0-bit precision
max error = 3.05176e-05
max expected error = 3.05176e-05
ok
specific bit patterns
1 0 01111111 00000000000000000000000 0 01111 0000000000
1 0 01111111 00000000000000000000000
1.0009766 0 01111111 00000000010000000000000 0 01111 0000000001
1.0009766 0 01111111 00000000010000000000000
1.0004883 0 01111111 00000000001000000000000 0 01111 0000000000
1 0 01111111 00000000000000000000000
1.0004882 0 01111111 00000000000111111111111 0 01111 0000000000
1 0 01111111 00000000000000000000000
1.0004884 0 01111111 00000000001000000000001 0 01111 0000000001
1.0009766 0 01111111 00000000010000000000000
1.0019531 0 01111111 00000000100000000000000 0 01111 0000000010
1.0019531 0 01111111 00000000100000000000000
1.0014648 0 01111111 00000000011000000000000 0 01111 0000000010
1.0019531 0 01111111 00000000100000000000000
1.0014647 0 01111111 00000000010111111111111 0 01111 0000000001
1.0009766 0 01111111 00000000010000000000000
1.001465 0 01111111 00000000011000000000001 0 01111 0000000010
1.0019531 0 01111111 00000000100000000000000
0.99951172 0 01111110 11111111110000000000000 0 01110 1111111111
0.99951172 0 01111110 11111111110000000000000
0.99975586 0 01111110 11111111111000000000000 0 01111 0000000000
1 0 01111111 00000000000000000000000
0.99975592 0 01111110 11111111111000000000001 0 01111 0000000000
1 0 01111111 00000000000000000000000
0.9997558 0 01111110 11111111110111111111111 0 01110 1111111111
0.99951172 0 01111110 11111111110000000000000
5.9604645e-08 0 01100111 00000000000000000000000 0 00000 0000000001
5.9604645e-08 0 01100111 00000000000000000000000
1.1920929e-07 0 01101000 00000000000000000000000 0 00000 0000000010
1.1920929e-07 0 01101000 00000000000000000000000
8.9406967e-08 0 01100111 10000000000000000000000 0 00000 0000000010
1.1920929e-07 0 01101000 00000000000000000000000
8.9401006e-08 0 01100111 01111111111110010111001 0 00000 0000000001
5.9604645e-08 0 01100111 00000000000000000000000
8.9412929e-08 0 01100111 10000000000001101000111 0 00000 0000000010
1.1920929e-07 0 01101000 00000000000000000000000
0 0 00000000 00000000000000000000000 0 00000 0000000000
0 0 00000000 00000000000000000000000
2.9802322e-08 0 01100110 00000000000000000000000 0 00000 0000000000
0 0 00000000 00000000000000000000000
2.9808284e-08 0 01100110 00000000000011010001110 0 00000 0000000001
5.9604645e-08 0 01100111 00000000000000000000000
2.9796363e-08 0 01100101 11111111111001011100101 0 00000 0000000000
0 0 00000000 00000000000000000000000
6.1035156e-05 0 01110001 00000000000000000000000 0 00001 0000000000
6.1035156e-05 0 01110001 00000000000000000000000
6.1094761e-05 0 01110001 00000000010000000000000 0 00001 0000000001
6.1094761e-05 0 01110001 00000000010000000000000
6.1064959e-05 0 01110001 00000000001000000000000 0 00001 0000000000
6.1035156e-05 0 01110001 00000000000000000000000
6.1064951e-05 0 01110001 00000000000111111111111 0 00001 0000000000
6.1035156e-05 0 01110001 00000000000000000000000
6.1064966e-05 0 01110001 00000000001000000000001 0 00001 0000000001
6.1094761e-05 0 01110001 00000000010000000000000
6.0975552e-05 0 01110000 11111111100000000000000 0 00000 1111111111
6.0975552e-05 0 01110000 11111111100000000000000
6.1005354e-05 0 01110000 11111111110000000000000 0 00001 0000000000
6.1035156e-05 0 01110001 00000000000000000000000
6.1005358e-05 0 01110000 11111111110000000000001 0 00001 0000000000
6.1035156e-05 0 01110001 00000000000000000000000
6.100535e-05 0 01110000 11111111101111111111111 0 00000 1111111111
6.0975552e-05 0 01110000 11111111100000000000000
2 0 10000000 00000000000000000000000 0 10000 0000000000
2 0 10000000 00000000000000000000000
3 0 10000000 10000000000000000000000 0 10000 1000000000
3 0 10000000 10000000000000000000000
10 0 10000010 01000000000000000000000 0 10010 0100000000
10 0 10000010 01000000000000000000000
0.1 0 01111011 10011001100110011001101 0 01011 1001100110
0.099975586 0 01111011 10011001100000000000000
0.2 0 01111100 10011001100110011001101 0 01100 1001100110
0.19995117 0 01111100 10011001100000000000000
0.30000001 0 01111101 00110011001100110011010 0 01101 0011001101
0.30004883 0 01111101 00110011010000000000000
65504 0 10001110 11111111110000000000000 0 11110 1111111111
65504 0 10001110 11111111110000000000000
65536 0 10001111 00000000000000000000000 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
65520 0 10001110 11111111111000000000000 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
65519.996 0 10001110 11111111110111111111111 0 11110 1111111111
65504 0 10001110 11111111110000000000000
65520.004 0 10001110 11111111111000000000001 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
4.290774e+09 0 10011110 11111111100000000000100 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
3.4028235e+38 0 11111110 11111111111111111111111 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
Infinity 0 11111111 00000000000000000000000 0 11111 0000000000
Infinity 0 11111111 00000000000000000000000
NaN 0 11111111 11111111111111111111111 0 11111 1111111111
NaN 0 11111111 11111111110000000000000
NaN 0 11111111 10101010101010101010101 0 11111 1010101010
NaN 0 11111111 10101010100000000000000
-1 1 01111111 00000000000000000000000 1 01111 0000000000
-1 1 01111111 00000000000000000000000
-1.0009766 1 01111111 00000000010000000000000 1 01111 0000000001
-1.0009766 1 01111111 00000000010000000000000
-1.0004883 1 01111111 00000000001000000000000 1 01111 0000000000
-1 1 01111111 00000000000000000000000
-1.0004882 1 01111111 00000000000111111111111 1 01111 0000000000
-1 1 01111111 00000000000000000000000
-1.0004884 1 01111111 00000000001000000000001 1 01111 0000000001
-1.0009766 1 01111111 00000000010000000000000
-1.0019531 1 01111111 00000000100000000000000 1 01111 0000000010
-1.0019531 1 01111111 00000000100000000000000
-1.0014648 1 01111111 00000000011000000000000 1 01111 0000000010
-1.0019531 1 01111111 00000000100000000000000
-1.0014647 1 01111111 00000000010111111111111 1 01111 0000000001
-1.0009766 1 01111111 00000000010000000000000
-1.001465 1 01111111 00000000011000000000001 1 01111 0000000010
-1.0019531 1 01111111 00000000100000000000000
-0.99951172 1 01111110 11111111110000000000000 1 01110 1111111111
-0.99951172 1 01111110 11111111110000000000000
-0.99975586 1 01111110 11111111111000000000000 1 01111 0000000000
-1 1 01111111 00000000000000000000000
-0.99975592 1 01111110 11111111111000000000001 1 01111 0000000000
-1 1 01111111 00000000000000000000000
-0.9997558 1 01111110 11111111110111111111111 1 01110 1111111111
-0.99951172 1 01111110 11111111110000000000000
-5.9604645e-08 1 01100111 00000000000000000000000 1 00000 0000000001
-5.9604645e-08 1 01100111 00000000000000000000000
-1.1920929e-07 1 01101000 00000000000000000000000 1 00000 0000000010
-1.1920929e-07 1 01101000 00000000000000000000000
-8.9406967e-08 1 01100111 10000000000000000000000 1 00000 0000000010
-1.1920929e-07 1 01101000 00000000000000000000000
-8.9401006e-08 1 01100111 01111111111110010111001 1 00000 0000000001
-5.9604645e-08 1 01100111 00000000000000000000000
-8.9412929e-08 1 01100111 10000000000001101000111 1 00000 0000000010
-1.1920929e-07 1 01101000 00000000000000000000000
-0 1 00000000 00000000000000000000000 1 00000 0000000000
-0 1 00000000 00000000000000000000000
-2.9802322e-08 1 01100110 00000000000000000000000 1 00000 0000000000
-0 1 00000000 00000000000000000000000
-2.9808284e-08 1 01100110 00000000000011010001110 1 00000 0000000001
-5.9604645e-08 1 01100111 00000000000000000000000
-2.9796363e-08 1 01100101 11111111111001011100101 1 00000 0000000000
-0 1 00000000 00000000000000000000000
-6.1035156e-05 1 01110001 00000000000000000000000 1 00001 0000000000
-6.1035156e-05 1 01110001 00000000000000000000000
-6.1094761e-05 1 01110001 00000000010000000000000 1 00001 0000000001
-6.1094761e-05 1 01110001 00000000010000000000000
-6.1064959e-05 1 01110001 00000000001000000000000 1 00001 0000000000
-6.1035156e-05 1 01110001 00000000000000000000000
-6.1064951e-05 1 01110001 00000000000111111111111 1 00001 0000000000
-6.1035156e-05 1 01110001 00000000000000000000000
-6.1064966e-05 1 01110001 00000000001000000000001 1 00001 0000000001
-6.1094761e-05 1 01110001 00000000010000000000000
-6.0975552e-05 1 01110000 11111111100000000000000 1 00000 1111111111
-6.0975552e-05 1 01110000 11111111100000000000000
-6.1005354e-05 1 01110000 11111111110000000000000 1 00001 0000000000
-6.1035156e-05 1 01110001 00000000000000000000000
-6.1005358e-05 1 01110000 11111111110000000000001 1 00001 0000000000
-6.1035156e-05 1 01110001 00000000000000000000000
-6.100535e-05 1 01110000 11111111101111111111111 1 00000 1111111111
-6.0975552e-05 1 01110000 11111111100000000000000
-2 1 10000000 00000000000000000000000 1 10000 0000000000
-2 1 10000000 00000000000000000000000
-3 1 10000000 10000000000000000000000 1 10000 1000000000
-3 1 10000000 10000000000000000000000
-10 1 10000010 01000000000000000000000 1 10010 0100000000
-10 1 10000010 01000000000000000000000
-0.1 1 01111011 10011001100110011001101 1 01011 1001100110
-0.099975586 1 01111011 10011001100000000000000
-0.2 1 01111100 10011001100110011001101 1 01100 1001100110
-0.19995117 1 01111100 10011001100000000000000
-0.30000001 1 01111101 00110011001100110011010 1 01101 0011001101
-0.30004883 1 01111101 00110011010000000000000
-65504 1 10001110 11111111110000000000000 1 11110 1111111111
-65504 1 10001110 11111111110000000000000
-65536 1 10001111 00000000000000000000000 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-65520 1 10001110 11111111111000000000000 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-65519.996 1 10001110 11111111110111111111111 1 11110 1111111111
-65504 1 10001110 11111111110000000000000
-65520.004 1 10001110 11111111111000000000001 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-4.290774e+09 1 10011110 11111111100000000000100 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-3.4028235e+38 1 11111110 11111111111111111111111 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-Infinity 1 11111111 00000000000000000000000 1 11111 0000000000
-Infinity 1 11111111 00000000000000000000000
-NaN 1 11111111 11111111111111111111111 1 11111 1111111111
-NaN 1 11111111 11111111110000000000000
-NaN 1 11111111 10101010101010101010101 1 11111 1010101010
-NaN 1 11111111 10101010100000000000000
ok
classification of bit patterns
0 0 00000 0000000000 finite zero
1 0 01111 0000000000 finite normalized
1.0009766 0 01111 0000000001 finite normalized
5.9604645e-08 0 00000 0000000001 finite denormalized
1.1920929e-07 0 00000 0000000010 finite denormalized
6.1035156e-05 0 00001 0000000000 finite normalized
6.1094761e-05 0 00001 0000000001 finite normalized
6.0975552e-05 0 00000 1111111111 finite denormalized
2 0 10000 0000000000 finite normalized
3 0 10000 1000000000 finite normalized
0.099975586 0 01011 1001100110 finite normalized
0.19995117 0 01100 1001100110 finite normalized
0.30004883 0 01101 0011001101 finite normalized
65504 0 11110 1111111111 finite normalized
Infinity 0 11111 0000000000 infinity
NaN 0 11111 1111111111 nan
NaN 0 11111 1010101010 nan
-1 1 01111 0000000000 finite normalized negative
-1.0009766 1 01111 0000000001 finite normalized negative
-5.9604645e-08 1 00000 0000000001 finite denormalized negative
-1.1920929e-07 1 00000 0000000010 finite denormalized negative
-6.1035156e-05 1 00001 0000000000 finite normalized negative
-6.1094761e-05 1 00001 0000000001 finite normalized negative
-6.0975552e-05 1 00000 1111111111 finite denormalized negative
-2 1 10000 0000000000 finite normalized negative
-3 1 10000 1000000000 finite normalized negative
-0.099975586 1 01011 1001100110 finite normalized negative
-0.19995117 1 01100 1001100110 finite normalized negative
-0.30004883 1 01101 0011001101 finite normalized negative
-65504 1 11110 1111111111 finite normalized negative
-Infinity 1 11111 0000000000 infinity negative
-NaN 1 11111 1111111111 nan negative
-NaN 1 11111 1010101010 nan negative
Infinity 0 11111 0000000000 infinity
-Infinity 1 11111 0000000000 infinity negative
NaN 0 11111 1111111111 nan
NaN 0 11111 0111111111 nan
ok
values in std::numeric_limits<half>
min_exponent
max_exponent
min_exponent10
max_exponent10
ok
halfFunction<T>
ok
PASS: HalfTest
==================
All 1 tests passed
==================
Making check in Iex
Making check in IexTest
mkdir .libs
creating IexTest
See if throw and catch work:
1
2
3
4
5
ok
PASS: IexTest
==================
All 1 tests passed
==================
Making check in Imath
Making check in ImathTest
mkdir .libs
creating ImathTest
Testing functions in ImathColor.h & ImathColorAlgo.h
rgb2packed -> packed2rgb
Imath::Color4 * f
Imath::Color4 / f
Assignment and comparison
ok
Testing functions in ImathShear.h
Imath::Shear6 constructors
Imath::Shear6 * f
Imath::Shear6 / f
Assignment and comparison
ok
Testing functions in ImathMatrix.h
Imath::Matrix33 shear functions
ok
Testing functions in ImathRoots.h
coefficients: 1 6 11 6 solutions: -3 -2 -1
coefficients: 2 2 -20 16 solutions: -4 1 2
coefficients: 3 -3 1 -1 solutions: 1
coefficients: 2 0 -24 -32 solutions: -2 4
coefficients: 1 0 0 0 solutions: -0
coefficients: 8 -24 24 -8 solutions: 1
coefficients: 0 2 -10 12 solutions: 2 3
coefficients: 0 1 -1 -20 solutions: -4 5
coefficients: 0 3 -12 12 solutions: 2
coefficients: 0 1 0 0 solutions: -0
coefficients: 0 1 0 1 solutions: none
coefficients: 0 0 3 -6 solutions: 2
coefficients: 0 0 5 15 solutions: -3
coefficients: 0 0 1 0 solutions: -0
coefficients: 0 0 0 1 solutions: none
coefficients: 0 0 0 0 solutions: [-inf, inf]
ok
Testing functions in ImathFun.h
floor
ceil
trunc
divs / mods
divp / modp
successor, predecessor
f 0
sf 1.40129846e-45
pf -1.40129846e-45
spf -0
psf 0
f -0
sf 1.40129846e-45
pf -1.40129846e-45
spf -0
psf 0
f 1
sf 1.00000012
pf 0.99999994
spf 1
psf 1
f -1
sf -0.99999994
pf -1.00000012
spf -1
psf -1
f 16
sf 16.0000019
pf 15.999999
spf 16
psf 16
f 7
sf 7.00000048
pf 6.99999952
spf 7
psf 7
f 0.699999988
sf 0.700000048
pf 0.699999928
spf 0.699999988
psf 0.699999988
f Infinity
sf Infinity
pf Infinity
spf Infinity
psf Infinity
f NaN
sf NaN
pf NaN
spf NaN
psf NaN
f 3.40282347e+38
sf Infinity
pf 3.40282326e+38
spf 3.40282347e+38
psf Infinity
f -3.40282347e+38
sf -3.40282326e+38
pf -Infinity
spf -Infinity
psf -3.40282347e+38
d 0
sd 4.94065645841246544e-324
pd -4.94065645841246544e-324
spd -9.88131291682493088e-324
psd 0
d -0
sd 4.94065645841246544e-324
pd -4.94065645841246544e-324
spd -9.88131291682493088e-324
psd 0
d 1
sd 1.00000000000000022
pd 0.999999999999999889
spd 1
psd 1
d -1
sd -1.00000000000000022
pd -0.999999999999999889
spd -1
psd -1
d 16
sd 16.0000000000000036
pd 15.9999999999999982
spd 16
psd 16
d 7
sd 7.00000000000000089
pd 6.99999999999999911
spd 7
psd 7
d 0.699999999999999956
sd 0.700000000000000067
pd 0.699999999999999845
spd 0.699999999999999956
psd 0.699999999999999956
d Infinity
sd Infinity
pd Infinity
spd Infinity
psd Infinity
d NaN
sd NaN
pd NaN
spd NaN
psd NaN
d 1.79769313486231571e+308
sd Infinity
pd 1.79769313486231551e+308
spd 1.79769313486231571e+308
psd Infinity
d -1.79769313486231571e+308
sd -Infinity
pd -1.79769313486231551e+308
spd -1.79769313486231571e+308
psd -Infinity
ok
Testing 4x4 and 3x3 matrix inversion:
M44f
M33f
ok
Testing functions in ImathFrustum.h
perspective 123
planes
exceptions 123
orthographic 1
planes
passed inequality test
passed equality test
ok
Testing random number generators
erand48(), nrand48()
Rand32
values
differences between successive values
range
Rand48
values
differences between successive values
range
solidSphereRand()
hollowSphereRand()
ok
Testing extraction of rotation angle from 3x3 matrices
Testing extraction of Euler angles from matrices
extractEulerXYZ()
order = 101
extractEulerZYX()
order = 2001
Eulerf::extract()
order = 101
order = 1
order = 1101
order = 1001
order = 2101
order = 2001
order = 11
order = 111
order = 1011
order = 1111
order = 2011
order = 2111
order = 2000
order = 2100
order = 1000
order = 1100
order = 0
order = 100
order = 2110
order = 2010
order = 1110
order = 1010
order = 110
order = 10
ok
Testing extraction of scale, shear, rotation, translation from matrices
Imath::extractSHRT()
random angles
3x3
4x4
special angles
3x3
4x4
ok
Testing quaternion rotations
exact 90-degree rotations
exact zero-degree rotations
exact 180-degree rotations
other angles
random from and to vectors
nearly equal from and to vectors
nearly opposite from and to vectors
ok
Testing quaternion spherical linear interpolation
combinations of 90-degree rotations around x, y and z
random rotations
ok
Testing line algorithms
closest points on two lines
non-intersecting, non-parallel lines
intersecting, non-parallel lines
parallel lines
coincident lines
random lines
line-triangle intersection
line-plane intersection inside triangle
line-plane intersection outside triangle
line parallel to triangle
zero-area triangle
random lines and triangles
ok
Testing box algorithms
ray-box intersection, random rays
box = ((-1 -1 -1) (1 1 1))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((10 20 30) (1010 21 31))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((10 20 30) (11 1020 31))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((10 20 30) (11 21 1030))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((-1e+10 -2e+10 -3e+10) (5e+15 6e+15 7e+15))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (2 1 1))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (1 2 1))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (1 1 2))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (1 2 3))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (2 3 1))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((1 1 1) (2 1 3))
ray starts inside box
ray starts outside box, intersects
ray starts outside box, does not intersect
box = ((-1 -2 1) (-1 -2 1))
single-point box, ray intersects
single-point box, ray does not intersect
box = ((1 1 1) (1 1 1))
single-point box, ray intersects
single-point box, ray does not intersect
box = ((0 0 0) (0 0 0))
single-point box, ray intersects
single-point box, ray does not intersect
empty box, no rays intersect
ray-box intersection, nearly axis-parallel rays
dir ~ (1 0 0), result = 1
dir ~ (-1 0 0), result = 1
dir ~ (1 0 0), result = 0
dir ~ (-1 0 0), result = 0
dir ~ (0 1 0), result = 1
dir ~ (0 -1 0), result = 1
dir ~ (0 1 0), result = 0
dir ~ (0 -1 0), result = 0
dir ~ (0 0 1), result = 1
dir ~ (0 0 -1), result = 1
dir ~ (0 0 1), result = 0
dir ~ (0 0 -1), result = 0
transform box by matrix
ok
PASS: ImathTest
==================
All 1 tests passed
==================
Making check in IlmThread
Making check in config