Hello Boost developers,
A partial implementation of fixed-point in a Boost-like>> style based on proposal N3352 is now available. There has been a great deal of discussion of fixed-point libraries over the years on the the boost devel list going back to at least 2007. I hope you've taken the time to explore the archives. For example: http://lists.boost.org/Archives/boost/2013/02/200690.php
Thank you for pointing that out. Yes, I remember that threadand we were involved in it. It partly helped motivate theGSoC15 project.
Best regards, Chris.
On Saturday, October 15, 2016 6:13 PM, Michael Marcin
I discuss P0106R0 (a revision to N3352) in my paper, the latest draft of which is always available here: https://github.com/ johnmcfarlane/fixed_point/blob/master/doc/p0037.md#p0106
I once wrote and shipped a fixed-point software renderer. Granted that was about 9 years ago. There has been a great deal of discussion of fixed-point libraries over the years on the the boost devel list going back to at least 2007. I hope you've taken the time to explore the archives. For example: http://lists.boost.org/Archives/boost/2013/02/200690.php I read through P0106R0 but I came away feeling I knew almost nothing about what the actual implementation would be. I looked around the code and documentation on github as well. After about 30 minutes it started to make some sense and looks pretty nice. I couldn't figure out answers to some basic questions. How does division work? Does it promote 32 -> 64 before division? Does mixed fixed arithmetic work? i.e. s16.16 * s24.8? Is the result of an operation necessarily the same as the operands? - For example its sometimes useful to do s16.16 * s16.16 -> s24.8. How does one convert between different fixed-point representations? How does one convert raw fixed-point integers <-> fixed-point class? Note: the doxygen documentation for convert to float operator does not say it's explicit, that worried me greatly but I saw it is marked as explicit in the code. I can't find the numeric_limits specialization. I can't find the cmath functions. At least a subset was crucial for my past work: * abs * fmod * floor * ceil * sqrt * cos * sin * atan2 I never did get a generic trig functions implementation. IIRC our implementation used lookup tables and CORDIC algorithm for just a handful of formats. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost