ref: eb96892d857355499a7400381e9186512a7d153f
parent: 599dd1c34f1d4e62ee29b2de42eaba7143590347
parent: 2dbc08a8bc347e9cf9c9291b07b71cf9f00c4acf
author: cinap_lenrek <[email protected]>
date: Tue Nov 6 12:21:15 EST 2012
merge
--- /dev/null
+++ b/sys/man/1/fplot
@@ -1,0 +1,57 @@
+.TH FPLOT 1
+.SH NAME
+fplot \- plot elementary function
+.SH SYNOPSYS
+.B fplot
+[
+.B -c
+[
+.B -s
+.I size
+]] [
+.B -r
+.I range
+]
+.I functions ...
+.SH DESCRIPTION
+.I Fplot
+plots elementary
+.I functions
+separated by spaces. The default output is the screen, but if the
+.B -c
+option is specified, the plot is written to the standard output as an r8g8b8
+.IR image (6).
+The latter image size is either 640x480 or the one specified by the
+.B -s
+option's argument (in the WIDTHxHEIGHT format). The
+.B -r
+option accepts as argument the x and y ranges, in the format
+.LR "xmin:xmax ymin:ymax".
+.PP
+Each function to be plotted may be a combination of the independent variable x,
+the elementary operations (+, -, *, and /), and the functions described in
+.IR sin (2)
+and
+.IR exp (2).
+The exception being that x^n raises x to the nth power, log is the base 10 logarithm,
+and ln is the natural logarithm.
+.SH EXAMPLES
+Plot the absolute value and x^3 functions to a 400x400 image(6) on standard output and view with
+.IR page (1).
+.IP
+.EX
+fplot -c -s 400x400 'sqrt(x*x)' 'x^3' | page
+.EE
+.SH SOURCE
+.B /sys/src/cmd/fplot.c
+.SH SEE ALSO
+.IR exp (2),
+.IR sin (2),
+.IR image (6),
+.IR plot (1).
+
+.SH DIAGNOSTICS
+.I Fplot
+either exits with
+.LR "syntax error"
+or an empty status.
--- a/sys/src/cmd/fplot.c
+++ b/sys/src/cmd/fplot.c
@@ -57,6 +57,7 @@
void oacos(void) { *sp = acos(*sp); }
void oatan(void) { *sp = atan(*sp); }
void osqrt(void) { *sp = sqrt(*sp); }
+void oexp(void) { *sp = exp(*sp); }
void olog(void) { *sp = log10(*sp); }
void oln(void) { *sp = log(*sp); }
@@ -79,6 +80,7 @@
"acos", OUNARY, 0, 50, oacos,
"atan", OUNARY, 0, 50, oatan,
"sqrt", OUNARY, 0, 50, osqrt,
+ "exp", OUNARY, 0, 50, oexp,
"log", OUNARY, 0, 50, olog,
"ln", OUNARY, 0, 50, oln,
};