stringproc revision



I have uploaded a revision of the add-on package stringproc.


1. bugs 1796372 and 1820014 are fixed. 


2. all functions are wrapped in some error checking


3. function printf now converts real bigfloat parameters automatically to float

(%i20) printf(true, "|~25 at a|~25,5f|~%", bf, bf), bf:2.5b0^25$
|     8.8817841970012531E9|         8881784197.00125|


4. bprintf: a new function for printing formatted bigfloats. 

Some examples:

(%i10) fpprec:100$
(%i11) bprintf(true, 5.5b0^25);
3228993995007387460.5247453153133392333984375
(%o11)                               false
(%i12) bprintf(true, 2^-50)$
0.00000000000000088817841970012523233890533447265625

With fpprec chosen accordingly and without optional parameters real bigfloats 
are printed as they are - but without b0 by default.
Real constants are converted to bigfloats.
Like in printf the first arg may be true, false or a stream to a file.

Three optional parameters are false by default.
The first sets the display resp. string width, the second the decimal places.

(%i13) (printf(true,"|"), bprintf(true, 5.5b0^25, 45, 5), printf(true,"|"))$
|                    3228993995007387460.52475|

If the third is set to true, "b0" is added and the returned string can be parsed.

(%i14) bprintf(false, 5.5b0^25, false, 20, true);
(%o14)            3228993995007387460.52474531531333923340b0
(%i15) parse_string(%);
(%o15)            3.2289939950073874605247453153133392334b18

To check it out, for some examples you might need the latest nummod.lisp fix.

Volker van Nek