User Tools

Site Tools


pdclib:drawingboard

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pdclib:drawingboard [2020/10/05 08:33]
solar
pdclib:drawingboard [2021/07/12 15:51] (current)
solar [Floating Point Support for printf]
Line 31: Line 31:
 A request from downstream was to add FP support to my ''printf()'' implementation (which currently **breaks** for %f/%g et al. because it doesn't draw the accompanying value from the stack -- not nice!). A request from downstream was to add FP support to my ''printf()'' implementation (which currently **breaks** for %f/%g et al. because it doesn't draw the accompanying value from the stack -- not nice!).
  
-I got a good introduction to the Dragon4 binary-to-string conversion algorithm as well as the paper for the Grisu3 small integer optimization, but this would be another major construction site (touching ''<math.h>'' and ''<fenv.h>'' matters as well), and I feel it would be just one thing too many to tackle at this point.+I got a good introduction to the Dragon4 binary-to-string conversion algorithm as well as the paper for the Grisu3 small integer optimization. Big Integer support is required for there, and already implementedso there might be another checkmark added here soon (tm). 
 + 
 +Links: 
 + 
 +  * [[https://lists.nongnu.org/archive/html/gcl-devel/2012-10/pdfkieTlklRzN.pdf|How to Print Floating-Point Numbers Accurately]] (Steele & White//Dragon4//
 +  * [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.72.4656|Printing Floating-Point Numbers Quickly and Accurately]] (Burger et al.)  
 +  * [[https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf|Printing Floating-Point Numbers Quickly and Accurately with Integers]] (Florian Loitsch, //Grisu3//)
  
 ===== Annex K ===== ===== Annex K =====
Line 38: Line 44:
  
 However, for now I am stuck with a //partial// Annex K support as well, which is a shame because there are mechanisms for the library to signal Annex K support to the application programmer, and right now this mechanism in PDCLib is lying, one way or another. I'd like to make the support complete, regardless of the poor design of the whole Annex K. However, for now I am stuck with a //partial// Annex K support as well, which is a shame because there are mechanisms for the library to signal Annex K support to the application programmer, and right now this mechanism in PDCLib is lying, one way or another. I'd like to make the support complete, regardless of the poor design of the whole Annex K.
 +
 +===== Testing =====
 +
 +There has been quite some ad-hocery going on with the test drivers lately. Coverage is not nearly as complete as I would like it. Many functions are without testdriver altogether, others (like the Annex K functions) have made exceptions for `REGTEST` because general library support was not available -- but they gloss over that quietly where they should probably report `NO_TESTDRIVER` or somesuch. I will have to go over all the tests once more to take out the slack.
pdclib/drawingboard.1601879610.txt.gz · Last modified: 2020/10/05 08:33 by solar