Use %%PRETTY-FNAME in more quadpack error messages
[maxima.git] / share / numeric / format.usg
blobbe0ec463c643f09279af70f874297d00feaaff95
1 Pretty printing of floating point numbers.
2 Do LOADFILE(FORMAT,FASL,DSK,SHARE);
4 Nothing is changed unless you do FLOATFORMAT:TRUE; (default is FALSE)
5 Then all floating point numbers are printed in a field of FLOATWIDTH
6 character positions (default 10) with FLOATPREC significant figures
7 (default 3) and FLOATINT (default 1) figures before the decimal point.
8 (FLOATINT may also be a list of 3 integers, in which the first gives the
9 no. of digits before the decimal point and the other two specify the
10 range of powers of 10 for which the "E" format is not used.)
12 Alternately you can do FLOATFORMAT:'F; in which case the "E" notation
13 is not used and FLOATFRAC figures appear after the decimal point.
14 The total width is again FLOATWIDTH.
16 In either case if FLOATWIDTH is 0, then only the digits themselves will
17 be part of the number.  (I.e there will be no leading spaces.)
19 The printing is also governed by FLOATOPTIONS (default FALSE).  This
20 may be set to a list of items, which should be any of:
21 "+"     print + for positive integers
22 LEFT    place sign in leftmost column instead of by leftmost digit
23 0       print trailing zeros
24 E       force E format for fixed precision output
25 E.g. FLOATOPTIONS:['"+",'E];
27 If you specify too large a precision, or small a width, then the number
28 will appear in the default manner.
30 Currently the Macsyma displayer (the guy that prints D and E lines),
31 PRINT and CONCAT will use this method of printing floating point numbers.
32 SAVE, STRING and STRINGOUT do not, so there should be no loss of precision
33 in doing a SAVE followed by a LOADFILE or a STRINGOUT followed by a
34 BATCH.
36 For fuller documentation do :PRINT LIBDOC;FFORMA >
37 which documents the Fortran-style-FORMAt package (written by JONL), and 
38 is the support for the formatter herein discussed.
39 There might be a better user interface provided if there is a consensus
40 on how it should be done.
42 Example:
43 LOADFILE(FORMAT,FASL,DSK,SHARE);
44 FLOATFORMAT:TRUE;
45 PI:EV(%PI,NUMER);
46                                            3.14
47 FOR I FROM -10 THRU 10 DO PRINT(10^I*PI);
48   3.14E-10 
49    3.14E-9 
50    3.14E-8 
51    3.14E-7 
52    3.14E-6 
53    3.14E-5 
54    3.14E-4 
55    0.00314 
56     0.0314 
57      0.314 
58       3.14 
59       31.4 
60    3.14E+2 
61    3.14E+3 
62    3.14E+4 
63    3.14E+5 
64    3.14E+6 
65    3.14E+7 
66    3.14E+8 
67    3.14E+9 
68   3.14E+10 
69 FLOATOPTIONS:['E];
70 FOR I FROM -10 THRU 10 DO PRINT(10^I*PI);
71   3.14E-10 
72    3.14E-9 
73    3.14E-8 
74    3.14E-7 
75    3.14E-6 
76    3.14E-5 
77    3.14E-4 
78    3.14E-3 
79    3.14E-2 
80    3.14E-1 
81    3.14E+0 
82    3.14E+1 
83    3.14E+2 
84    3.14E+3 
85    3.14E+4 
86    3.14E+5 
87    3.14E+6 
88    3.14E+7 
89    3.14E+8 
90    3.14E+9 
91   3.14E+10 
92 FLOATFORMAT:'F;
93 FLOATOPTIONS:FALSE;
94 FOR I FROM -10 THRU 10 DO PRINT(10^I*PI);
95       0.00 
96       0.00 
97       0.00 
98       0.00 
99       0.00 
100       0.00 
101       0.00 
102       0.00 
103       0.03 
104       0.31 
105       3.14 
106      31.42 
107     314.16 
108    3141.59 
109   31415.93 
110  314159.26 
111 3141592.66 
112 31415926.5 
113 3.14159265E+8 
114 3.14159265E+9 
115 3.14159265E+10 
117 Comments etc. to CFFK@MC