All,
I did the uint64_t conversion in carob.
-> it throws an exception if the number is negative or too big
-> it truncates decimals if any
-> successfully tested that behavior is ok (ie. throws or truncates or ...) with values 0, 0.5, -1, 1, 12.34, max int, max int64, max float, max uint64, max uint64+1

That's ok but:
-> (signed) int64 conversion function is buggy => doesn't throw exception for (min int64 - 1)
I investigated this but I found a good way to fix it yet
Anyway, the function returns correct values for numbers that "are not too small" :) (ie. that don't do negative overflow...)
So, the function is still useable, but buggy...
Hope this won't block you...

Additionnaly, if you need to commit some stuff in big decimal, please go on, that's ok! I have some non-commited changes locally but they are just "additions", so as long as you don't totally change the implementation... :)

Have a good week !
Gilles.


_______________________________________________
Carob mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob

Reply via email to