[squeak-dev] The Trunk: KernelTests-ar.169.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 7 18:32:49 UTC 2011


Levente Uzonyi uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-ar.169.mcz

==================== Summary ====================

Name: KernelTests-ar.169
Author: ar
Time: 14 December 2010, 12:14:38.854 am
UUID: 50b5e9d0-0870-0243-aa34-ce790e221fee
Ancestors: KernelTests-ul.168

Experimental. Provide tests for both signaling and non-signaling NaN behavior.

=============== Diff against KernelTests-ul.168 ===============

Item was added:
+ ----- Method: FloatTest>>testNonSignalingNaN (in category 'NaN behavior') -----
+ testNonSignalingNaN
+ 	"Ensure that NaNs signal when signaling NaNs are enabled"
+ 	| setting nan |
+ 	setting := Float signalNaN.
+ 	nan := Float nan.
+ 	[Float signalNaN: false.
+ 	
+ 	self shouldnt:[self assert: nan arcCos isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan arcCosH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan arcSin isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan arcSinH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan arcTan isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (nan arcTan: 1.0) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (1.0 arcTan: nan) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (nan arcTan: nan) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan arcTanH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan cos isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan cosH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan exp isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (nan hypot: 1.0) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (1.0 hypot: nan) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (nan hypot: nan) isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan ln isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan log isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan sin isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan sinH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan tan isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: nan tanH isNaN] raise: NaNError.
+ 	self shouldnt:[self assert: (nan timesTwoPower: 2) isNaN] raise: NaNError.
+ 
+ 	] ensure:[Float signalNaN: setting].!

Item was added:
+ ----- Method: FloatTest>>testSignalingNaN (in category 'NaN behavior') -----
+ testSignalingNaN
+ 	"Ensure that NaNs signal when signaling NaNs are enabled"
+ 	| setting nan |
+ 	setting := Float signalNaN.
+ 	nan := Float nan.
+ 	[Float signalNaN: true.
+ 	
+ 	self should:[nan arcCos] raise: NaNError.
+ 	self should:[nan arcCosH] raise: NaNError.
+ 	self should:[nan arcSin] raise: NaNError.
+ 	self should:[nan arcSinH] raise: NaNError.
+ 	self should:[nan arcTan] raise: NaNError.
+ 	self should:[nan arcTan: 1.0] raise: NaNError.
+ 	self should:[1.0 arcTan: nan] raise: NaNError.
+ 	self should:[nan arcTan: nan] raise: NaNError.
+ 	self should:[nan arcTanH] raise: NaNError.
+ 	self should:[nan cos] raise: NaNError.
+ 	self should:[nan cosH] raise: NaNError.
+ 	self should:[nan exp] raise: NaNError.
+ 	self should:[nan hypot: 1.0] raise: NaNError.
+ 	self should:[1.0 hypot: nan] raise: NaNError.
+ 	self should:[nan hypot: nan] raise: NaNError.
+ 	self should:[nan ln] raise: NaNError.
+ 	self should:[nan log] raise: NaNError.
+ 	self should:[nan sin] raise: NaNError.
+ 	self should:[nan sinH] raise: NaNError.
+ 	self should:[nan tan] raise: NaNError.
+ 	self should:[nan tanH] raise: NaNError.
+ 	self should:[nan timesTwoPower: 2] raise: NaNError.
+ 
+ 	] ensure:[Float signalNaN: setting].!




More information about the Squeak-dev mailing list