]> www.ginac.de Git - ginac.git/blobdiff - cint/ginaccint.1
* All operators are now strictly following the semantics we all know from
[ginac.git] / cint / ginaccint.1
index 96b5769d2599e442e2a4e39c25fe06a4db245aa4..e9ebd08afdb2aec180f8e40c8e637d8daa683cd8 100644 (file)
@@ -3,46 +3,78 @@
 GiNaC-cint \- An interactive interface for GiNaC based on the Cint C/C++ interpreter
 .SH SYNPOSIS
 .B ginaccint
 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
 .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
 .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.
 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
 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.
 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
 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 ( ; )
 .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
 
 .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"
 .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
 .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.
 
 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 ".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
 
 .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) {
 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
      > }
 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)
  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
 .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
 and 
 .BR LAST
 after declaring them.  This accounts for some funny behaviour, like
-.BR fibonacci(7)
+.BR fibonacci(numeric(7))
 doesn't print, but
 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
 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
 
 .SH AUTHOR
 .TP
@@ -160,7 +229,7 @@ CLN \- A Class Library for Numbers, Bruno Haible
 \fBginsh\fP(1)
 .SH COPYRIGHT
 .SS GINAC COPYRIGHT
 \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
 
 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
 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 <MXJ02154@niftyserve.or.jp>.  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.