Open nicolas-cellier-aka-nice opened 5 years ago
What can we use instead? Platform-specific asm?
Eliot was working for providing native bit-identical floating point functions for Terf. So we would use the patched fdlibm once finished.
Hi Nicolas, Tobias,
On Thu, May 14, 2020 at 12:47 PM Nicolas Cellier notifications@github.com wrote:
Eliot was working for providing native bit-identical floating point functions for Terf. So we would use the patched fdlibm once finished.
It seems to be ready to go. All we do is define BIT_IDENTICAL_FLOATING_POINT in the makefile. In fact, it might be good to invert things, and have this be the default unless one defines, e.g. PLATFORM_SPECIFIC_FLOATING_POINT. What do y'all think?
build.macos64x64$ diff squeak.cog.spur/Makefile croquet.cog.spur/Makefile 5a6,7
BIT_IDENTICAL_FLOATING_POINT=BIT_IDENTICAL_FLOATING_POINT
8a11,17
Produce Croquet.app, CroquetAssert.app & CroquetDebug.app
APPNAME:=Croquet APPNAMEDEF:=$(APPNAME) APPIDENTIFIER:=org.Croquet.$(APPNAME)
CFLAGS:=-DCROQUET=1
11c20 < include ../common/Makefile.app.squeak
include ../common/Makefile.app
,,,^..^,,, best, Eliot
+1 for PLATFORM_SPECIFIC_FLOATING_POINT
At a glance, I couldn't read the meaning "cross-platform" in BIT_IDENTICAL_FLOATING_POINT :-)
Best, Marcel
For what it's worth, I think that if those primitives 54 and 554 fail sometimes, then they can perhaps be added in a Test framework (perhaps those Tests were already written) - the "Run Tests" in Squeak. For example I can see that for some other "float" bug there is such a test : testZeroRaisedToNegativePower "this is a test related to http://bugs.squeak.org/view.php?id=6781" (there is also a method testTimesTwoPowerGradualUnderflow in KernelTests-Numbers -> FloatTest -> test - arithmetic.
Ideally I think the Squeak kernel should have some configuration option to be able to use the system provided libmath (or not) so that it's possible to choose which one , when compiling/building the VM.
I checked the Float-tests (Kernel-Numbers) in Squeak6.0alpha-19793-64bit.image.
I don't immediately see in the Test framework whether there is a Squeak test, equivalent to the tests for this issue.
Is it perhaps already in the Test framework , maybe I just don't see it ?
David Stes
This is due to a macOS bug in 64bits libm! (Hard to believe, isn't it?)
I've opened a ticket https://bugreport.apple.com/web/?problemID=48021471