I've seen that all classes (decimal32_t, decimal64_t, and decimal128_t) can be implicitly constructed from an integer, but not from a floating-point number. Which is the reason for this design choice? And if there's any, wouldn't it be better to explain it in the documentation?
Best regards, LoS
We discuss the rationale for absence of any operation besides explicit conversion between binary floating point and decimal floating point in the design decisions page [1]. I don't entirely remember why Integers are allowed implicit conversion, but that should probably be made explicit too. All the normal operators between decimal floating point and integers are allowed because the results should not be surprising unlike with binary floats. Matt [1] https://develop.decimal.cpp.al/decimal/design.html