-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
default Epsilon and MinNormal same for both mathgl32 and mathgl64 #55
Comments
For reference, they are currently: // Epsilon is some tiny value that determines how precisely equal we want our floats to be
// This is exported and left as a variable in case you want to change the default threshold for the
// purposes of certain methods (e.g. Unproject uses the default epsilon when determining
// if the determinant is "close enough" to zero to mean there's no inverse).
//
// This is, obviously, not mutex protected so be **absolutely sure** that no functions using Epsilon
// are being executed when you change this.
var Epsilon float{32,64} = 1e-10
var MinNormal = float{32,64}(1.1754943508222875e-38) // 1 / 2**(127 - 1) Do you have a suggestion for what values they should be for 32 and 64-bit versions of mathgl? Also, what is |
So I have no clue what MinNormal is either. But according to this as for the default epsilon, my naive approach would be to make this n times smaller where n = MinNonZeroFloat32/MinNonZeroFloat64 but since Epsilon is already arbitrary i guess it could be any value that doesn't break the tests. (but it will obviously be much smaller) |
https://www.wolframalpha.com/input/?i=(1e-10)%2F((1+%2F+2**(127+-+1+%2B+23))%2F(1+%2F+2**(1023+-+1+%2B+52))) |
So, I stubbed my toe on this one: https://github.com/go-gl/mathgl/blob/master/mgl64/quat.go#L440 |
They should quite obviously be different
The text was updated successfully, but these errors were encountered: