X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=cint%2Fginaccint.1;h=e9ebd08afdb2aec180f8e40c8e637d8daa683cd8;hb=0573a5aa2a4834b26a3d40f4160d145658988eff;hp=96b5769d2599e442e2a4e39c25fe06a4db245aa4;hpb=11b04edda530b248b849d46fb310a9fad1c1892f;p=ginac.git diff --git a/cint/ginaccint.1 b/cint/ginaccint.1 index 96b5769d..e9ebd08a 100644 --- a/cint/ginaccint.1 +++ b/cint/ginaccint.1 @@ -3,46 +3,78 @@ GiNaC-cint \- An interactive interface for GiNaC based on the Cint C/C++ interpreter .SH SYNPOSIS .B ginaccint +[file ...] .SH DESCRIPTION .B ginaccint is an interactive frontend for the GiNaC symbolic computation -framework. It is a tool that lets you write interactive programs in -C++ that directly make use of GiNaC's classes and thus a more complete -replacement for traditional interactive computer algebra systems than -\fBginsh\fP(1) is. Programs may be composed as scripts and later compiled -with the native compiler and linked into the system. +framework. It is a tool that lets you write interactive programs +(scripts) in C++ that directly make use of GiNaC's classes. Thus it +is a more complete replacement for traditional interactive computer +algebra systems than \fBginsh\fP(1) is. Programs may be composed as +scripts and later compiled with the native compiler and linked into +the system. .SH USAGE .SS INPUT FORMAT -After startup, ginsh displays a prompt signifying that it is ready to +After startup, GiNaC-cint reads and executes the files given as +command line arguments. If any of these files contains a +.BR .quit +command, GiNaC-cint exits at this point. +Otherwise it displays a prompt signifying that it is ready to accept your input. All C++ statements are valid as input, extended by GiNaC's numeric or symbolic expressions. E.g. -.BR fibonacci(24)/1104; +.BR fibonacci(numeric(24))/1104; returns a GiNaC object of class -.BR ex, -, which in this case represents the numeric 42. Symbols are declared by +.BR "ex" , +which in this case represents the numeric 42. Symbols are declared by statements as .nf GiNaC> symbol x("x"), y("y"), z; .fi which defines two named symbols and an anonymous one for later usage. -All GiNaC methods and functions are available as they would be typed +All GiNaC methods and functions are available as they would be coded in C++. It is not necessary to explicitly invoke a print command as the last expression is automatically printed: .nf GiNaC> pow(x+y,4).expand(); Out2 = x^4+4*x^3*y+6*x^2*y^2+4*x*y^3+y^4 .fi -Statements are generally closed by either when a closing brace +Statements are generally closed either when a closing brace .RB ( } ) matches the first opening brace .RB ( { ) or a semicolon .RB ( ; ) -is encountered. +is encountered while there are no open braces. This implies that +an input like +.nf +GiNaC> class A { + > } + > ; +.fi +is misinterpreted to be complete after the closing brace. +Instead you have to write +.nf +GiNaC> class A { + > }; +.fi .SS SPECIAL COMMANDS + +Lines starting with a dot mark special GiNaC-cint commands. Instead of +.BR "\fB.cmd\fB" +you can also write +.BR "\fB//GiNaC-cint.cmd\fB" +to be compatible with programs that will be compiled later. +This is mostly useful for the +.BR "\fB.function\fB" +declaration. + +Lines starting with #! (for #!/path/ginaccint) are ignored. + + .IP "\fB.cint\fR" -Switch to cint interactive mode. +Switch to cint's interactive mode. + .IP "\fB.function\fR" Allow a function definition in interactive mode. GiNaC-cint must be @@ -50,14 +82,50 @@ put into a special mode in order to define a function. After that any function definition in valid C++ syntax may be typed in. It becomes immediatly available for usage. -.IP "\fBquit;\fR" -Exit from GiNaC-Cint. Same as -.BR "exit;" , -.BR "bye;" , +.IP "\fB.help\fB" + +List a short summary of available commands. + +.IP "\fB.quit\fR" +Exit from GiNaC-cint. Same as +.BR ".bye" , +.BR ".exit" , .BR ".q" , -.BR ".quit" , -.BR ".exit " or -.BR ".bye" . +.BR "bye;" , +.BR "exit; " or +.BR "quit;" . + +.IP "\fB.read filename\fB" + +Read a file from disk and execute it in GiNaC-cint +(recursive call is possible). + +.IP "\fB.redirect [filename]\fB" + +Redirect +.BR "\fBOut\fP\fInum\fP" +output to a file ( +.BR .redirect +alone redirects output to console). + +.IP "\fB.restart\fB" + +Restart GiNaC-cint (does not re-read command line files). + +.IP "\fB.save filename\fB" + +Save the commands you have entered so far in a file. + +.IP "\fB.silent\fB" + +suppress +.BR "\fBOut\fP\fInum\fP" +output (variables are still accessible). + +.IP "\fB.> [filename]\fB" + +same as +.BR "\fB.redirect [filename]\fB" . .IP "\fBOut\fP\fInum\fP" Returns the expression whose output was marked @@ -79,7 +147,7 @@ Out1 = -2*(1+x)^(-3)*(-2-x+x^2)+(-1+2*x)*(1+x)^(-2) GiNaC> s.normal(); Out2 = (-2+x)*(1+x)^(-1) GiNaC> for (int i=2; i<20; i+=2) { - > cout << "B(" << i << ")==" << bernoulli(i) << endl; + > cout << "B(" << i << ")==" << bernoulli(numeric(i)) << endl; > } B(2)==1/6 B(4)==-1/30 @@ -111,7 +179,7 @@ The GCD of -3+2*x*z*y+x^2*z^2*y^2 and 3-4*x*z*y+x^2*z^2*y^2 is -1+x*z*y so (-3+2*x*z*y+x^2*z^2*y^2)*(3-4*x*z*y+x^2*z^2*y^2)^(-1) is (-3+x*z*y)^(-1)*(3+x*z*y) -GiNaC> quit; +GiNaC> .quit .fi .SH BUGS @@ -132,11 +200,12 @@ are typed out and available through and .BR LAST after declaring them. This accounts for some funny behaviour, like -.BR fibonacci(7) +.BR fibonacci(numeric(7)) doesn't print, but -.BR fibonacci(7)*1 +.BR fibonacci(numeric(7))*1 does, since this is not a naked number but an expression holding -that number. +that number. A warning message is printed in this case only for +the first occurence. .SH AUTHOR .TP @@ -160,7 +229,7 @@ CLN \- A Class Library for Numbers, Bruno Haible \fBginsh\fP(1) .SH COPYRIGHT .SS GINAC COPYRIGHT -Copyright \(co 1999-2000 Johannes Gutenberg Universit\(:at Mainz, Germany +Copyright \(co 1999-2001 Johannes Gutenberg Universit\(:at Mainz, Germany This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -177,12 +246,16 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .SS CINT COPYRIGHT Copyright \(co of Cint and associated tools are owned by Agilent -Technologies Japan Company and the author. Acknowledgement to the -author by e-mail is recommended at installation. Source code, binary -executable or library of Cint and associated tools can be used, -modified and distributed free of charge for any purpose provided that -the copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in documentation. -Registration is requested, at this moment, for commercial use. Send -e-mail to the author . The registration is -free. +Technologies Japan Company and the author (Masaharu Goto). Source +code, binary executable or library of Cint and associated tools can be +used, modified and distributed with no royalty for any purpose +provided that the copyright notice appear in all copies and that both +that copyright notice and this permission notice appear in supporting +documentation. Registration is recommended for commercial use +(=Selling a software that uses cint as a component). Send e-mail to +the author (MXJ02154@niftyserve.or.jp) with your name, e-mail address, +institute, purpose of using cint and computer platform. If a +modification is made on any of the source or documentation, it has to +be clearly documented and expressed. Agilent Technologies Japan and +the author make no representations about the suitability of this +software for any purpose.