mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Updated the help files help/config, help/display, help/epsilon, help/fprint, help/printf, and help/strprintf to give more examples of how display digits and epsilon precision interact with displaying values. Added more information about %g in the help file help/printf. The '\a' is now recognized in a printf format string as the single byte audible bell character (byte 0x07 in ASCII encoding). The following is a partial list of escape sequences recognized in strings and in printf formats: \a audible bell byte 0x07 in ASCII encoding \b backspace byte 0x08 in ASCII encoding \f form feed byte 0x0c in ASCII encoding \n newline byte 0x0b in ASCII encoding \r return byte 0x0a in ASCII encoding \t tab byte 0x0d in ASCII encoding \v vertical tab byte 0x09 in ASCII encoding
120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
NAME
|
|
fprintf - formatted print to a file
|
|
|
|
SYNOPSIS
|
|
fprintf(fd, fmt, x_1, x_2, ...)
|
|
|
|
TYPES
|
|
fd file
|
|
fmt string
|
|
x_1, x_2, ... any
|
|
|
|
return null
|
|
|
|
DESCRIPTION
|
|
This prints to the file fd exactly what would be printed to
|
|
the standard output by printf(fmt, x_1, x_2, ...).
|
|
|
|
EXAMPLE
|
|
; fprintf(files(1), "h=%d, i=%d\n", 2, 3);
|
|
h=2, i=3
|
|
|
|
; c = config("epsilon", 1e-6); c = config("display", 6);
|
|
; c = config("tilde", 1); c = config("outround", 0);
|
|
; c = config("fullzero", 0);
|
|
; fmt = "%f,%10f,%-10f,%10.4f,%.4f,%.f.\n";
|
|
; a = sqrt(3);
|
|
; fprintf(files(2), fmt,a,a,a,a,a,a);
|
|
1.732051, 1.732051,1.732051 , ~1.7320,~1.7320,~1.
|
|
|
|
; file = fopen("/tmp/foo", "w");
|
|
; mat A[4] = {sqrt(2), 3/7, "undefined", null()};
|
|
; fprintf(file, "%f%r",A,A);
|
|
; fclose(file);
|
|
; !cat /tmp/foo
|
|
|
|
mat [4] (4 elements, 4 nonzero):
|
|
[0] = 1.4142135623730950488
|
|
[1] = ~.42857142857142857142
|
|
[2] = "undefined"
|
|
[3] = NULL
|
|
|
|
mat [4] (4 elements, 4 nonzero):
|
|
[0] = 1767766952966368811/1250000000000000000
|
|
[1] = 3/7
|
|
[2] = "undefined"
|
|
[3] = NULL
|
|
|
|
; /*
|
|
* NOTE: When displaying many digits after the decimal point
|
|
* be sure to set display(digits) (see 'help display') to
|
|
* large enough AND to set epsilon(eps) (see 'help epsilon')
|
|
* small enough (or if the function has a esp argument,
|
|
* give a eps argument that is small enough) to display
|
|
* the value correctly.
|
|
*/
|
|
; config("tilde", 1),;
|
|
|
|
; /* NOTE: display has too few digits and epsilon is not small enough */
|
|
; display(12),;
|
|
; fprintf(files(1), "%f\n", pi(1e-10));
|
|
3.1415926536
|
|
; epsilon(1e-10),;
|
|
; fprintf(files(1), "%f\n", pi());
|
|
3.1415926536
|
|
|
|
; /* NOTE: display has too few digits yet epsilon is small enough */
|
|
; display(12),;
|
|
; fprintf(files(1), "%f\n", pi(1e-72));
|
|
~3.141592653590
|
|
; epsilon(1e-72),;
|
|
; fprintf(files(1), "%f\n", pi());
|
|
~3.141592653590
|
|
|
|
; /* NOTE: display has enough digits but epsilon is not small enough */
|
|
; display(72),;
|
|
; fprintf(files(1), "%f\n", pi(1e-10));
|
|
3.1415926536
|
|
; epsilon(1e-10),;
|
|
; fprintf(files(1), "%f\n", pi());
|
|
3.1415926536
|
|
|
|
/* NOTE: display has enough digits and epsilon is small enough */
|
|
; display(72),;
|
|
; fprintf(files(1), "%f\n", pi(1e-72));
|
|
3.141592653589793238462643383279502884197169399375105820974944592307816406
|
|
; epsilon(1e-72),;
|
|
; fprintf(files(1), "%f\n", pi());
|
|
3.141592653589793238462643383279502884197169399375105820974944592307816406
|
|
|
|
LIMITS
|
|
The number of arguments of fprintf() is not to exceed 1024.
|
|
|
|
LINK LIBRARY
|
|
none
|
|
|
|
SEE ALSO
|
|
config, display, epsilon, printf, strprintf
|
|
|
|
## Copyright (C) 1999-2006,2018 Landon Curt Noll
|
|
##
|
|
## Calc is open software; you can redistribute it and/or modify it under
|
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
|
## as published by the Free Software Foundation.
|
|
##
|
|
## Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
## Public License for more details.
|
|
##
|
|
## A copy of version 2.1 of the GNU Lesser General Public License is
|
|
## distributed with calc under the filename COPYING-LGPL. You should have
|
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
##
|
|
## Under source code control: 1996/03/12 22:50:41
|
|
## File existed as early as: 1996
|
|
##
|
|
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|