[squeak-dev] The Trunk: CollectionsTests-nice.339.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun May 10 16:19:07 UTC 2020
Nicolas Cellier uploaded a new version of CollectionsTests to project The Trunk:
http://source.squeak.org/trunk/CollectionsTests-nice.339.mcz
==================== Summary ====================
Name: CollectionsTests-nice.339
Author: nice
Time: 10 May 2020, 6:18:29.341931 pm
UUID: 38abf144-a487-4dfb-bed7-8ef6a9dab6b9
Ancestors: CollectionsTests-nice.338
Use Float32Array explicitely
=============== Diff against CollectionsTests-nice.338 ===============
Item was changed:
----- Method: FloatArrayTest>>testArithmeticCoercion (in category 'tests') -----
testArithmeticCoercion
"This test is related to http://bugs.squeak.org/view.php?id=6782"
+ self should: [3.0 / (Float32Array with: 2.0) = (Float32Array with: 1.5)].
+ self should: [3.0 * (Float32Array with: 2.0) = (Float32Array with: 6.0)].
+ self should: [3.0 + (Float32Array with: 2.0) = (Float32Array with: 5.0)].
+ self should: [3.0 - (Float32Array with: 2.0) = (Float32Array with: 1.0)].!
- self should: [3.0 / (FloatArray with: 2.0) = (FloatArray with: 1.5)].
- self should: [3.0 * (FloatArray with: 2.0) = (FloatArray with: 6.0)].
- self should: [3.0 + (FloatArray with: 2.0) = (FloatArray with: 5.0)].
- self should: [3.0 - (FloatArray with: 2.0) = (FloatArray with: 1.0)].!
Item was changed:
----- Method: FloatArrayTest>>testFloatArrayPluginPrimitiveAt (in category 'tests') -----
testFloatArrayPluginPrimitiveAt
"if FloatArrayPlugin primitive are not here, this test is dumb.
Otherwise, it will compare primitive and #fromIEEE32Bit:"
#(
"regular numbers no truncation or rounding"
2r0.0 2r1.0 2r1.1 2r1.00000000000000000000001
2r1.0e-10 2r1.1e-10 2r1.00000000000000000000001e-10
2r1.0e10 2r1.1e10 2r1.00000000000000000000001e10
"smallest float32 before gradual underflow"
2r1.0e-126
"biggest float32"
2r1.11111111111111111111111e127
"overflow"
2r1.11111111111111111111111e128
"gradual underflow"
2r0.11111111111111111111111e-126
2r0.00000000000000000000001e-126
"with rounding mode : tests on 25 bits"
2r1.0000000000000000000000001
2r1.0000000000000000000000010
2r1.0000000000000000000000011
2r1.0000000000000000000000100
2r1.0000000000000000000000101
2r1.0000000000000000000000110
2r1.0000000000000000000000111
2r1.1111111111111111111111001
2r1.1111111111111111111111010
2r1.1111111111111111111111011
2r1.1111111111111111111111101
2r1.1111111111111111111111110
2r1.1111111111111111111111111
"overflow"
2r1.1111111111111111111111110e127
"gradual underflow"
2r0.1111111111111111111111111e-126
2r0.1111111111111111111111110e-126
2r0.1111111111111111111111101e-126
2r0.1111111111111111111111011e-126
2r0.1111111111111111111111010e-126
2r0.1111111111111111111111001e-126
2r0.0000000000000000000000111e-126
2r0.0000000000000000000000110e-126
2r0.0000000000000000000000101e-126
2r0.0000000000000000000000011e-126
2r0.0000000000000000000000010e-126
2r0.0000000000000000000000001e-126
2r0.0000000000000000000000010000000000000000000000000001e-126
) do: [:e |
+ self assert: ((Float32Array with: e) at: 1) = (Float fromIEEE32Bit: ((Float32Array with: e) basicAt: 1)).
+ self assert: ((Float32Array with: e negated) at: 1) = (Float fromIEEE32Bit: ((Float32Array with: e negated) basicAt: 1))].
- self assert: ((FloatArray with: e) at: 1) = (Float fromIEEE32Bit: ((FloatArray with: e) basicAt: 1)).
- self assert: ((FloatArray with: e negated) at: 1) = (Float fromIEEE32Bit: ((FloatArray with: e negated) basicAt: 1))].
"special cases"
(Array with: Float infinity with: Float negativeInfinity with: Float negativeZero)
+ do: [:e | self assert: ((Float32Array with: e) at: 1) = (Float fromIEEE32Bit: ((Float32Array with: e) basicAt: 1))].
- do: [:e | self assert: ((FloatArray with: e) at: 1) = (Float fromIEEE32Bit: ((FloatArray with: e) basicAt: 1))].
"Cannot compare NaN"
(Array with: Float nan)
+ do: [:e | self assert: (Float fromIEEE32Bit: ((Float32Array with: e) basicAt: 1)) isNaN].!
- do: [:e | self assert: (Float fromIEEE32Bit: ((FloatArray with: e) basicAt: 1)) isNaN].!
Item was changed:
----- Method: FloatArrayTest>>testFloatArrayPluginPrimitiveAtPut (in category 'tests') -----
testFloatArrayPluginPrimitiveAtPut
"if FloatArrayPlugin primitive are not here, this test is dumb.
Otherwise, it will compare primitive and #asIEEE32BitWord"
#(
"regular numbers no truncation or rounding"
2r0.0 2r1.0 2r1.1 2r1.00000000000000000000001
2r1.0e-10 2r1.1e-10 2r1.00000000000000000000001e-10
2r1.0e10 2r1.1e10 2r1.00000000000000000000001e10
"smallest float32 before gradual underflow"
2r1.0e-126
"biggest float32"
2r1.11111111111111111111111e127
"overflow"
2r1.11111111111111111111111e128
"gradual underflow"
2r0.11111111111111111111111e-126
2r0.00000000000000000000001e-126
"with rounding mode : tests on 25 bits"
2r1.0000000000000000000000001
2r1.0000000000000000000000010
2r1.0000000000000000000000011
2r1.0000000000000000000000100
2r1.0000000000000000000000101
2r1.0000000000000000000000110
2r1.0000000000000000000000111
2r1.1111111111111111111111001
2r1.1111111111111111111111010
2r1.1111111111111111111111011
2r1.1111111111111111111111101
2r1.1111111111111111111111110
2r1.1111111111111111111111111
"overflow"
2r1.1111111111111111111111110e127
"gradual underflow"
2r0.1111111111111111111111111e-126
2r0.1111111111111111111111110e-126
2r0.1111111111111111111111101e-126
2r0.1111111111111111111111011e-126
2r0.1111111111111111111111010e-126
2r0.1111111111111111111111001e-126
2r0.0000000000000000000000111e-126
2r0.0000000000000000000000110e-126
2r0.0000000000000000000000101e-126
2r0.0000000000000000000000011e-126
2r0.0000000000000000000000010e-126
2r0.0000000000000000000000001e-126
2r0.0000000000000000000000010000000000000000000000000001e-126
) do: [:e |
+ self assert: ((Float32Array with: e) basicAt: 1) = e asIEEE32BitWord.
+ self assert: ((Float32Array with: e negated) basicAt: 1) = e negated asIEEE32BitWord].
- self assert: ((FloatArray with: e) basicAt: 1) = e asIEEE32BitWord.
- self assert: ((FloatArray with: e negated) basicAt: 1) = e negated asIEEE32BitWord].
"special cases"
(Array with: Float infinity with: Float negativeInfinity with: Float negativeZero with: Float nan)
+ do: [:e | self assert: ((Float32Array with: e) basicAt: 1) = e asIEEE32BitWord].
- do: [:e | self assert: ((FloatArray with: e) basicAt: 1) = e asIEEE32BitWord].
!
Item was changed:
----- Method: FloatArrayTest>>testVectorOperations (in category 'tests') -----
testVectorOperations
"Test primtive cases 'receiver size = argument size'."
+ self assert: (Float32Array withAll: {2.0. 2.0}) equals: (Float32Array withAll: {4.0. 6.0}) / (Float32Array withAll: {2.0. 3.0}).
+ self assert: (Float32Array withAll: {8.0. 9.0}) equals: (Float32Array withAll: {4.0. 4.5}) * (Float32Array withAll: {2.0. 2.0}).
+ self assert: (Float32Array withAll: {6.0. 9.0}) equals: (Float32Array withAll: {4.0. 6.0}) + (Float32Array withAll: {2.0. 3.0}).
+ self assert: (Float32Array withAll: {2.0. 3.0}) equals: (Float32Array withAll: {4.0. 6.0}) - (Float32Array withAll: {2.0. 3.0}).
+ self assert: 26 equals: ((Float32Array withAll: {4.0. 6.0}) dot: (Float32Array withAll: {2.0. 3.0})).
- self assert: (FloatArray withAll: {2.0. 2.0}) equals: (FloatArray withAll: {4.0. 6.0}) / (FloatArray withAll: {2.0. 3.0}).
- self assert: (FloatArray withAll: {8.0. 9.0}) equals: (FloatArray withAll: {4.0. 4.5}) * (FloatArray withAll: {2.0. 2.0}).
- self assert: (FloatArray withAll: {6.0. 9.0}) equals: (FloatArray withAll: {4.0. 6.0}) + (FloatArray withAll: {2.0. 3.0}).
- self assert: (FloatArray withAll: {2.0. 3.0}) equals: (FloatArray withAll: {4.0. 6.0}) - (FloatArray withAll: {2.0. 3.0}).
- self assert: 26 equals: ((FloatArray withAll: {4.0. 6.0}) dot: (FloatArray withAll: {2.0. 3.0})).
"Test corner cases where 'receiver size < argument size'."
+ self should: [(Float32Array withAll: {4.0. 6.0}) / (Float32Array withAll: {2.0. 3.0. 42.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0}) * (Float32Array withAll: {2.0. 3.0. 42.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0}) + (Float32Array withAll: {2.0. 3.0. 42.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0}) - (Float32Array withAll: {2.0. 3.0. 42.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0}) dot: (Float32Array withAll: {2.0. 3.0. 42.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0}) / (FloatArray withAll: {2.0. 3.0. 42.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0}) * (FloatArray withAll: {2.0. 3.0. 42.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0}) + (FloatArray withAll: {2.0. 3.0. 42.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0}) - (FloatArray withAll: {2.0. 3.0. 42.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0}) dot: (FloatArray withAll: {2.0. 3.0. 42.0})] raise: Error.
"Test corner cases where 'receiver size > argument size'."
+ self should: [(Float32Array withAll: {4.0. 6.0. 42.0}) / (Float32Array withAll: {2.0. 3.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0. 42.0}) * (Float32Array withAll: {2.0. 3.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0. 42.0}) + (Float32Array withAll: {2.0. 3.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0. 42.0}) - (Float32Array withAll: {2.0. 3.0})] raise: Error.
+ self should: [(Float32Array withAll: {4.0. 6.0. 42.0}) dot: (Float32Array withAll: {2.0. 3.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0. 42.0}) / (FloatArray withAll: {2.0. 3.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0. 42.0}) * (FloatArray withAll: {2.0. 3.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0. 42.0}) + (FloatArray withAll: {2.0. 3.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0. 42.0}) - (FloatArray withAll: {2.0. 3.0})] raise: Error.
- self should: [(FloatArray withAll: {4.0. 6.0. 42.0}) dot: (FloatArray withAll: {2.0. 3.0})] raise: Error.
!
Item was changed:
----- Method: FloatCollectionTest>>testAdd (in category 'tests') -----
testAdd
| fc |
fc := #(1 2 3 4 ) as: FloatCollection.
fc add: 88.
+ self assert: #(1.0 2.0 3.0 4.0 88.0 ) asFloat32Array equals: fc asFloat32Array.
- self assert: #(1.0 2.0 3.0 4.0 88.0 ) asFloatArray equals: fc asFloatArray.
fc add: 99.
self assert: (#(1 2 3 4 88 99 ) as: FloatCollection) equals: fc!
More information about the Squeak-dev
mailing list
|