]> www.ginac.de Git - ginac.git/commitdiff
- Renamed flag NO_GINAC_NAMESPACE to NO_NAMESPACE_GINAC because of m4.
authorRichard Kreckel <Richard.Kreckel@uni-mainz.de>
Sun, 30 Jan 2000 23:52:53 +0000 (23:52 +0000)
committerRichard Kreckel <Richard.Kreckel@uni-mainz.de>
Sun, 30 Jan 2000 23:52:53 +0000 (23:52 +0000)
- Made configure check for cint and makecint and call makecint to dump out
  cint/Makefile.cint, which will later be called by cint/Makefile.  See
  configure option --with-cint.
- Added some documentation about GiNaC-cint (e.g. a manpage).
- All dummies in subdir cint/ are created by cint/dummies.pl now, removed
  older stuff.

111 files changed:
INSTALL
Makefile.am
Makefile.in
NEWS
check/Makefile.in
check/differentiation.cpp
check/expand_subs.cpp
check/inifcns_consist.cpp
check/lortensor_check.cpp
check/lsolve_onedim.cpp
check/matrix_checks.cpp
check/normalization.cpp
check/numeric_consist.cpp
check/numeric_output.cpp
check/paranoia_check.cpp
check/poly_gcd.cpp
check/powerlaws.cpp
check/series_expansion.cpp
cint/Makefile.am [new file with mode: 0644]
cint/Makefile.in [new file with mode: 0644]
cint/configure [deleted file]
cint/dummies.cpp [new file with mode: 0644]
cint/dummies.h [new file with mode: 0644]
cint/dummies.pl [moved from cint/genheader.pl with 55% similarity, mode: 0644]
cint/dummy_ginsh.cpp [deleted file]
cint/ginaccint.1 [new file with mode: 0644]
cint/ginaccint.cpp
configure
configure.in
doc/Makefile.in
doc/reference/DoxyfileHTML
doc/reference/Makefile.in
doc/tutorial/Makefile.in
doc/tutorial/version.texi
ginac/Makefile.in
ginac/add.cpp
ginac/add.h
ginac/archive.cpp
ginac/archive.h
ginac/basic.cpp
ginac/basic.h
ginac/clifford.cpp
ginac/clifford.h
ginac/color.cpp
ginac/color.h
ginac/coloridx.cpp
ginac/coloridx.h
ginac/constant.cpp
ginac/constant.h
ginac/container.pl
ginac/diff.cpp
ginac/ex.cpp
ginac/ex.h
ginac/expair.h
ginac/expairseq.cpp
ginac/expairseq.h
ginac/exprseq_suppl.cpp
ginac/fail.cpp
ginac/fail.h
ginac/flags.h
ginac/function.pl
ginac/idx.cpp
ginac/idx.h
ginac/indexed.cpp
ginac/indexed.h
ginac/inifcns.cpp
ginac/inifcns.h
ginac/inifcns_gamma.cpp
ginac/inifcns_trans.cpp
ginac/inifcns_zeta.cpp
ginac/isospin.cpp
ginac/isospin.h
ginac/lorentzidx.cpp
ginac/lorentzidx.h
ginac/lortensor.cpp
ginac/lortensor.h
ginac/lst_suppl.cpp
ginac/matrix.cpp
ginac/matrix.h
ginac/mul.cpp
ginac/mul.h
ginac/ncmul.cpp
ginac/ncmul.h
ginac/normal.cpp
ginac/normal.h
ginac/numeric.cpp
ginac/numeric.h
ginac/operators.cpp
ginac/operators.h
ginac/power.cpp
ginac/power.h
ginac/pseries.cpp
ginac/pseries.h
ginac/registrar.cpp
ginac/registrar.h
ginac/relational.cpp
ginac/relational.h
ginac/simp_lor.cpp
ginac/simp_lor.h
ginac/structure.cpp
ginac/structure.h
ginac/structure.pl
ginac/symbol.cpp
ginac/symbol.h
ginac/tinfos.h
ginac/utils.cpp
ginac/utils.h
ginsh/Makefile.in
ginsh/ginsh.1
ginsh/ginsh.h
ginsh/ginsh_parser.yy

diff --git a/INSTALL b/INSTALL
index 656fd7ef89d1ba62bef154f3ce15f734d432986d..4555857e83d9bc7f4afb3f18a8febb96bd3da2d5 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,11 +1,24 @@
 Prerequisites
 =============
 
 Prerequisites
 =============
 
-GiNaC requires the CLN library by Bruno Haible, available at
-<ftp://ftp.santafe.eu/pub/gnu/> or <ftp://ftp.ilog.fr/pub/Users/haible/gnu/>.
-You will also need a good C++ compiler adhering to the ANSI standard (we 
-used gcc for development so if you have a different compiler you are on 
-your own).
+GiNaC requires the CLN library by Bruno Haible, available at either
+one of the following FTP-sites:
+  * <ftp://ftp.santafe.edu/pub/gnu/>,
+  * <ftp://ftp.ilog.fr/pub/Users/haible/gnu/> or
+  * <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
+You will also need a decent ANSI-compliant C++-compiler.  We use
+`post-EGCS' GCC, i.e GCC >= 2.95 for development so if you have a
+different compiler you are on your own.  Note that you may have to use
+the same compiler you compiled CLN with because of differing
+name-mangling schemes.
+
+Optionally, GiNaC may work together with Masaharu Goto's C++
+interpreter cint (which requires that you register for commercial
+use).  You may obtain it from
+  * <ftp://root.cern.ch/root/>.
+Install it by following the instructions included in Cint's
+distribution before trying to compile GiNaC-cint.  (See section
+`Working with the Cint C++ interpreter' below.)
 
 
 Installation
 
 
 Installation
@@ -60,3 +73,11 @@ To protect you, the "configure" script checks for a feature that was
 added in V1.0.3 so it won't continue with earlier versions anyhow.
 Please install CLN properly on your system before continuing with
 GiNaC.
 added in V1.0.3 so it won't continue with earlier versions anyhow.
 Please install CLN properly on your system before continuing with
 GiNaC.
+
+
+Working with the Cint C++ interpreter
+=====================================
+
+You need to specify
+  --with-cint=$CINTSYSDIR
+...
index 36a9799c0c46949714c633076f8ca9df2d6ab5fa..6470f546911d9a2c36f1284220e6bc3b1a49e447 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 ## Process this file with automake to produce Makefile.in
-SUBDIRS = ginac check ginsh tools doc
+SUBDIRS = @GINACCINTDIR@ ginac check ginsh tools doc
 
 # Requires automake 1.4
 AUTOMAKE_OPTIONS = 1.4
 
 # Requires automake 1.4
 AUTOMAKE_OPTIONS = 1.4
index 272ac7f64821aa4cc3e09e0374b92b4c94016db1..ab76a59a6a3c9b4646cd498c3005103831373618 100644 (file)
@@ -70,6 +70,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -82,6 +83,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -101,7 +103,7 @@ TUTORIAL_TARGETS = @TUTORIAL_TARGETS@
 VERSION = @VERSION@
 YACC = @YACC@
 
 VERSION = @VERSION@
 YACC = @YACC@
 
-SUBDIRS = ginac check ginsh tools doc
+SUBDIRS = @GINACCINTDIR@ ginac check ginsh tools doc
 
 # Requires automake 1.4
 AUTOMAKE_OPTIONS = 1.4
 
 # Requires automake 1.4
 AUTOMAKE_OPTIONS = 1.4
@@ -356,7 +358,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
diff --git a/NEWS b/NEWS
index 2f77114820382f9035a8549108a9b156e60086ec..5ac7e5429d8440f8a74224a6592d15fcbdd7f15c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
 This file records noteworthy changes.
 
 0.4.0 (26 November 1999)
 This file records noteworthy changes.
 
 0.4.0 (26 November 1999)
-* First public release
+* First public release.
 
 0.4.1 (13 December 1999)
 * Series Expansion of Gamma function and some other trigonometric
 
 0.4.1 (13 December 1999)
 * Series Expansion of Gamma function and some other trigonometric
index a830de0e3a14b030724f94a371ec695672844965..41fe7c479e74b36c39a72b6537e68b66c42f33c4 100644 (file)
@@ -70,6 +70,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -82,6 +83,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -250,7 +252,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 5b5f12dc614af1506589a0356c7b9cdfd221ad44..ad91add89abc519b868c4719f0dafc80a4fb8714 100644 (file)
@@ -22,9 +22,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static unsigned check_diff(const ex &e, const symbol &x,
                            const ex &d, unsigned nth=1)
 
 static unsigned check_diff(const ex &e, const symbol &x,
                            const ex &d, unsigned nth=1)
index cf6847a7eddf8e9aac36c9cbb1ec9300023ec1b2..4c2236ac89b6f5d844fb70293b97036b3307dded 100644 (file)
@@ -33,9 +33,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #define VECSIZE 100
 
 
 #define VECSIZE 100
 
index 23c3eb65eaadb2102b34b50c54c40f09b71550d9..34a97b69a9946c6f0453045dfeb8bdda41deebfc 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /* Some tests on the sine trigonometric function. */
 static unsigned inifcns_consist_sin(void)
 
 /* Some tests on the sine trigonometric function. */
 static unsigned inifcns_consist_sin(void)
index bacd87c21a4e85007335867dba7efeb618593359..b8543e4bb0f735bb130f23d2f2926d0851765320 100644 (file)
@@ -23,9 +23,9 @@
 #include <stdexcept>
 #include <ginac/ginac.h>
 
 #include <stdexcept>
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static unsigned lortensor_check1(void)
 {
 
 static unsigned lortensor_check1(void)
 {
index 997fe144298644f2997aa90f8608cd9b872d2f78..097a01227b90050b3f7fcadc8736121e22422b9d 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 unsigned lsolve_onedim(void)
 {
 
 unsigned lsolve_onedim(void)
 {
index 104a6058412ee03f61cbbd5ef8dcfa1ef9d1c93d..cfc81fa01cce3814cddab3783ea33ee605eb721f 100644 (file)
@@ -23,9 +23,9 @@
 #include <stdexcept>
 #include <ginac/ginac.h>
 
 #include <stdexcept>
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static unsigned matrix_determinants(void)
 {
 
 static unsigned matrix_determinants(void)
 {
index 1c3ac9c7b9e7af337296fda7eb129bc6ee86090a..7144c278ce292f20e7def2ab11017b517e4e870b 100644 (file)
@@ -22,9 +22,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static symbol x("x"), y("y"), z("z");
 
 
 static symbol x("x"), y("y"), z("z");
 
index 3e581f660761550cc4de28997b5675cec6792aac..7d836e303a14b50e7da4c0096d06006839299b56 100644 (file)
@@ -24,9 +24,9 @@
 #include <stdlib.h>
 #include <ginac/ginac.h>
 
 #include <stdlib.h>
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /* Simple and maybe somewhat pointless consistency tests of assorted tests and
  * conversions. */
 
 /* Simple and maybe somewhat pointless consistency tests of assorted tests and
  * conversions. */
index 3682c8e72374f01d548112c705189b7b8aee990b..f2390d2b00c7ae2e9d5d8ff81e2aeb62cb837676 100644 (file)
@@ -22,9 +22,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 unsigned numeric_output(void)
 {
 
 unsigned numeric_output(void)
 {
index c7c50135a3787707e337154746ca7fdb078192f1..1926ada9c244767cf6ef986bc6d7f64cb584c33f 100644 (file)
@@ -25,9 +25,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // The very first pair of historic problems had its roots in power.cpp and was
 // finally resolved on April 27th. (Fixing the first on April 23rd actually
 
 // The very first pair of historic problems had its roots in power.cpp and was
 // finally resolved on April 27th. (Fixing the first on April 23rd actually
index 0d8327a39e2dd8023268cd580f9270708d953573..1e25add7f2fa257dec3a0e0184b685350da4018e 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 const int MAX_VARIABLES = 5;
 
 
 const int MAX_VARIABLES = 5;
 
index d6a896cff54a15dafa7ccfc81263fb78535427e7..83ea03da832d551b36afa5c81a2a950a6126e28f 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static unsigned powerlaws1(void)
 {
 
 static unsigned powerlaws1(void)
 {
index 42170c0b1104323621bb357c0c6deb763d623642..6d482baa60f1c260ec62954d0f665846cc955366 100644 (file)
@@ -22,9 +22,9 @@
 
 #include <ginac/ginac.h>
 
 
 #include <ginac/ginac.h>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 static symbol x("x");
 
 
 static symbol x("x");
 
diff --git a/cint/Makefile.am b/cint/Makefile.am
new file mode 100644 (file)
index 0000000..bc1690f
--- /dev/null
@@ -0,0 +1,26 @@
+## Process this file with automake to produce Makefile.in
+
+bin_PROGRAMS = ginaccint
+noinst_LIBRARIES = libginac.a
+ginaccint_SOURCES = ginaccint.cpp dummies.cpp dummies.h
+man_MANS = ginaccint.1
+
+# Build a modified library in the ginac-subdir and put it into the cint-subdir:
+libginac.a:
+       (cd ../ginac && \
+         $(MAKE) clean; \
+         $(MAKE) CXXFLAGS="$$CXXFLAGS -DNO_NAMESPACE_GINAC" && \
+         $(MAKE) install-libLTLIBRARIES prefix=`pwd`/../cint libdir=`pwd`/../cint && \
+         $(MAKE) clean)
+
+ginaccint: libginac.a ginaccint.cpp
+       $(MAKE) -f Makefile.makecint
+
+EXTRA_DIST = dummies.pl
+
+# Files which are generated by perl scripts
+$(srcdir)/dummies.h $(srcdir)/dummies.cpp: $(srcdir)/dummies.pl
+       cd $(srcdir) && perl dummies.pl
+
+# Force build of headers before compilation
+$(srcdir)/ginaccint.cpp: $(srcdir)/dummies.h
diff --git a/cint/Makefile.in b/cint/Makefile.in
new file mode 100644 (file)
index 0000000..6ed8957
--- /dev/null
@@ -0,0 +1,479 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+ARCHIVE_AGE = @ARCHIVE_AGE@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
+AS = @AS@
+CC = @CC@
+CINT = @CINT@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DVIPS = @DVIPS@
+FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
+GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
+GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
+GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
+GINACLIB_LIBS = @GINACLIB_LIBS@
+GINACLIB_MAJOR_VERSION = @GINACLIB_MAJOR_VERSION@
+GINACLIB_MICRO_VERSION = @GINACLIB_MICRO_VERSION@
+GINACLIB_MINOR_VERSION = @GINACLIB_MINOR_VERSION@
+GINACLIB_VERSION = @GINACLIB_VERSION@
+GINSH_LIBS = @GINSH_LIBS@
+LATEX = @LATEX@
+LD = @LD@
+LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAINT = @MAINT@
+MAKECINT = @MAKECINT@
+MAKEINDEX = @MAKEINDEX@
+MAKEINFO = @MAKEINFO@
+NM = @NM@
+OBJDUMP = @OBJDUMP@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+REFERENCE_TARGETS = @REFERENCE_TARGETS@
+TUTORIAL_TARGETS = @TUTORIAL_TARGETS@
+VERSION = @VERSION@
+YACC = @YACC@
+
+bin_PROGRAMS = ginaccint
+noinst_LIBRARIES = libginac.a
+ginaccint_SOURCES = ginaccint.cpp dummies.cpp dummies.h
+man_MANS = ginaccint.1
+
+EXTRA_DIST = dummies.pl
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES = 
+LIBRARIES =  $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I..
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libginac_a_LIBADD = 
+libginac_a_SOURCES = libginac.a.c
+libginac_a_OBJECTS =  libginac.a.o
+AR = ar
+PROGRAMS =  $(bin_PROGRAMS)
+
+ginaccint_OBJECTS =  ginaccint.o dummies.o
+ginaccint_LDADD = $(LDADD)
+ginaccint_DEPENDENCIES = 
+ginaccint_LDFLAGS = 
+CXXFLAGS = @CXXFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+man1dir = $(mandir)/man1
+MANS = $(man_MANS)
+
+NROFF = nroff
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DEP_FILES =  .deps/dummies.P .deps/ginaccint.P .deps/libginac.a.P
+SOURCES = libginac.a.c $(ginaccint_SOURCES)
+OBJECTS = libginac.a.o $(ginaccint_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .cpp .lo .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu cint/Makefile
+
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.s.o:
+       $(COMPILE) -c $<
+
+.S.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+       -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+.s.lo:
+       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+           $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       list='$(bin_PROGRAMS)'; for p in $$list; do \
+         rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+       done
+.cpp.o:
+       $(CXXCOMPILE) -c $<
+.cpp.lo:
+       $(LTCXXCOMPILE) -c $<
+
+install-man1:
+       $(mkinstalldirs) $(DESTDIR)$(man1dir)
+       @list='$(man1_MANS)'; \
+       l2='$(man_MANS)'; for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+         else file=$$i; fi; \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+         $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
+       done
+
+uninstall-man1:
+       @list='$(man1_MANS)'; \
+       l2='$(man_MANS)'; for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+         rm -f $(DESTDIR)$(man1dir)/$$inst; \
+       done
+install-man: $(MANS)
+       @$(NORMAL_INSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) install-man1
+uninstall-man:
+       @$(NORMAL_UNINSTALL)
+       $(MAKE) $(AM_MAKEFLAGS) uninstall-man1
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS)'; \
+       unique=`for i in $$list; do echo $$i; done | \
+         awk '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       here=`pwd` && cd $(srcdir) \
+         && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)'; \
+       unique=`for i in $$list; do echo $$i; done | \
+         awk '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = cint
+
+distdir: $(DISTFILES)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       distdir=`cd $(distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu cint/Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         if test -d $$d/$$file; then \
+           cp -pr $$d/$$file $(distdir)/$$file; \
+         else \
+           test -f $(distdir)/$$file \
+           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+           || cp -p $$d/$$file $(distdir)/$$file || :; \
+         fi; \
+       done
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+       -rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+       @echo '$(COMPILE) -c $<'; \
+       $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+       @-cp .deps/$(*F).pp .deps/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*F).P; \
+       rm .deps/$(*F).pp
+
+%.lo: %.c
+       @echo '$(LTCOMPILE) -c $<'; \
+       $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+       @-sed -e 's/^\([^:]*\)\.o[      ]*:/\1.lo \1.o :/' \
+         < .deps/$(*F).pp > .deps/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*F).P; \
+       rm -f .deps/$(*F).pp
+
+%.o: %.cpp
+       @echo '$(CXXCOMPILE) -c $<'; \
+       $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+       @-cp .deps/$(*F).pp .deps/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*F).P; \
+       rm .deps/$(*F).pp
+
+%.lo: %.cpp
+       @echo '$(LTCXXCOMPILE) -c $<'; \
+       $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+       @-sed -e 's/^\([^:]*\)\.o[      ]*:/\1.lo \1.o :/' \
+         < .deps/$(*F).pp > .deps/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*F).P; \
+       rm -f .deps/$(*F).pp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am: install-man
+install-data: install-data-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS)
+all-redirect: all-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+       $(mkinstalldirs)  $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
+       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
+               mostlyclean-libtool mostlyclean-binPROGRAMS \
+               mostlyclean-tags mostlyclean-depend mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am:  clean-noinstLIBRARIES clean-compile clean-libtool \
+               clean-binPROGRAMS clean-tags clean-depend clean-generic \
+               mostlyclean-am
+
+clean: clean-am
+
+distclean-am:  distclean-noinstLIBRARIES distclean-compile \
+               distclean-libtool distclean-binPROGRAMS distclean-tags \
+               distclean-depend distclean-generic clean-am
+       -rm -f libtool
+
+distclean: distclean-am
+
+maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
+               maintainer-clean-compile maintainer-clean-libtool \
+               maintainer-clean-binPROGRAMS maintainer-clean-tags \
+               maintainer-clean-depend maintainer-clean-generic \
+               distclean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool mostlyclean-binPROGRAMS \
+distclean-binPROGRAMS clean-binPROGRAMS maintainer-clean-binPROGRAMS \
+uninstall-binPROGRAMS install-binPROGRAMS install-man1 uninstall-man1 \
+install-man uninstall-man tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir mostlyclean-depend \
+distclean-depend clean-depend maintainer-clean-depend info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Build a modified library in the ginac-subdir and put it into the cint-subdir:
+libginac.a:
+       (cd ../ginac && \
+         $(MAKE) clean; \
+         $(MAKE) CXXFLAGS="$$CXXFLAGS -DNO_NAMESPACE_GINAC" && \
+         $(MAKE) install-libLTLIBRARIES prefix=`pwd`/../cint libdir=`pwd`/../cint && \
+         $(MAKE) clean)
+
+ginaccint: libginac.a ginaccint.cpp
+       $(MAKE) -f Makefile.makecint
+
+# Files which are generated by perl scripts
+$(srcdir)/dummies.h $(srcdir)/dummies.cpp: $(srcdir)/dummies.pl
+       cd $(srcdir) && perl dummies.pl
+
+# Force build of headers before compilation
+$(srcdir)/ginaccint.cpp: $(srcdir)/dummies.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/cint/configure b/cint/configure
deleted file mode 100755 (executable)
index ec988b4..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-echo
-echo "GiNaCcint configure script"
-echo "--------------------------"
-echo
-echo "Warning: this is not a sophisticated GNU configure script!"
-echo
-echo "It tests if cint is installed"
-echo "What it does NOT check:"
-echo "    the ginac source files (e.g. ginac.h) must be in ../ginac"
-echo "    libginac must have been compiled with -D NO_GINAC_NAMESPACE"
-echo "    libginac.a or libginac.so must be found in ../ginac/.libs"
-echo "    libcln.a or libcln.so must be in the standard link path"
-echo
-
-if [ X"$CINTSYSDIR"X = "XX" ]; then
-    echo "ERROR: cint does not seem to be installed (\$CINTSYSDIR not set)"
-    exit
-fi;
-echo "ok, cint seems to be installed (\$CINTSYSDIR = $CINTSYSDIR)"
-
-if [ X`which cint`X = "XX" ]; then
-    echo "ERROR: cint not in \$PATH"
-    exit
-fi;
-echo "ok, cint seems to be in \$PATH"
-
-makecint -mk Makefile -o ginaccint -m \
- -D OBSCURE_CINT_HACK -D NO_GINAC_NAMESPACE \
- -I .. -I $CINTSYSDIR \
- -m -H ../ginac/ginac.h -H cint_workaround.h \
- -C++ dummy_ginsh.cpp -C++ ginaccint.cpp \
- -l ../ginac/.libs/libginac.a -lcln \
- -cint -M0x10
-echo "ok, makecint has created the Makefile"
-
-echo
-echo "Configuration done. Now type \"make\"."
-echo "(please ignore template warnings about 'statement with no effect')"
-
diff --git a/cint/dummies.cpp b/cint/dummies.cpp
new file mode 100644 (file)
index 0000000..66d57d9
--- /dev/null
@@ -0,0 +1,14 @@
+/*  dummies.cpp
+ *
+ *  Dummies and stubs to overcome certain deficiencies of Cint.
+ *  This file was generated automatically by dummies.pl.
+ *  Please do not modify it directly, edit the perl script instead!
+ */
+
+#include <ginac/function.h>
+
+#ifndef NO_NAMESPACE_GINAC
+using namespace GiNaC;
+#endif // ndef NO_NAMESPACE_GINAC
+
+void ginsh_get_ginac_functions(void) { }
diff --git a/cint/dummies.h b/cint/dummies.h
new file mode 100644 (file)
index 0000000..3f017b4
--- /dev/null
@@ -0,0 +1,583 @@
+/*  dummies.h
+ *
+ *  Dummies and wrappers to overcome certain deficiencies of Cint.
+ *  This file was generated automatically by dummies.pl.
+ *  Please do not modify it directly, edit the perl script instead!
+ */
+
+// fixes for sin(x)
+inline ex sin(symbol const & x) { return sin(ex(x)); }
+inline ex sin(function const & x) { return sin(ex(x)); }
+inline ex sin(constant const & x) { return sin(ex(x)); }
+inline ex sin(idx const & x) { return sin(ex(x)); }
+inline ex sin(lorentzidx const & x) { return sin(ex(x)); }
+inline ex sin(coloridx const & x) { return sin(ex(x)); }
+
+// fixes for cos(x)
+inline ex cos(symbol const & x) { return cos(ex(x)); }
+inline ex cos(function const & x) { return cos(ex(x)); }
+inline ex cos(constant const & x) { return cos(ex(x)); }
+inline ex cos(idx const & x) { return cos(ex(x)); }
+inline ex cos(lorentzidx const & x) { return cos(ex(x)); }
+inline ex cos(coloridx const & x) { return cos(ex(x)); }
+
+// fixes for tan(x)
+inline ex tan(symbol const & x) { return tan(ex(x)); }
+inline ex tan(function const & x) { return tan(ex(x)); }
+inline ex tan(constant const & x) { return tan(ex(x)); }
+inline ex tan(idx const & x) { return tan(ex(x)); }
+inline ex tan(lorentzidx const & x) { return tan(ex(x)); }
+inline ex tan(coloridx const & x) { return tan(ex(x)); }
+
+// fixes for asin(x)
+inline ex asin(symbol const & x) { return asin(ex(x)); }
+inline ex asin(function const & x) { return asin(ex(x)); }
+inline ex asin(constant const & x) { return asin(ex(x)); }
+inline ex asin(idx const & x) { return asin(ex(x)); }
+inline ex asin(lorentzidx const & x) { return asin(ex(x)); }
+inline ex asin(coloridx const & x) { return asin(ex(x)); }
+
+// fixes for acos(x)
+inline ex acos(symbol const & x) { return acos(ex(x)); }
+inline ex acos(function const & x) { return acos(ex(x)); }
+inline ex acos(constant const & x) { return acos(ex(x)); }
+inline ex acos(idx const & x) { return acos(ex(x)); }
+inline ex acos(lorentzidx const & x) { return acos(ex(x)); }
+inline ex acos(coloridx const & x) { return acos(ex(x)); }
+
+// fixes for atan(x)
+inline ex atan(symbol const & x) { return atan(ex(x)); }
+inline ex atan(function const & x) { return atan(ex(x)); }
+inline ex atan(constant const & x) { return atan(ex(x)); }
+inline ex atan(idx const & x) { return atan(ex(x)); }
+inline ex atan(lorentzidx const & x) { return atan(ex(x)); }
+inline ex atan(coloridx const & x) { return atan(ex(x)); }
+
+// fixes for exp(x)
+inline ex exp(symbol const & x) { return exp(ex(x)); }
+inline ex exp(function const & x) { return exp(ex(x)); }
+inline ex exp(constant const & x) { return exp(ex(x)); }
+inline ex exp(idx const & x) { return exp(ex(x)); }
+inline ex exp(lorentzidx const & x) { return exp(ex(x)); }
+inline ex exp(coloridx const & x) { return exp(ex(x)); }
+
+// fixes for log(x)
+inline ex log(symbol const & x) { return log(ex(x)); }
+inline ex log(function const & x) { return log(ex(x)); }
+inline ex log(constant const & x) { return log(ex(x)); }
+inline ex log(idx const & x) { return log(ex(x)); }
+inline ex log(lorentzidx const & x) { return log(ex(x)); }
+inline ex log(coloridx const & x) { return log(ex(x)); }
+
+// fixes for sqrt(x)
+inline ex sqrt(symbol const & x) { return sqrt(ex(x)); }
+inline ex sqrt(function const & x) { return sqrt(ex(x)); }
+inline ex sqrt(constant const & x) { return sqrt(ex(x)); }
+inline ex sqrt(idx const & x) { return sqrt(ex(x)); }
+inline ex sqrt(lorentzidx const & x) { return sqrt(ex(x)); }
+inline ex sqrt(coloridx const & x) { return sqrt(ex(x)); }
+
+// fixes for sinh(x)
+inline ex sinh(symbol const & x) { return sinh(ex(x)); }
+inline ex sinh(function const & x) { return sinh(ex(x)); }
+inline ex sinh(constant const & x) { return sinh(ex(x)); }
+inline ex sinh(idx const & x) { return sinh(ex(x)); }
+inline ex sinh(lorentzidx const & x) { return sinh(ex(x)); }
+inline ex sinh(coloridx const & x) { return sinh(ex(x)); }
+
+// fixes for cosh(x)
+inline ex cosh(symbol const & x) { return cosh(ex(x)); }
+inline ex cosh(function const & x) { return cosh(ex(x)); }
+inline ex cosh(constant const & x) { return cosh(ex(x)); }
+inline ex cosh(idx const & x) { return cosh(ex(x)); }
+inline ex cosh(lorentzidx const & x) { return cosh(ex(x)); }
+inline ex cosh(coloridx const & x) { return cosh(ex(x)); }
+
+// fixes for tanh(x)
+inline ex tanh(symbol const & x) { return tanh(ex(x)); }
+inline ex tanh(function const & x) { return tanh(ex(x)); }
+inline ex tanh(constant const & x) { return tanh(ex(x)); }
+inline ex tanh(idx const & x) { return tanh(ex(x)); }
+inline ex tanh(lorentzidx const & x) { return tanh(ex(x)); }
+inline ex tanh(coloridx const & x) { return tanh(ex(x)); }
+
+// fixes for abs(x)
+inline ex abs(symbol const & x) { return abs(ex(x)); }
+inline ex abs(function const & x) { return abs(ex(x)); }
+inline ex abs(constant const & x) { return abs(ex(x)); }
+inline ex abs(idx const & x) { return abs(ex(x)); }
+inline ex abs(lorentzidx const & x) { return abs(ex(x)); }
+inline ex abs(coloridx const & x) { return abs(ex(x)); }
+
+// fixes for pow(x,y)
+inline ex pow(symbol const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(symbol const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(function const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(constant const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(idx const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(lorentzidx const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(coloridx const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,symbol const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,function const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,constant const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,idx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,lorentzidx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,coloridx const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(ex const & x,numeric const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(ex const & x,int const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(ex const & x,double const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(numeric const & x,ex const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(int const & x,ex const & y) {
+    return pow(ex(x),ex(y));
+}
+inline ex pow(double const & x,ex const & y) {
+    return pow(ex(x),ex(y));
+}
+
+// fixes for atan2(x,y)
+inline ex atan2(symbol const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(symbol const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(function const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(constant const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(idx const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(lorentzidx const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(coloridx const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,symbol const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,function const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,constant const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,idx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,lorentzidx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,coloridx const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(ex const & x,numeric const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(ex const & x,int const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(ex const & x,double const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(numeric const & x,ex const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(int const & x,ex const & y) {
+    return atan2(ex(x),ex(y));
+}
+inline ex atan2(double const & x,ex const & y) {
+    return atan2(ex(x),ex(y));
+}
+
old mode 100755 (executable)
new mode 100644 (file)
similarity index 55%
rename from cint/genheader.pl
rename to cint/dummies.pl
index 7c4a98f..86f797a
@@ -1,15 +1,17 @@
-#!/usr/bin/perl -w
+# Create files containing dummies, wrappers and so on to overcome certain
+# deficiencies in Cint.  In an ideal world it would be unnecessary.
+
+$header='dummies.h';
+$source='dummies.cpp';
 
 # Generate a header file which is additionally included in cint
 # to work around the broken overloading resolution of cint for
 
 # Generate a header file which is additionally included in cint
 # to work around the broken overloading resolution of cint for
-# C library functions
-# e.g. if a function declared as ex sin(ex const & x) and called
+# C library functions and other problems.
+# E.g: if a function declared as ex sin(ex const & x) and called
 # with sin(y) where y is a symbol, cint favours a conversion from
 # symbol to void * to double over symbol to ex and thus calls the
 # C math library function double sin(double x) (sigh!)
 
 # with sin(y) where y is a symbol, cint favours a conversion from
 # symbol to void * to double over symbol to ex and thus calls the
 # C math library function double sin(double x) (sigh!)
 
-$header='cint_workaround.h';
-
 # types which need help to be converted to ex
 @types=('symbol','function','constant','idx','lorentzidx','coloridx');
 @moretypes=('numeric','int','double');
 # types which need help to be converted to ex
 @types=('symbol','function','constant','idx','lorentzidx','coloridx');
 @moretypes=('numeric','int','double');
@@ -24,6 +26,18 @@ $header='cint_workaround.h';
 
 open OUT,">$header";
 
 
 open OUT,">$header";
 
+$opening=<<END_OF_OPENING;
+/*  dummies.h
+ *
+ *  Dummies and wrappers to overcome certain deficiencies of Cint.
+ *  This file was generated automatically by dummies.pl.
+ *  Please do not modify it directly, edit the perl script instead!
+ */
+
+END_OF_OPENING
+
+print OUT $opening;
+
 foreach $f (@functions1p) {
     print OUT "// fixes for $f(x)\n";
     foreach $t (@types) {
 foreach $f (@functions1p) {
     print OUT "// fixes for $f(x)\n";
     foreach $t (@types) {
@@ -55,4 +69,30 @@ foreach $f (@functions2p) {
 
 close OUT;
 
 
 close OUT;
 
+# Create a file containing stubs that may be necessary because Cint always
+# wants to link against anything that was ever declared:
+
+open OUT,">$source";
+
+$opening=<<END_OF_OPENING;
+/*  dummies.cpp
+ *
+ *  Dummies and stubs to overcome certain deficiencies of Cint.
+ *  This file was generated automatically by dummies.pl.
+ *  Please do not modify it directly, edit the perl script instead!
+ */
+
+#include <ginac/function.h>
+
+#ifndef NO_NAMESPACE_GINAC
+using namespace GiNaC;
+#endif // ndef NO_NAMESPACE_GINAC
+
+END_OF_OPENING
+
+print OUT $opening;
+print OUT "void ginsh_get_ginac_functions(void) { }\n";
+
+close OUT;
 
 
+# Create dummies 
diff --git a/cint/dummy_ginsh.cpp b/cint/dummy_ginsh.cpp
deleted file mode 100644 (file)
index 0e384f2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <ginac/function.h>
-
-#ifndef NO_GINAC_NAMESPACE
-using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
-
-void ginsh_get_ginac_functions(void)
-{
-}
-
-ex IEvalf(void)
-{
-    return 0;
-}
diff --git a/cint/ginaccint.1 b/cint/ginaccint.1
new file mode 100644 (file)
index 0000000..c74405a
--- /dev/null
@@ -0,0 +1,129 @@
+.TH ginaccint 1 "January, 2000" "GiNaC"
+.SH NAME
+GiNaC-cint \- An interactive interface for GiNaC based on the Cint C/C++ interpreter
+.SH SYNPOSIS
+.B ginaccint
+.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.
+.SH USAGE
+.SS INPUT FORMAT
+After startup, ginsh 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; 
+returns a GiNaC object of class
+.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
+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 
+.RB ( } )
+matches the first opening brace
+.RB ( { ) 
+or a semicolon
+.RB ( ; )
+is encountered.
+
+
+.SS FUNCTION DEFINITIONS
+GiNaC-cint must be put into a special mode in order to define a
+function.  This is done with the command
+.RB .function .
+After that any function definition in valid C++ syntax may be typed
+in.  It becomes immediatly available for usage.
+
+.SH EXAMPLES
+.nf
+GiNaC> symbol x("x"), y("y"), z("z");
+GiNaC> ex a = pow(x,2)-x-2;
+GiNaC> ex b = pow(x+1,2);
+GiNaC> ex s = a/b;
+GiNaC> s.diff(x);
+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> .function
+next expression can be a function definition
+GiNaC> ex EulerNumber(unsigned n)
+     > {
+     >     symbol x;
+     >     ex generator = pow(cosh(x),-1);
+     >     return generator.diff(x,n).subs(x==0);
+     > }
+creating file /tmp/ginac26197caa
+GiNaC> EulerNumber(42);
+out3   -10364622733519612119397957304745185976310201
+GiNaC> quit;
+.fi
+
+.SH BUGS
+Cint accepts most of K&R and ANSI C/C++ language construct but not
+perfect.  In fact, Cint is not aimed to be a 100% ANSI/ISO compliant
+C/C++ language processor.  It rather is a portable script language
+environment which is close enough to the standard C++.  See the file 
+.BR limitati.txt
+in your Cint distribution.  Please take the time to track down any bug
+you encounter as far as possible and contact Masaharu Goto
+<MXJ02154@niftyserve.or.jp> for Cint-related bugs and
+<ginac-bugs@ginac.de> for any bugs in the GiNaC engine.
+
+.SH AUTHOR
+.TP
+The GiNaC Group:
+.br
+Christian Bauer <Christian.Bauer@uni-mainz.de>
+.br
+Alexander Frink <Alexander.Frink@uni-mainz.de>
+.br
+Richard Kreckel <Richard.Kreckel@uni-mainz.de>
+.SH SEE ALSO
+GiNaC Tutorial \- An open framework for symbolic computation within the
+C++ programming language
+.PP
+CLN \- A Class Library for Numbers, Bruno Haible
+.PP
+\fBginsh\fP(1)
+.SH COPYRIGHT
+.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.
+.SS GINAC COPYRIGHT
+Copyright \(co 1999-2000 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
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
index cca85636b2969757b5e0178e5c225635924027d1..724bffb38476141e7f4a563b4eae28d3b46d4f25 100644 (file)
@@ -122,12 +122,12 @@ void process_tempfile(string const & command)
     static unsigned out_count=0;
     if (TYPES_EQUAL(retval,ref_ex)) {
         if (ex::last_created_or_assigned_bp_can_be_converted_to_ex()) {
     static unsigned out_count=0;
     if (TYPES_EQUAL(retval,ref_ex)) {
         if (ex::last_created_or_assigned_bp_can_be_converted_to_ex()) {
-            string varname="Out"+ToString(++out_count);
+            string varname="out"+ToString(++out_count);
             exec_tempfile("ex "+varname+"(*ex::last_created_or_assigned_bp);\n"
                           +"LLLAST=LLAST;\n"
                           +"LLAST=LAST;\n"
                           +"LAST="+varname+";\n"
             exec_tempfile("ex "+varname+"(*ex::last_created_or_assigned_bp);\n"
                           +"LLLAST=LLAST;\n"
                           +"LLAST=LAST;\n"
                           +"LAST="+varname+";\n"
-                          +"cout << \""+varname+" = \" << "+varname+" << endl << endl;"); 
+                          +"cout << \""+varname+"   \" << "+varname+" << endl << endl;"); 
         } else {
             cout << "warning: last_created_or_assigned_bp modified 0 or not evaluated or not dynallocated" << endl;
         }
         } else {
             cout << "warning: last_created_or_assigned_bp modified 0 or not evaluated or not dynallocated" << endl;
         }
@@ -137,7 +137,13 @@ void process_tempfile(string const & command)
 
 void greeting(void)
 {
 
 void greeting(void)
 {
-    cout << "Welcome to GiNaCcint V0.2" << endl << endl;
+    cout << "Welcome to GiNaC-cint V" << VERSION << endl;
+    cout << "This software is provided \"as is\" without any warranty.  Copyright of Cint is" << endl
+         << "owned by Agilent Technologies Japan and Masaharu Goto.  Registration is" << endl
+         << "  __,  _______  requested, at this moment, for commercial use.  Send e-mail to" << endl
+         << " (__) *       | <MXJ02154@niftyserve.or.jp>.  The registration is free." << endl
+         << "  ._) i N a C | The GiNaC framework is Copyright by Johannes Gutenberg Univ." << endl
+         << "<-------------' Germany and licensed under the terms and conditions of the GPL." << endl << endl;
     cout << "To quit, type 'quit;', 'exit;', 'bye;', '.q', '.quit', '.exit' or '.bye'" << endl;
 }
 
     cout << "To quit, type 'quit;', 'exit;', 'bye;', '.q', '.quit', '.exit' or '.bye'" << endl;
 }
 
@@ -159,7 +165,7 @@ int main(void)
     bool quit=false;
     bool next_command_is_function=false;    
     while (!quit) {
     bool quit=false;
     bool next_command_is_function=false;    
     while (!quit) {
-        strcpy(prompt,"GiNaCcint> ");
+        strcpy(prompt,"GiNaC> ");
         int open_braces=0;
         bool end_of_command=false;
         string command;
         int open_braces=0;
         bool end_of_command=false;
         string command;
@@ -196,7 +202,7 @@ int main(void)
                     end_of_command=true;
                 }
             }
                     end_of_command=true;
                 }
             }
-            strcpy(prompt,"  (more) > ");
+            strcpy(prompt,"     > ");
         }
         string stripped_command=strip_whitespace(command);
         if ((stripped_command=="quit;")||
         }
         string stripped_command=strip_whitespace(command);
         if ((stripped_command=="quit;")||
index bd6c576be3c36b06ef2a4660b68c30e2323ee620..fe76b789660d18becfedd1853d8f0ef92600f921 100755 (executable)
--- a/configure
+++ b/configure
@@ -544,10 +544,10 @@ fi
 
 
 GINACLIB_MAJOR_VERSION=0
 
 
 GINACLIB_MAJOR_VERSION=0
-GINACLIB_MINOR_VERSION=4
-GINACLIB_MICRO_VERSION=1
+GINACLIB_MINOR_VERSION=5
+GINACLIB_MICRO_VERSION=0
 GINACLIB_INTERFACE_AGE=0
 GINACLIB_INTERFACE_AGE=0
-GINACLIB_BINARY_AGE=1
+GINACLIB_BINARY_AGE=0
 GINACLIB_VERSION=$GINACLIB_MAJOR_VERSION.$GINACLIB_MINOR_VERSION.$GINACLIB_MICRO_VERSION
 
 
 GINACLIB_VERSION=$GINACLIB_MAJOR_VERSION.$GINACLIB_MINOR_VERSION.$GINACLIB_MICRO_VERSION
 
 
@@ -2853,13 +2853,24 @@ fi
 
 
 
 
 
 
+LIBGINACCINT=
+GINACCINTDIR=
 if [ "x$with_cint" != "xno" ]; then
 if [ "x$with_cint" != "xno" ]; then
-  echo "with_cint is set to: $with_cint"
-  CINTSYSDIR=$with_cint
+  if [ "x$enable_static" != "xyes" ]; then
+    { echo "configure: error: currently GiNaC-cint needs to build a static libginac" 1>&2; exit 1; }
+  fi
+  if [ "x$with_cint" = "xyes" ]; then
+    if [ "x$CINTSYSDIR" = "x" ]; then
+      { echo "configure: error: please export \$CINTSYSDIR or specify --with-cint=CINTSYSDIR" 1>&2; exit 1; }
+    fi
+  else
+    CINTSYSDIR=$with_cint
+    export CINTSYSDIR
+  fi
   # Extract the first word of "cint", so it can be a program name with args.
 set dummy cint; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "cint", so it can be a program name with args.
 set dummy cint; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2863: checking for $ac_word" >&5
+echo "configure:2874: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_CINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2895,7 +2906,7 @@ fi
   # Extract the first word of "makecint", so it can be a program name with args.
 set dummy makecint; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "makecint", so it can be a program name with args.
 set dummy makecint; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2899: checking for $ac_word" >&5
+echo "configure:2910: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MAKECINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_MAKECINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2928,13 +2939,24 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
   echo "$ac_t""no" 1>&6
 fi
 
-  if [ "$cint" -a "$makecint" ]; then
-    echo "$ac_t""Configuring GiNaC-cint" 1>&6
+  if [ "$CINT" -a "$MAKECINT" ]; then
+    echo "$ac_t""creating cint/Makefile" 1>&6
+    (cd cint && \
+    $MAKECINT -mk Makefile.makecint -o ginaccint -m \
+      -D OBSCURE_CINT_HACK -D NO_NAMESPACE_GINAC \
+      -I .. -I $CINTSYSDIR -m -H ../ginac/ginac.h dummies.h \
+      -C++ dummies.cpp -C++ ginaccint.cpp \
+      -l ./libginac.a -lcln -cint -M0x10; \
+    cd ..)
+    LIBGINACCINT="libginac.a"
+    GINACCINTDIR="cint"
   else
     { echo "configure: error: Cannot configure GiNaC-cint" 1>&2; exit 1; }
   fi
 fi
 
   else
     { echo "configure: error: Cannot configure GiNaC-cint" 1>&2; exit 1; }
   fi
 fi
 
+
+
 trap '' 1 2 15
 cat > confcache <<\EOF
 # This file is a shell script that caches the results of configure
 trap '' 1 2 15
 cat > confcache <<\EOF
 # This file is a shell script that caches the results of configure
@@ -3047,6 +3069,7 @@ tools/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
+cint/Makefile
  config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
  config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
@@ -3140,6 +3163,8 @@ s%@TUTORIAL_TARGETS@%$TUTORIAL_TARGETS%g
 s%@REFERENCE_TARGETS@%$REFERENCE_TARGETS%g
 s%@CINT@%$CINT%g
 s%@MAKECINT@%$MAKECINT%g
 s%@REFERENCE_TARGETS@%$REFERENCE_TARGETS%g
 s%@CINT@%$CINT%g
 s%@MAKECINT@%$MAKECINT%g
+s%@LIBGINACCINT@%$LIBGINACCINT%g
+s%@GINACCINTDIR@%$GINACCINTDIR%g
 
 CEOF
 EOF
 
 CEOF
 EOF
@@ -3191,6 +3216,7 @@ tools/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
+cint/Makefile
 "}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 "}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
index 94f525de80b45859ca5c496e2abf2622d7d703be..9249f9da7809a17d830ddb69e572cb3311452491 100644 (file)
@@ -18,10 +18,10 @@ dnl autoconf sees "AC_MAJOR_VERSION" and complains about an undefined macro
 dnl (don't we all *love* M4?)...
 
 GINACLIB_MAJOR_VERSION=0
 dnl (don't we all *love* M4?)...
 
 GINACLIB_MAJOR_VERSION=0
-GINACLIB_MINOR_VERSION=4
-GINACLIB_MICRO_VERSION=1
+GINACLIB_MINOR_VERSION=5
+GINACLIB_MICRO_VERSION=0
 GINACLIB_INTERFACE_AGE=0
 GINACLIB_INTERFACE_AGE=0
-GINACLIB_BINARY_AGE=1
+GINACLIB_BINARY_AGE=0
 GINACLIB_VERSION=$GINACLIB_MAJOR_VERSION.$GINACLIB_MINOR_VERSION.$GINACLIB_MICRO_VERSION
 
 AC_SUBST(GINACLIB_MAJOR_VERSION)
 GINACLIB_VERSION=$GINACLIB_MAJOR_VERSION.$GINACLIB_MINOR_VERSION.$GINACLIB_MICRO_VERSION
 
 AC_SUBST(GINACLIB_MAJOR_VERSION)
@@ -143,18 +143,40 @@ fi
 AC_SUBST(TUTORIAL_TARGETS)
 AC_SUBST(REFERENCE_TARGETS)
 
 AC_SUBST(TUTORIAL_TARGETS)
 AC_SUBST(REFERENCE_TARGETS)
 
-dnl Configure GiNaC-cint, if requested
+dnl Configure GiNaC-cint
+LIBGINACCINT=
+GINACCINTDIR=
 if [[ "x$with_cint" != "xno" ]]; then
 if [[ "x$with_cint" != "xno" ]]; then
-  echo "with_cint is set to: $with_cint"
-  CINTSYSDIR=$with_cint
+  if [[ "x$enable_static" != "xyes" ]]; then
+    AC_MSG_ERROR([currently GiNaC-cint needs to build a static libginac])
+  fi
+  if [[ "x$with_cint" = "xyes" ]]; then
+    if [[ "x$CINTSYSDIR" = "x" ]]; then
+      AC_MSG_ERROR([please export \$CINTSYSDIR or specify --with-cint=CINTSYSDIR])
+    fi
+  else
+    CINTSYSDIR=$with_cint
+    export CINTSYSDIR
+  fi
   AC_PATH_PROG(CINT, cint, "", $CINTSYSDIR:$PATH)
   AC_PATH_PROG(MAKECINT, makecint, "", $CINTSYSDIR:$PATH)
   AC_PATH_PROG(CINT, cint, "", $CINTSYSDIR:$PATH)
   AC_PATH_PROG(MAKECINT, makecint, "", $CINTSYSDIR:$PATH)
-  if [[ "$cint" -a "$makecint" ]]; then
-    AC_MSG_RESULT([Configuring GiNaC-cint])
+  if [[ "$CINT" -a "$MAKECINT" ]]; then
+    AC_MSG_RESULT([creating cint/Makefile])
+    (cd cint && \
+    $MAKECINT -mk Makefile.makecint -o ginaccint -m \
+      -D OBSCURE_CINT_HACK -D NO_NAMESPACE_GINAC \
+      -I .. -I $CINTSYSDIR -m -H ../ginac/ginac.h dummies.h \
+      -C++ dummies.cpp -C++ ginaccint.cpp \
+      -l ./libginac.a -lcln -cint -M0x10; \
+    cd ..)
+    LIBGINACCINT="libginac.a"
+    GINACCINTDIR="cint"
   else
     AC_MSG_ERROR([Cannot configure GiNaC-cint])
   fi
 fi
   else
     AC_MSG_ERROR([Cannot configure GiNaC-cint])
   fi
 fi
+AC_SUBST(LIBGINACCINT)
+AC_SUBST(GINACCINTDIR)
 
 dnl Output makefiles etc.
 AC_OUTPUT([
 
 dnl Output makefiles etc.
 AC_OUTPUT([
@@ -168,5 +190,6 @@ tools/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
 doc/Makefile
 doc/tutorial/Makefile
 doc/reference/Makefile
+cint/Makefile
 ], [chmod +x ginac-config])
 echo "Configuration done. Now type \"make\"."
 ], [chmod +x ginac-config])
 echo "Configuration done. Now type \"make\"."
index ae3b86c369ba558c3a162ff20511e42ccdd85ca3..40520fae4a505804bdd0043963d01cc1323f87ff 100644 (file)
@@ -70,6 +70,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -82,6 +83,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -271,7 +273,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 06b494eef161bb697c278e833bef73d31450553a..6be6ac9a9cf7fe8fd50667e1c5785149938957ff 100644 (file)
@@ -389,7 +389,7 @@ INCLUDE_PATH         =
 # or name=definition (no spaces). If the definition and the = are 
 # omitted =1 is assumed.
 
 # or name=definition (no spaces). If the definition and the = are 
 # omitted =1 is assumed.
 
-PREDEFINED           = NO_GINAC_NAMESPACE
+PREDEFINED           = NO_NAMESPACE_GINAC
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
 # then the macro expansion is limited to the macros specified with the
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
 # then the macro expansion is limited to the macros specified with the
index dedcc9507dc7c4afda84c404c17fe57a8ef30aa8..5f56da04f5fce10c0117cf474a404eb4bd237494 100644 (file)
@@ -73,6 +73,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -85,6 +86,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -167,7 +169,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 19ce30c172df8c466dd3a35840117e224f7c1c33..ded8826c019efb056ae3023e6f1e667161a3a2d5 100644 (file)
@@ -72,6 +72,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -84,6 +85,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -324,7 +326,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 10c9ec163cae162d3d493bcb64b6bffd3674b163..f07101f1b685c5fbd547f5b51fdeff6481494bf1 100644 (file)
@@ -1,3 +1,3 @@
-@set UPDATED 21 January 2000
-@set EDITION 0.4.1
-@set VERSION 0.4.1
+@set UPDATED 29 January 2000
+@set EDITION 0.5.0
+@set VERSION 0.5.0
index 458d04903758f0a63148211280407067fe8f75fb..aff25272ba9527fcd9e964b9e2f37304232ec3b2 100644 (file)
@@ -70,6 +70,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -82,6 +83,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -292,7 +294,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 069e3e02865dfe362d8fd05b7b491e442a372717..86703ddc2b696fda366eed01d7ddcba3fe18216a 100644 (file)
@@ -29,9 +29,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(add, expairseq)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(add, expairseq)
 
@@ -555,6 +555,6 @@ unsigned add::precedence=40;
 const add some_add;
 const type_info & typeid_add=typeid(some_add);
 
 const add some_add;
 const type_info & typeid_add=typeid(some_add);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index d267f25cc2a7e5f8f644350bb0120047b06c9a05..176663fb638d67f9f5010679888d786e74ecc18c 100644 (file)
@@ -25,9 +25,9 @@
 
 #include "expairseq.h"
 
 
 #include "expairseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Sum of expressions. */
 class add : public expairseq
 
 /** Sum of expressions. */
 class add : public expairseq
@@ -116,8 +116,8 @@ inline const add &ex_to_add(const ex &e)
        return static_cast<const add &>(*e.bp);
 }
 
        return static_cast<const add &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_ADD_H__
 
 #endif // ndef __GINAC_ADD_H__
index 0fdb30ad4ae97296a96513d8b04ce4e814324f20..2b9ecdb72174803ce518aeada53b2b3a8154bf6f 100644 (file)
@@ -3,7 +3,7 @@
  *  Archiving of GiNaC expressions. */
 
 /*
  *  Archiving of GiNaC expressions. */
 
 /*
- *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University 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
@@ -29,9 +29,9 @@
 #include "config.h"
 #include "utils.h"
 
 #include "config.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 
 /** Archive an expression.
 
 
 /** Archive an expression.
@@ -206,6 +206,7 @@ ostream &operator<<(ostream &os, const archive_node &n)
                write_unsigned(os, n.props[i].name);
                write_unsigned(os, n.props[i].value);
        }
                write_unsigned(os, n.props[i].name);
                write_unsigned(os, n.props[i].value);
        }
+    return os;
 }
 
 /** Write archive to binary data stream. */
 }
 
 /** Write archive to binary data stream. */
@@ -237,6 +238,7 @@ ostream &operator<<(ostream &os, const archive &ar)
        write_unsigned(os, num_nodes);
        for (unsigned int i=0; i<num_nodes; i++)
                os << ar.nodes[i];
        write_unsigned(os, num_nodes);
        for (unsigned int i=0; i<num_nodes; i++)
                os << ar.nodes[i];
+    return os;
 }
 
 /** Read archive_node from binary data stream. */
 }
 
 /** Read archive_node from binary data stream. */
@@ -250,6 +252,7 @@ istream &operator>>(istream &is, archive_node &n)
                n.props[i].name = read_unsigned(is);
                n.props[i].value = read_unsigned(is);
        }
                n.props[i].name = read_unsigned(is);
                n.props[i].value = read_unsigned(is);
        }
+    return is;
 }
 
 /** Read archive from binary data stream. */
 }
 
 /** Read archive from binary data stream. */
@@ -284,6 +287,7 @@ istream &operator>>(istream &is, archive &ar)
        ar.nodes.resize(num_nodes, ar);
        for (unsigned int i=0; i<num_nodes; i++)
                is >> ar.nodes[i];
        ar.nodes.resize(num_nodes, ar);
        for (unsigned int i=0; i<num_nodes; i++)
                is >> ar.nodes[i];
+    return is;
 }
 
 
 }
 
 
@@ -576,7 +580,15 @@ void archive_node::printraw(ostream &os) const
        }
 }
 
        }
 }
 
+/** Create a dummy archive.  The intention is to fill archive_node's default ctor,
+ *  which is currently a Cint-requirement. */
+archive* archive_node::dummy_ar_creator(void)
+{
+    static archive* some_ar = new archive;
+    return some_ar;
+}
+
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index e24ef7ac22b0b3266a5b4d708a44935c92fc47f5..50317b8f7be5fac4a8911a666a5851ec0b28eadb 100644 (file)
@@ -3,7 +3,7 @@
  *  Archiving of GiNaC expressions. */
 
 /*
  *  Archiving of GiNaC expressions. */
 
 /*
- *  GiNaC Copyright (C) 1999 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University 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
@@ -31,9 +31,9 @@
 class ostream;
 class istream;
 
 class ostream;
 class istream;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class lst;
 class archive;
 
 class lst;
 class archive;
@@ -55,6 +55,7 @@ class archive_node
        friend istream &operator>>(istream &is, archive_node &ar);
 
 public:
        friend istream &operator>>(istream &is, archive_node &ar);
 
 public:
+       archive_node() : a(*dummy_ar_creator()), has_expression(false) {}
        archive_node(archive &ar) : a(ar), has_expression(false) {}
        archive_node(archive &ar, const ex &expr);
        ~archive_node() {}
        archive_node(archive &ar) : a(ar), has_expression(false) {}
        archive_node(archive &ar, const ex &expr);
        ~archive_node() {}
@@ -80,6 +81,8 @@ public:
        void printraw(ostream &os) const;
 
 private:
        void printraw(ostream &os) const;
 
 private:
+       static archive* dummy_ar_creator(void);
+
        /** Property data types */
        enum property_type {
                PTYPE_BOOL,
        /** Property data types */
        enum property_type {
                PTYPE_BOOL,
@@ -182,8 +185,8 @@ ostream &operator<<(ostream &os, const archive &ar);
 istream &operator>>(istream &is, archive &ar);
 
 
 istream &operator>>(istream &is, archive &ar);
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_ARCHIVE_H__
 
 #endif // ndef __GINAC_ARCHIVE_H__
index 89186ad9815cf479dc20defbdd9b56909354a27b..e2a9320e9b098629017fff48aebfc35892292170 100644 (file)
@@ -35,9 +35,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(basic, void)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(basic, void)
 
@@ -491,6 +491,6 @@ const type_info & typeid_basic=typeid(some_basic);
 
 int max_recursion_level=1024;
 
 
 int max_recursion_level=1024;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 7305b35af0e1dddc9a4f4514d5112c276539f19b..ebe10e68452182f8ee9dc15e85153a8868f7b706 100644 (file)
@@ -35,9 +35,9 @@
 #include "assertion.h"
 #include "registrar.h"
 
 #include "assertion.h"
 #include "registrar.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class basic;
 class ex;
 
 class basic;
 class ex;
@@ -190,7 +190,7 @@ extern int max_recursion_level;
 
 // convenience macros
 
 
 // convenience macros
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 
 #define is_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<GiNaC::basic *>(&OBJ))!=0)
 
 #define is_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<GiNaC::basic *>(&OBJ))!=0)
@@ -204,7 +204,7 @@ extern int max_recursion_level;
 #define is_ex_exactly_of_type(OBJ,TYPE) \
     ((*(OBJ).bp).tinfo()==GiNaC::TINFO_##TYPE)
 
 #define is_ex_exactly_of_type(OBJ,TYPE) \
     ((*(OBJ).bp).tinfo()==GiNaC::TINFO_##TYPE)
 
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 
 #define is_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<basic *>(&OBJ))!=0)
 
 #define is_of_type(OBJ,TYPE) \
     (dynamic_cast<TYPE *>(const_cast<basic *>(&OBJ))!=0)
@@ -218,10 +218,10 @@ extern int max_recursion_level;
 #define is_ex_exactly_of_type(OBJ,TYPE) \
     ((*(OBJ).bp).tinfo()==TINFO_##TYPE)
 
 #define is_ex_exactly_of_type(OBJ,TYPE) \
     ((*(OBJ).bp).tinfo()==TINFO_##TYPE)
 
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_BASIC_H__
 
 #endif // ndef __GINAC_BASIC_H__
index 8d41e92cb96603c84a3f77d31301a5a881a0686e..65d3584c9ee719012940843d9f2d7580e102ea59 100644 (file)
@@ -29,9 +29,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -213,6 +213,6 @@ unsigned clifford::next_serial=0;
 const clifford some_clifford;
 const type_info & typeid_clifford=typeid(some_clifford);
 
 const clifford some_clifford;
 const type_info & typeid_clifford=typeid(some_clifford);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 5abd6aeecd184a2a72a2f29bdd66b38ccd8f2d9b..44757c3e5e980e569ae1f93a0542aa8507881f2b 100644 (file)
@@ -27,9 +27,9 @@
 #include "indexed.h"
 #include "ex.h"
 
 #include "indexed.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Base class for clifford object */
 class clifford : public indexed
 
 /** Base class for clifford object */
 class clifford : public indexed
@@ -92,8 +92,8 @@ inline const clifford &ex_to_clifford(const ex &e)
        return static_cast<const clifford &>(*e.bp);
 }
 
        return static_cast<const clifford &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_CLIFFORD_H__
 
 #endif // ndef __GINAC_CLIFFORD_H__
index 8a793844ed289d7871aa1e1db453aa4a80f81762..c35e03e5d632f3bcd896f01f0419c0891edff607 100644 (file)
@@ -37,9 +37,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(color, indexed)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(color, indexed)
 
@@ -1001,7 +1001,7 @@ void append_exvector_to_exvector(exvector & dest, const exvector & source)
     }
 }
 
     }
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 
index 160aea130101bc6e1ed938e307bc39b491b62c54..6e852575ddcef3de200932ba2a229fa2985c6d93 100644 (file)
@@ -28,9 +28,9 @@
 #include "indexed.h"
 #include "ex.h"
 
 #include "indexed.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 const unsigned MAX_REPRESENTATION_LABELS = 4;
 const unsigned COLOR_EIGHT = 8; // N*N-1
 
 const unsigned MAX_REPRESENTATION_LABELS = 4;
 const unsigned COLOR_EIGHT = 8; // N*N-1
@@ -168,8 +168,8 @@ ex brute_force_sum_color_indices(const ex & e);
 
 void append_exvector_to_exvector(exvector & dest, const exvector & source);
 
 
 void append_exvector_to_exvector(exvector & dest, const exvector & source);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_COLOR_H__
 
 #endif // ndef __GINAC_COLOR_H__
index e7c35c551afc8508a318b64f6ce6b0f25bdab567..3e871fbe9fbf83dc140d008ceb818616aa4b2ab5 100644 (file)
@@ -27,9 +27,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(coloridx, idx)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(coloridx, idx)
 
@@ -240,6 +240,6 @@ bool coloridx::info(unsigned inf) const
 const coloridx some_coloridx;
 const type_info & typeid_coloridx=typeid(some_coloridx);
 
 const coloridx some_coloridx;
 const type_info & typeid_coloridx=typeid(some_coloridx);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 5be2970f6065c3df8b86d16caaeaa16bc687943f..a8f368bbe5b83911b3f7c8b71cce32630d22fc6c 100644 (file)
@@ -28,9 +28,9 @@
 #include "idx.h"
 #include "ex.h"
 
 #include "idx.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class coloridx : public idx
 {
 
 class coloridx : public idx
 {
@@ -86,8 +86,8 @@ inline const coloridx &ex_to_coloridx(const ex &e)
        return static_cast<const coloridx &>(*e.bp);
 }
 
        return static_cast<const coloridx &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_COLORIDX_H__
 
 #endif // ndef __GINAC_COLORIDX_H__
index c115d902ef951365ffc2602c455655f072f2ede4..cbf9030883cabc8b4a427ad56f46ea8ab8932006 100644 (file)
@@ -29,9 +29,9 @@
 #include "archive.h"
 #include "debugmsg.h"
 
 #include "archive.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(constant, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(constant, basic)
 
@@ -241,6 +241,6 @@ const constant EulerGamma("EulerGamma", EulerGammaEvalf);
  *  Diverts straight into CLN for evalf(). */
 const constant Catalan("Catalan", CatalanEvalf);
 
  *  Diverts straight into CLN for evalf(). */
 const constant Catalan("Catalan", CatalanEvalf);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index e70a211486c7e0f26b3cdb27a63e7355d517884d..c29ecf01a22d06905bb9a390c23cfb017af64c7f 100644 (file)
@@ -26,9 +26,9 @@
 #include <string>
 #include "basic.h"
 
 #include <string>
 #include "basic.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 typedef ex (*evalffunctype)(void);
     
 
 typedef ex (*evalffunctype)(void);
     
@@ -97,8 +97,8 @@ extern const constant Pi;
 extern const constant Catalan;
 extern const constant EulerGamma;
 
 extern const constant Catalan;
 extern const constant EulerGamma;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_CONSTANT_H__
 
 #endif // ndef __GINAC_CONSTANT_H__
index 077018c2ca586c1281a4afd58aaea78faea6e6ae..a66df7b9e93b864ab5bbd09e999b235bc507f719 100755 (executable)
@@ -130,9 +130,9 @@ $interface=<<END_OF_INTERFACE;
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // typedef ${STLHEADER}<ex> ${STLT};
 typedef ${STLHEADER}<ex,malloc_alloc> ${STLT}; // CINT does not like ${STLHEADER}<...,default_alloc>
 
 // typedef ${STLHEADER}<ex> ${STLT};
 typedef ${STLHEADER}<ex,malloc_alloc> ${STLT}; // CINT does not like ${STLHEADER}<...,default_alloc>
@@ -231,9 +231,9 @@ inline const ${CONTAINER} &ex_to_${CONTAINER}(const ex &e)
     return static_cast<const ${CONTAINER} &>(*e.bp);
 }
 
     return static_cast<const ${CONTAINER} &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_${CONTAINER_UC}_H__
 
 
 #endif // ndef __GINAC_${CONTAINER_UC}_H__
 
@@ -280,9 +280,9 @@ $implementation=<<END_OF_IMPLEMENTATION;
 #include "archive.h"
 #include "debugmsg.h"
 
 #include "archive.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(${CONTAINER}, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(${CONTAINER}, basic)
 
@@ -896,9 +896,9 @@ unsigned ${CONTAINER}::precedence=10;
 const ${CONTAINER} some_${CONTAINER};
 const type_info & typeid_${CONTAINER}=typeid(some_${CONTAINER});
 
 const ${CONTAINER} some_${CONTAINER};
 const type_info & typeid_${CONTAINER}=typeid(some_${CONTAINER});
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 END_OF_IMPLEMENTATION
 
 
 END_OF_IMPLEMENTATION
 
index 2084918661388c05da3ecaaae8f45ed0fa1b5fab..4b6e9c833105ff0461ed0f8c52fe1d600a4d6c5c 100644 (file)
@@ -38,9 +38,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Default implementation of ex::diff(). It prints and error message and returns a fail object.
  *  @see ex::diff */
 
 /** Default implementation of ex::diff(). It prints and error message and returns a fail object.
  *  @see ex::diff */
@@ -248,6 +248,6 @@ ex ex::diff(const symbol & s, unsigned nth) const
     return ndiff;
 }
 
     return ndiff;
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 88395f988f832a3707e01fedacea2b1d511f3be4..789911258b43cfd57f7098675ad05cebda23f91a 100644 (file)
@@ -31,9 +31,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -95,58 +95,45 @@ const ex & ex::operator=(const ex & other)
 // public
 
 #ifndef INLINE_EX_CONSTRUCTORS
 // public
 
 #ifndef INLINE_EX_CONSTRUCTORS
+
 ex::ex(const basic & other)
 {
     debugmsg("ex constructor from basic",LOGLEVEL_CONSTRUCT);
     construct_from_basic(other);
 }
 ex::ex(const basic & other)
 {
     debugmsg("ex constructor from basic",LOGLEVEL_CONSTRUCT);
     construct_from_basic(other);
 }
-#endif
 
 ex::ex(int i)
 {
     debugmsg("ex constructor from int",LOGLEVEL_CONSTRUCT);
 
 ex::ex(int i)
 {
     debugmsg("ex constructor from int",LOGLEVEL_CONSTRUCT);
-    switch (i) {  // some tiny efficiency-hack (FIXME: is this ok?)
-        case -1:
-            bp = _ex_1().bp;
-            ++bp->refcount;
-            break;
-        case 0:
-            bp = _ex0().bp;
-            ++bp->refcount;
-            break;
-        case 1:
-            bp = _ex1().bp;
-            ++bp->refcount;
-            break;
-        default:
-            construct_from_basic(numeric(i));
-    }
+    construct_from_int(i);
 }
 
 ex::ex(unsigned int i)
 {
     debugmsg("ex constructor from unsigned int",LOGLEVEL_CONSTRUCT);
 }
 
 ex::ex(unsigned int i)
 {
     debugmsg("ex constructor from unsigned int",LOGLEVEL_CONSTRUCT);
-    construct_from_basic(numeric(i));
+    construct_from_uint(i);
 }
 
 ex::ex(long i)
 {
     debugmsg("ex constructor from long",LOGLEVEL_CONSTRUCT);
 }
 
 ex::ex(long i)
 {
     debugmsg("ex constructor from long",LOGLEVEL_CONSTRUCT);
-    construct_from_basic(numeric(i));
+    construct_from_long(i);
 }
 
 ex::ex(unsigned long i)
 {
     debugmsg("ex constructor from unsigned long",LOGLEVEL_CONSTRUCT);
 }
 
 ex::ex(unsigned long i)
 {
     debugmsg("ex constructor from unsigned long",LOGLEVEL_CONSTRUCT);
-    construct_from_basic(numeric(i));
+    construct_from_ulong(i);
 }
 
 ex::ex(double const d)
 {
     debugmsg("ex constructor from double",LOGLEVEL_CONSTRUCT);
 }
 
 ex::ex(double const d)
 {
     debugmsg("ex constructor from double",LOGLEVEL_CONSTRUCT);
-    construct_from_basic(numeric(d));
+    construct_from_double(d);
 }
 }
-    
+
+#endif // ndef INLINE_EX_CONSTRUCTORS
+
 //////////
 // functions overriding virtual functions from bases classes
 //////////
 //////////
 // functions overriding virtual functions from bases classes
 //////////
@@ -507,14 +494,14 @@ void ex::makewriteable()
     GINAC_ASSERT(bp!=0);
     GINAC_ASSERT(bp->flags & status_flags::dynallocated);
     if (bp->refcount > 1) {
     GINAC_ASSERT(bp!=0);
     GINAC_ASSERT(bp->flags & status_flags::dynallocated);
     if (bp->refcount > 1) {
-        basic * bp2=bp->duplicate();
+        basic * bp2 = bp->duplicate();
         ++bp2->refcount;
         bp2->setflag(status_flags::dynallocated);
         --bp->refcount;
         ++bp2->refcount;
         bp2->setflag(status_flags::dynallocated);
         --bp->refcount;
-        bp=bp2;
+        bp = bp2;
     }
     GINAC_ASSERT(bp->refcount == 1);
     }
     GINAC_ASSERT(bp->refcount == 1);
-}    
+}
 
 void ex::construct_from_basic(const basic & other)
 {
 
 void ex::construct_from_basic(const basic & other)
 {
@@ -530,9 +517,9 @@ void ex::construct_from_basic(const basic & other)
         }
     } else {
         if (other.flags & status_flags::dynallocated) {
         }
     } else {
         if (other.flags & status_flags::dynallocated) {
-            bp=&const_cast<basic &>(other);
+            bp = &const_cast<basic &>(other);
         } else {
         } else {
-            bp=other.duplicate();
+            bp = other.duplicate();
             bp->setflag(status_flags::dynallocated);
         }
         GINAC_ASSERT(bp!=0);
             bp->setflag(status_flags::dynallocated);
         }
         GINAC_ASSERT(bp!=0);
@@ -543,6 +530,143 @@ void ex::construct_from_basic(const basic & other)
     GINAC_ASSERT(bp->flags & status_flags::dynallocated);
 }
 
     GINAC_ASSERT(bp->flags & status_flags::dynallocated);
 }
 
+void ex::construct_from_int(int i)
+{
+    switch (i) {  // some tiny efficiency-hack
+    case -2:
+        bp = _ex_2().bp;
+        ++bp->refcount;
+        break;
+    case -1:
+        bp = _ex_1().bp;
+        ++bp->refcount;
+        break;
+    case 0:
+        bp = _ex0().bp;
+        ++bp->refcount;
+        break;
+    case 1:
+        bp = _ex1().bp;
+        ++bp->refcount;
+        break;
+    case 2:
+        bp = _ex2().bp;
+        ++bp->refcount;
+        break;
+    default:
+        bp = new numeric(i);
+        bp->setflag(status_flags::dynallocated);
+        ++bp->refcount;
+        GINAC_ASSERT((bp->flags) & status_flags::dynallocated);
+        GINAC_ASSERT(bp->refcount=1);
+    }
+}
+    
+void ex::construct_from_uint(unsigned int i)
+{
+    switch (i) {  // some tiny efficiency-hack
+    case -2:
+        bp = _ex_2().bp;
+        ++bp->refcount;
+        break;
+    case -1:
+        bp = _ex_1().bp;
+        ++bp->refcount;
+        break;
+    case 0:
+        bp = _ex0().bp;
+        ++bp->refcount;
+        break;
+    case 1:
+        bp = _ex1().bp;
+        ++bp->refcount;
+        break;
+    case 2:
+        bp = _ex2().bp;
+        ++bp->refcount;
+        break;
+    default:
+        bp = new numeric(i);
+        bp->setflag(status_flags::dynallocated);
+        ++bp->refcount;
+        GINAC_ASSERT((bp->flags) & status_flags::dynallocated);
+        GINAC_ASSERT(bp->refcount=1);
+    }
+}
+    
+void ex::construct_from_long(long i)
+{
+    switch (i) {  // some tiny efficiency-hack
+    case -2:
+        bp = _ex_2().bp;
+        ++bp->refcount;
+        break;
+    case -1:
+        bp = _ex_1().bp;
+        ++bp->refcount;
+        break;
+    case 0:
+        bp = _ex0().bp;
+        ++bp->refcount;
+        break;
+    case 1:
+        bp = _ex1().bp;
+        ++bp->refcount;
+        break;
+    case 2:
+        bp = _ex2().bp;
+        ++bp->refcount;
+        break;
+    default:
+        bp = new numeric(i);
+        bp->setflag(status_flags::dynallocated);
+        ++bp->refcount;
+        GINAC_ASSERT((bp->flags) & status_flags::dynallocated);
+        GINAC_ASSERT(bp->refcount=1);
+    }
+}
+    
+void ex::construct_from_ulong(unsigned long i)
+{
+    switch (i) {  // some tiny efficiency-hack
+    case -2:
+        bp = _ex_2().bp;
+        ++bp->refcount;
+        break;
+    case -1:
+        bp = _ex_1().bp;
+        ++bp->refcount;
+        break;
+    case 0:
+        bp = _ex0().bp;
+        ++bp->refcount;
+        break;
+    case 1:
+        bp = _ex1().bp;
+        ++bp->refcount;
+        break;
+    case 2:
+        bp = _ex2().bp;
+        ++bp->refcount;
+        break;
+    default:
+        bp = new numeric(i);
+        bp->setflag(status_flags::dynallocated);
+        ++bp->refcount;
+        GINAC_ASSERT((bp->flags) & status_flags::dynallocated);
+        GINAC_ASSERT(bp->refcount=1);
+    }
+}
+    
+void ex::construct_from_double(double d)
+{
+    bp = new numeric(d);
+    bp->setflag(status_flags::dynallocated);
+    ++bp->refcount;
+    GINAC_ASSERT((bp->flags) & status_flags::dynallocated);
+    GINAC_ASSERT(bp->refcount=1);
+}
+    
 //////////
 // static member variables
 //////////
 //////////
 // static member variables
 //////////
@@ -562,6 +686,6 @@ void ex::construct_from_basic(const basic & other)
 // none
 
 
 // none
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index b098d582d31750ff3510801a861014dd80bd05ff..b63c3726ca98f2f36d0d41a02f410bb3563a8530 100644 (file)
@@ -27,9 +27,9 @@
 #include "basic.h"
 #include "operators.h"
 
 #include "basic.h"
 #include "operators.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class ex;
 class expand_options;
 
 class ex;
 class expand_options;
@@ -38,7 +38,9 @@ class status_flags;
 class symbol;
 class lst;
 
 class symbol;
 class lst;
 
-extern const ex & _ex0(void);  /* FIXME: should this pollute headers? */
+// Sorry, this is the only constant to pollute the global scope, the other ones
+// are defined in utils.h and not visible from outside.
+extern const ex & _ex0(void);     //  single ex(numeric(0))
 
 // typedef vector<ex> exvector;
 
 
 // typedef vector<ex> exvector;
 
@@ -135,12 +137,67 @@ public:
 ;
 #endif // def INLINE_EX_CONSTRUCTORS
     
 ;
 #endif // def INLINE_EX_CONSTRUCTORS
     
-    ex(int i);
-    ex(unsigned int i);
-    ex(long i);
-    ex(unsigned long i);
-    ex(double const d);
+    ex(int i)
+#ifdef INLINE_EX_CONSTRUCTORS
+        {
+            construct_from_int(i);
+#ifdef OBSCURE_CINT_HACK
+            update_last_created_or_assigned_bp();
+#endif // def OBSCURE_CINT_HACK
+        }
+#else
+;
+#endif // def INLINE_EX_CONSTRUCTORS
+
+    ex(unsigned int i)
+#ifdef INLINE_EX_CONSTRUCTORS
+        {
+            construct_from_uint(i);
+#ifdef OBSCURE_CINT_HACK
+            update_last_created_or_assigned_bp();
+#endif // def OBSCURE_CINT_HACK
+        }
+#else
+;
+#endif // def INLINE_EX_CONSTRUCTORS
+    
+    ex(long i)
+#ifdef INLINE_EX_CONSTRUCTORS
+        {
+            construct_from_long(i);
+#ifdef OBSCURE_CINT_HACK
+            update_last_created_or_assigned_bp();
+#endif // def OBSCURE_CINT_HACK
+        }
+#else
+;
+#endif // def INLINE_EX_CONSTRUCTORS
 
 
+    ex(unsigned long i)
+#ifdef INLINE_EX_CONSTRUCTORS
+        {
+            construct_from_ulong(i);
+#ifdef OBSCURE_CINT_HACK
+            update_last_created_or_assigned_bp();
+#endif // def OBSCURE_CINT_HACK
+        }
+#else
+;
+#endif // def INLINE_EX_CONSTRUCTORS
+    
+    ex(double const d)
+#ifdef INLINE_EX_CONSTRUCTORS
+        {
+            construct_from_double(d);
+#ifdef OBSCURE_CINT_HACK
+            update_last_created_or_assigned_bp();
+#endif // def OBSCURE_CINT_HACK
+        }
+#else
+;
+#endif // def INLINE_EX_CONSTRUCTORS
+
+    
     // functions overriding virtual functions from bases classes
     // none
     
     // functions overriding virtual functions from bases classes
     // none
     
@@ -227,6 +284,11 @@ public:
     ex exncmul(const ex & rh) const;
 private:
     void construct_from_basic(const basic & other);
     ex exncmul(const ex & rh) const;
 private:
     void construct_from_basic(const basic & other);
+    void construct_from_int(int i);
+    void construct_from_uint(unsigned int i);
+    void construct_from_long(long i);
+    void construct_from_ulong(unsigned long i);
+    void construct_from_double(double d);
     void makewriteable();
 
 #ifdef OBSCURE_CINT_HACK
     void makewriteable();
 
 #ifdef OBSCURE_CINT_HACK
@@ -320,9 +382,9 @@ inline ex subs(const ex & thisex, const lst & ls, const lst & lr)
 inline void swap(ex & e1, ex & e2)
 { e1.swap(e2); }
 
 inline void swap(ex & e1, ex & e2)
 { e1.swap(e2); }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_EX_H__
 
 
 #endif // ndef __GINAC_EX_H__
 
index dd0459b924f0294241ebb97c0e1f9a7d08df0dd4..68f062be3dd756d9ce9a3a7bd245db1d6381a67e 100644 (file)
@@ -26,9 +26,9 @@
 #include "ex.h"
 #include "numeric.h"
 
 #include "ex.h"
 #include "numeric.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** A pair of expressions.
  *  This similar to, but slightly extended STL's pair<> but we need to account
 
 /** A pair of expressions.
  *  This similar to, but slightly extended STL's pair<> but we need to account
@@ -199,8 +199,8 @@ public:
     }
 };
 
     }
 };
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_EXPAIR_H__
 
 #endif // ndef __GINAC_EXPAIR_H__
index 550b2a88a947bd2f4e50b76ee61e590bbc37efa9..be065ce64a5d5b16d5cc9e033dbab796eef9a3f6 100644 (file)
@@ -31,9 +31,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #ifdef EXPAIRSEQ_USE_HASHTAB
 #error "FIXME: expair_needs_further_processing not yet implemented for hashtabs, sorry. A.F."
 
 #ifdef EXPAIRSEQ_USE_HASHTAB
 #error "FIXME: expair_needs_further_processing not yet implemented for hashtabs, sorry. A.F."
@@ -1731,6 +1731,6 @@ unsigned expairseq::hashtabfactor=1;
 const expairseq some_expairseq;
 const type_info & typeid_expairseq=typeid(some_expairseq);
 
 const expairseq some_expairseq;
 const type_info & typeid_expairseq=typeid(some_expairseq);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index f50395396d0e71b61e5208ec77e3a9f415a291ee..54062f64add25e7f34735a4adbba1400496b338c 100644 (file)
@@ -31,9 +31,9 @@
 
 #include "expair.h"
 
 
 #include "expair.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //#define EXPAIRSEQ_USE_HASHTAB
 
 
 //#define EXPAIRSEQ_USE_HASHTAB
 
@@ -202,8 +202,8 @@ inline const expairseq &ex_to_expairseq(const ex &e)
        return static_cast<const expairseq &>(*e.bp);
 }
 
        return static_cast<const expairseq &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_EXPAIRSEQ_H__
 
 #endif // ndef __GINAC_EXPAIRSEQ_H__
index 627004175254dad16498c3d110b548a401688bbb..ae2abd20c5b72e9dc02320bb1e6a5e7a77fc41bc 100644 (file)
@@ -24,9 +24,9 @@
 #include "exprseq.h"
 #include "ex.h"
 
 #include "exprseq.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 bool exprseq::info(unsigned inf) const
 {
 
 bool exprseq::info(unsigned inf) const
 {
@@ -42,6 +42,6 @@ ex & exprseq::let_op(int i)
     return seq[i];
 }
 
     return seq[i];
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 924093638bc3a4700abbc1da5f3af0f5295ff416..d35c2f43e7b81a0ed646545b9842840f2363a4d0 100644 (file)
@@ -25,9 +25,9 @@
 #include "archive.h"
 #include "debugmsg.h"
 
 #include "archive.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(fail, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(fail, basic)
 
@@ -162,6 +162,6 @@ int fail::compare_same_type(const basic & other) const
 const fail some_fail;
 const type_info & typeid_fail=typeid(some_fail);
 
 const fail some_fail;
 const type_info & typeid_fail=typeid(some_fail);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 9a0a3ffee792c30404c79a5450ebe5ea35ebee5b..9d87d1bcafa381b6c0001a59aefec0764cc27145 100644 (file)
@@ -26,9 +26,9 @@
 
 #include "basic.h"
 
 
 #include "basic.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class fail : public basic
 {
 
 class fail : public basic
 {
@@ -71,8 +71,8 @@ protected:
 extern const fail some_fail;
 extern const type_info & typeid_fail;
 
 extern const fail some_fail;
 extern const type_info & typeid_fail;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_FAIL_H__
 
 #endif // ndef __GINAC_FAIL_H__
index add2cc4912e8f1eef13c9f27046c1fabe613024c..d7e63825b353b0ff40f8b92d564aee3fbb5065aa 100644 (file)
@@ -23,9 +23,9 @@
 #ifndef __GINAC_FLAGS_H__
 #define __GINAC_FLAGS_H__
 
 #ifndef __GINAC_FLAGS_H__
 #define __GINAC_FLAGS_H__
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class expand_options {
 public:
 
 class expand_options {
 public:
@@ -121,8 +121,8 @@ public:
        };
 };
 
        };
 };
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_FLAGS_H__
 
 #endif // ndef __GINAC_FLAGS_H__
index f1b57f13db56419afbb78b6e9326c91fdd9e75dc..8ad1abe5f6946d89740b5234ccae7b4d9a69c46f 100755 (executable)
@@ -171,31 +171,31 @@ $interface=<<END_OF_INTERFACE;
 
 #include "exprseq.h"
 
 
 #include "exprseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 
 // the following lines have been generated for max. ${maxargs} parameters
 $declare_function_macro_namespace
 // end of generated lines
 
 
 // the following lines have been generated for max. ${maxargs} parameters
 $declare_function_macro_namespace
 // end of generated lines
 
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 
 // the following lines have been generated for max. ${maxargs} parameters
 $declare_function_macro_no_namespace
 // end of generated lines
 
 
 // the following lines have been generated for max. ${maxargs} parameters
 $declare_function_macro_no_namespace
 // end of generated lines
 
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 
 #define REGISTER_FUNCTION(NAME,E,EF,D,S) \\
 const unsigned function_index_##NAME=GiNaC::function::register_new(#NAME,E,EF,D,S);
 
 
 #define REGISTER_FUNCTION(NAME,E,EF,D,S) \\
 const unsigned function_index_##NAME=GiNaC::function::register_new(#NAME,E,EF,D,S);
 
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 
 #define REGISTER_FUNCTION(NAME,E,EF,D,S) \\
 const unsigned function_index_##NAME=function::register_new(#NAME,E,EF,D,S);
 
 
 #define REGISTER_FUNCTION(NAME,E,EF,D,S) \\
 const unsigned function_index_##NAME=function::register_new(#NAME,E,EF,D,S);
 
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #define BEGIN_TYPECHECK \\
 bool automatic_typecheck=true;
 
 #define BEGIN_TYPECHECK \\
 bool automatic_typecheck=true;
@@ -205,21 +205,21 @@ if (!is_ex_exactly_of_type(VAR,TYPE)) { \\
     automatic_typecheck=false; \\
 } else
 
     automatic_typecheck=false; \\
 } else
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 
 #define TYPECHECK_INTEGER(VAR) \\
 if (!(VAR).info(GiNaC::info_flags::integer)) { \\
     automatic_typecheck=false; \\
 } else
 
 
 #define TYPECHECK_INTEGER(VAR) \\
 if (!(VAR).info(GiNaC::info_flags::integer)) { \\
     automatic_typecheck=false; \\
 } else
 
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 
 #define TYPECHECK_INTEGER(VAR) \\
 if (!(VAR).info(info_flags::integer)) { \\
     automatic_typecheck=false; \\
 } else
 
 
 #define TYPECHECK_INTEGER(VAR) \\
 if (!(VAR).info(info_flags::integer)) { \\
     automatic_typecheck=false; \\
 } else
 
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #define END_TYPECHECK(RV) \\
 {} \\
 
 #define END_TYPECHECK(RV) \\
 {} \\
@@ -227,9 +227,9 @@ if (!automatic_typecheck) { \\
     return RV.hold(); \\
 }
 
     return RV.hold(); \\
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class function;
 
 
 class function;
 
@@ -327,26 +327,26 @@ protected:
 
 // utility macros
 
 
 // utility macros
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 
 #define is_ex_the_function(OBJ, FUNCNAME) \\
     (is_ex_exactly_of_type(OBJ, function) && static_cast<GiNaC::function *>(OBJ.bp)->getserial() == function_index_##FUNCNAME)
 
 
 #define is_ex_the_function(OBJ, FUNCNAME) \\
     (is_ex_exactly_of_type(OBJ, function) && static_cast<GiNaC::function *>(OBJ.bp)->getserial() == function_index_##FUNCNAME)
 
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 
 #define is_ex_the_function(OBJ, FUNCNAME) \\
     (is_ex_exactly_of_type(OBJ, function) && static_cast<function *>(OBJ.bp)->getserial() == function_index_##FUNCNAME)
 
 
 #define is_ex_the_function(OBJ, FUNCNAME) \\
     (is_ex_exactly_of_type(OBJ, function) && static_cast<function *>(OBJ.bp)->getserial() == function_index_##FUNCNAME)
 
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // global constants
 
 extern const function some_function;
 extern const type_info & typeid_function;
 
 
 // global constants
 
 extern const function some_function;
 extern const type_info & typeid_function;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_FUNCTION_H__
 
 
 #endif // ndef __GINAC_FUNCTION_H__
 
@@ -388,9 +388,9 @@ $implementation=<<END_OF_IMPLEMENTATION;
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(function, exprseq)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(function, exprseq)
 
@@ -752,9 +752,9 @@ $register_new_implementation
 const function some_function;
 const type_info & typeid_function=typeid(some_function);
 
 const function some_function;
 const type_info & typeid_function=typeid(some_function);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 END_OF_IMPLEMENTATION
 
 
 END_OF_IMPLEMENTATION
 
index 5b93905af144d3e65c0e2dbbfba2c37f5469fe5a..e0b5ad05dc4d1b5e5eaf2d6e2a2aa23d9e65f3e3 100644 (file)
@@ -30,9 +30,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(idx, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(idx, basic)
 
@@ -149,7 +149,7 @@ ex idx::unarchive(const archive_node &n, const lst &sym_lst)
 
     if (ex_to_idx(s).symbolic) {
         // If idx is in sym_lst, return the existing idx
 
     if (ex_to_idx(s).symbolic) {
         // If idx is in sym_lst, return the existing idx
-        for (int i=0; i<sym_lst.nops(); i++) {
+        for (unsigned i=0; i<sym_lst.nops(); i++) {
             if (is_ex_of_type(sym_lst.op(i), idx) && (ex_to_idx(sym_lst.op(i)).name == ex_to_idx(s).name))
                 return sym_lst.op(i);
         }
             if (is_ex_of_type(sym_lst.op(i), idx) && (ex_to_idx(sym_lst.op(i)).name == ex_to_idx(s).name))
                 return sym_lst.op(i);
         }
@@ -497,6 +497,6 @@ ex subs_indices(const ex & e, const exvector & idxv_subs,
     return res;
 }
 
     return res;
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 5bfa9bf102cff9ba7187cab26301a71d651ebb29..334b58cadb1ab1abe795a885f893765c00cc0314 100644 (file)
@@ -28,9 +28,9 @@
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class idx : public basic
 {
 
 class idx : public basic
 {
@@ -115,8 +115,8 @@ ex subs_indices(const ex & e, const exvector & idxv_contra,
                 const exvector & idxv_co);
 unsigned count_index(const ex & e, const ex & i);
 
                 const exvector & idxv_co);
 unsigned count_index(const ex & e, const ex & i);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_IDX_H__
 
 #endif // ndef __GINAC_IDX_H__
index 41c2b1f0681c729edb666e9a5922ede279fb6ce4..1f67038f9a04dca5784020229e7a44ac1620a55b 100644 (file)
@@ -27,9 +27,9 @@
 #include "idx.h"
 #include "debugmsg.h"
 
 #include "idx.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(indexed, exprseq)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(indexed, exprseq)
 
@@ -327,6 +327,6 @@ bool indexed::all_of_type_idx(void) const
 const indexed some_indexed;
 const type_info & typeid_indexed=typeid(some_indexed);
 
 const indexed some_indexed;
 const type_info & typeid_indexed=typeid(some_indexed);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 556f92ff2e9b8dd2e3d24e7e58499bbaa6ec01f6..5988f0a0cad1da773f542e44a634518d132a56f5 100644 (file)
@@ -26,9 +26,9 @@
 #include <string>
 #include "exprseq.h"
 
 #include <string>
 #include "exprseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Base class for non-commutative indexed objects */
 class indexed : public exprseq
 
 /** Base class for non-commutative indexed objects */
 class indexed : public exprseq
@@ -99,8 +99,8 @@ inline const indexed &ex_to_indexed(const ex &e)
        return static_cast<const indexed &>(*e.bp);
 }
 
        return static_cast<const indexed &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_INDEXED_H__
 
 #endif // ndef __GINAC_INDEXED_H__
index 9c5019df6dfabf2ec6d37f585e5af080258c91f2..70eaf758a104bf0564d78a647e1e0e4960fc42ec 100644 (file)
@@ -37,9 +37,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // absolute value
 
 //////////
 // absolute value
@@ -281,6 +281,6 @@ ex ncpower(const ex &basis, unsigned exponent)
 unsigned force_include_gamma = function_index_gamma;
 unsigned force_include_zeta1 = function_index_zeta1;
 
 unsigned force_include_gamma = function_index_gamma;
 unsigned force_include_zeta1 = function_index_zeta1;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 20511e2828e82ced2c53474dddc86d9837e9787d..603edb3ec1854383f5cded07cbaf5d956d3828d7 100644 (file)
@@ -26,9 +26,9 @@
 #include "function.h"
 #include "ex.h"
 
 #include "function.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Absolute value. */
 DECLARE_FUNCTION_1P(abs)
 
 /** Absolute value. */
 DECLARE_FUNCTION_1P(abs)
@@ -132,8 +132,8 @@ inline bool is_order_function(const ex & e)
     return is_ex_the_function(e, Order);
 }
 
     return is_ex_the_function(e, Order);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_INIFCNS_H__
 
 #endif // ndef __GINAC_INIFCNS_H__
index 3a956a92f07e04735bccfa0a1f862609f6181533..503c44c82ad149b19a66711b6bc25334dc35281f 100644 (file)
@@ -34,9 +34,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // Gamma-function
 
 //////////
 // Gamma-function
@@ -437,6 +437,6 @@ static ex psi2_series(const ex & n, const ex & x, const symbol & s, const ex & p
 
 const unsigned function_index_psi2 = function::register_new("psi", psi2_eval, psi2_evalf, psi2_diff, psi2_series);
 
 
 const unsigned function_index_psi2 = function::register_new("psi", psi2_eval, psi2_evalf, psi2_diff, psi2_series);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 4c35bfed6b24fdc90e566fa88f64461b51c59ff9..da763b402d783fc1ce0ff62ab7d60211cf78bf52 100644 (file)
@@ -33,9 +33,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // exponential function
 
 //////////
 // exponential function
@@ -850,6 +850,6 @@ static ex atanh_diff(const ex & x, unsigned diff_param)
 
 REGISTER_FUNCTION(atanh, atanh_eval, atanh_evalf, atanh_diff, NULL);
 
 
 REGISTER_FUNCTION(atanh, atanh_eval, atanh_evalf, atanh_diff, NULL);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 4be6f0226cae4f35f983c89f071a8f5afd1414a9..51f9700ce78bc4541dc5f56db7436b5b35b11191 100644 (file)
@@ -31,9 +31,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // Riemann's Zeta-function
 
 //////////
 // Riemann's Zeta-function
@@ -112,6 +112,6 @@ static ex zeta2_diff(const ex & n, const ex & x, unsigned diff_param)
 
 const unsigned function_index_zeta2 = function::register_new("zeta", zeta2_eval, NULL, zeta2_diff, NULL);
 
 
 const unsigned function_index_zeta2 = function::register_new("zeta", zeta2_eval, NULL, zeta2_diff, NULL);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 6fad095daba2fca6669efe3d13eb00ce1c6d9119..8ff6b916ae8354ac58261d04597fe727a92a14cc 100644 (file)
@@ -31,9 +31,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(isospin, indexed)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(isospin, indexed)
 
@@ -123,7 +123,7 @@ ex isospin::unarchive(const archive_node &n, const lst &sym_lst)
     ex s = (new isospin(n, sym_lst))->setflag(status_flags::dynallocated);
 
     // If isospin is in sym_lst, return the existing isospin
     ex s = (new isospin(n, sym_lst))->setflag(status_flags::dynallocated);
 
     // If isospin is in sym_lst, return the existing isospin
-    for (int i=0; i<sym_lst.nops(); i++) {
+    for (unsigned i=0; i<sym_lst.nops(); i++) {
         if (is_ex_of_type(sym_lst.op(i), isospin) && (ex_to_isospin(sym_lst.op(i)).name == ex_to_isospin(s).name))
             return sym_lst.op(i);
     }
         if (is_ex_of_type(sym_lst.op(i), isospin) && (ex_to_isospin(sym_lst.op(i)).name == ex_to_isospin(s).name))
             return sym_lst.op(i);
     }
@@ -251,7 +251,7 @@ unsigned isospin::next_serial=0;
 const isospin some_isospin;
 const type_info & typeid_isospin=typeid(some_isospin);
 
 const isospin some_isospin;
 const type_info & typeid_isospin=typeid(some_isospin);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 
index 8bd084b586f107c14e97086833cba44295eacbdd..0cc29bc71d297bf2d363f0425de58d1ea63cfb6d 100644 (file)
@@ -26,9 +26,9 @@
 #include <string>
 #include "indexed.h"
 
 #include <string>
 #include "indexed.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Base class for isospin object */
 class isospin : public indexed
 
 /** Base class for isospin object */
 class isospin : public indexed
@@ -93,8 +93,8 @@ inline const isospin &ex_to_isospin(const ex &e)
        return static_cast<const isospin &>(*e.bp);
 }
 
        return static_cast<const isospin &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_ISOSPIN_H__
 
 #endif // ndef __GINAC_ISOSPIN_H__
index 52487dde554c66b2a727bc06c6139a4c2818e4b1..5835050e4616c4f60d2f1cce963ca632a60cd68c 100644 (file)
@@ -28,9 +28,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(lorentzidx, idx)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(lorentzidx, idx)
 
@@ -146,7 +146,7 @@ ex lorentzidx::unarchive(const archive_node &n, const lst &sym_lst)
 
     if (ex_to_lorentzidx(s).symbolic) {
         // If lorentzidx is in sym_lst, return the existing lorentzidx
 
     if (ex_to_lorentzidx(s).symbolic) {
         // If lorentzidx is in sym_lst, return the existing lorentzidx
-        for (int i=0; i<sym_lst.nops(); i++) {
+        for (unsigned i=0; i<sym_lst.nops(); i++) {
             if (is_ex_of_type(sym_lst.op(i), lorentzidx) && (ex_to_lorentzidx(sym_lst.op(i)).name == ex_to_lorentzidx(s).name))
                 return sym_lst.op(i);
         }
             if (is_ex_of_type(sym_lst.op(i), lorentzidx) && (ex_to_lorentzidx(sym_lst.op(i)).name == ex_to_lorentzidx(s).name))
                 return sym_lst.op(i);
         }
@@ -294,6 +294,6 @@ lorentzidx lorentzidx::create_anonymous_representative(void) const
 const lorentzidx some_lorentzidx;
 const type_info & typeid_lorentzidx=typeid(some_lorentzidx);
 
 const lorentzidx some_lorentzidx;
 const type_info & typeid_lorentzidx=typeid(some_lorentzidx);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index a0ff8d53545f7e7df4a21ec2c31117825285400b..6cd5fc2a7b8f089c5430c9fb6264ef5e4b704e60 100644 (file)
@@ -27,9 +27,9 @@
 #include <vector>
 #include "idx.h"
 
 #include <vector>
 #include "idx.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class lorentzidx : public idx
 {
 
 class lorentzidx : public idx
 {
@@ -93,8 +93,8 @@ inline const lorentzidx &ex_to_lorentzidx(const ex &e)
        return static_cast<const lorentzidx &>(*e.bp);
 }
 
        return static_cast<const lorentzidx &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_LORENTZIDX_H__
 
 #endif // ndef __GINAC_LORENTZIDX_H__
index 657d10b6560a637b50ed0a7f2a748996308b226d..4014481478e7e0dcb0d06096c2e825e2ba77866c 100644 (file)
@@ -41,9 +41,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -463,7 +463,7 @@ ex simplify_lortensor(const ex & e)
     // simplification of sum=sum of simplifications
     if (is_ex_exactly_of_type(e_expanded,add)) {
         ex sum=_ex0();
     // simplification of sum=sum of simplifications
     if (is_ex_exactly_of_type(e_expanded,add)) {
         ex sum=_ex0();
-        for (int i=0; i<e_expanded.nops(); ++i) {
+        for (unsigned i=0; i<e_expanded.nops(); ++i) {
             sum += simplify_lortensor(e_expanded.op(i));
         }
         return sum;
             sum += simplify_lortensor(e_expanded.op(i));
         }
         return sum;
@@ -484,6 +484,13 @@ ex Dim(void)
     return *d;
 }
 
     return *d;
 }
 
-#ifndef NO_GINAC_NAMESPACE
+//////////
+// global constants
+//////////
+
+const lortensor some_lortensor;
+const type_info & typeid_lortensor=typeid(some_lortensor);
+
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index bfeff485d8c4155b81e55f09ec615b7f86ac51c2..c02552a76e777a53eeaa968a560cacdf0d302235 100644 (file)
@@ -30,9 +30,9 @@
 #include "indexed.h"
 #include "lorentzidx.h"
 
 #include "indexed.h"
 #include "lorentzidx.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Base class for lortensor object */
 class lortensor : public indexed
 
 /** Base class for lortensor object */
 class lortensor : public indexed
@@ -42,7 +42,7 @@ class lortensor : public indexed
     // friend lortensor lortensor_delta(const ex & mu, const ex & nu);
     friend lortensor lortensor_epsilon(const ex & mu, const ex & nu,
                                        const ex & rho, const ex & sigma);
     // friend lortensor lortensor_delta(const ex & mu, const ex & nu);
     friend lortensor lortensor_epsilon(const ex & mu, const ex & nu,
                                        const ex & rho, const ex & sigma);
-    friend lortensor lortensor_rankn(const string & n, const exvector & iv);
+    // friend lortensor lortensor_rankn(const string & n, const exvector & iv);
     friend lortensor lortensor_rank1(const string & n, const ex & mu);
     friend lortensor lortensor_rank2(const string & n, const ex & mu, const ex & nu);
     friend ex simplify_lortensor_mul(const ex & m);
     friend lortensor lortensor_rank1(const string & n, const ex & mu);
     friend lortensor lortensor_rank2(const string & n, const ex & mu, const ex & nu);
     friend ex simplify_lortensor_mul(const ex & m);
@@ -125,8 +125,8 @@ private:
 
 // global constants
 
 
 // global constants
 
-    extern const lortensor some_lortensor;
-    extern const type_info & typeid_lortensor;
+extern const lortensor some_lortensor;
+extern const type_info & typeid_lortensor;
 
 // utility functions
     
 
 // utility functions
     
@@ -145,8 +145,8 @@ ex simplify_lortensor_mul(const ex & m);
 ex simplify_lortensor(const ex & e);
 ex Dim(void);    
 
 ex simplify_lortensor(const ex & e);
 ex Dim(void);    
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_LORTENSOR_H__
 
 #endif // ndef __GINAC_LORTENSOR_H__
index afc4285e601999923c65c5d19cc483c4833caf01..8e9d94ef884722e8af77bdd133577841db4bb407 100644 (file)
@@ -23,9 +23,9 @@
 
 #include "lst.h"
 
 
 #include "lst.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 bool lst::info(unsigned inf) const
 {
 
 bool lst::info(unsigned inf) const
 {
@@ -33,6 +33,6 @@ bool lst::info(unsigned inf) const
     return basic::info(inf);
 }
 
     return basic::info(inf);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 9bcab8bd21a66c8dca0b8b6ea5e8de8c24b7c679..dcd1d9441a5b21ed005727fe6077f27df89ecf39 100644 (file)
@@ -28,9 +28,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(matrix, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(matrix, basic)
 
@@ -959,6 +959,6 @@ int matrix::pivot(unsigned ro)
 const matrix some_matrix;
 const type_info & typeid_matrix=typeid(some_matrix);
 
 const matrix some_matrix;
 const type_info & typeid_matrix=typeid(some_matrix);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index b78a750e28bc33ef73dfdf6db056258e6dda1c47..38e9164277422040a3a6d2596cc21c2ce29a9fbe 100644 (file)
@@ -27,9 +27,9 @@
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Symbolic matrices. */
 class matrix : public basic
 
 /** Symbolic matrices. */
 class matrix : public basic
@@ -158,8 +158,8 @@ inline const matrix &ex_to_matrix(const ex &e)
        return static_cast<const matrix &>(*e.bp);
 }
 
        return static_cast<const matrix &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_MATRIX_H__
 
 #endif // ndef __GINAC_MATRIX_H__
index 35be3920a100841100feb03bd60fb7d2bdfaf4de..1b051abb421867faab175648845196958f91a83c 100644 (file)
@@ -30,9 +30,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(mul, expairseq)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(mul, expairseq)
 
@@ -788,6 +788,6 @@ unsigned mul::precedence=50;
 const mul some_mul;
 const type_info & typeid_mul=typeid(some_mul);
 
 const mul some_mul;
 const type_info & typeid_mul=typeid(some_mul);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index d81d046b60afcfec2fb8f4ada520b000186e738e..de047f4559c8cc5ceffe7a8e4d5215de17336d4f 100644 (file)
@@ -25,9 +25,9 @@
 
 #include "expairseq.h"
 
 
 #include "expairseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Product of expressions. */
 class mul : public expairseq
 
 /** Product of expressions. */
 class mul : public expairseq
@@ -123,8 +123,8 @@ inline const mul &ex_to_mul(const ex &e)
        return static_cast<const mul &>(*e.bp);
 }
 
        return static_cast<const mul &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_MUL_H__
 
 #endif // ndef __GINAC_MUL_H__
index 882265dcbf69a84327e56d923a1f6ed9b61d9572..a970a8b2b3c5cd58cbb29fb5e6a79fa91afb41f6 100644 (file)
@@ -32,9 +32,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(ncmul, exprseq)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(ncmul, exprseq)
 
@@ -653,6 +653,6 @@ ex simplified_ncmul(const exvector & v)
                                    status_flags::evaluated);
 }
 
                                    status_flags::evaluated);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index cba21283e5168f63119b57d2e74f7e41230903f6..b79b0ea6ce16644fbfacd2793f3d88bf25b723f4 100644 (file)
@@ -25,9 +25,9 @@
 
 #include "exprseq.h"
 
 
 #include "exprseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Non-commutative product of expressions. */
 class ncmul : public exprseq
 
 /** Non-commutative product of expressions. */
 class ncmul : public exprseq
@@ -118,8 +118,8 @@ inline const ncmul &ex_to_ncmul(const ex &e)
        return static_cast <const ncmul &>(*e.bp);
 }
 
        return static_cast <const ncmul &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_NCMUL_H__
 
 #endif // ndef __GINAC_NCMUL_H__
index f57e4f0dbb60b31c3fc7bb053b905881ffee24f2..8a9bc0f45c71e955b9f7ab60636df87e1884ad92 100644 (file)
@@ -47,9 +47,9 @@
 #include "symbol.h"
 #include "utils.h"
 
 #include "symbol.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // If comparing expressions (ex::compare()) is fast, you can set this to 1.
 // Some routines like quo(), rem() and gcd() will then return a quick answer
 
 // If comparing expressions (ex::compare()) is fast, you can set this to 1.
 // Some routines like quo(), rem() and gcd() will then return a quick answer
@@ -228,12 +228,12 @@ static ex multiply_lcm(const ex &e, const ex &lcm)
 {
        if (is_ex_exactly_of_type(e, mul)) {
                ex c = _ex1();
 {
        if (is_ex_exactly_of_type(e, mul)) {
                ex c = _ex1();
-               for (int i=0; i<e.nops(); i++)
+               for (unsigned i=0; i<e.nops(); i++)
                        c *= multiply_lcm(e.op(i), lcmcoeff(e.op(i), _num1()));
                return c;
        } else if (is_ex_exactly_of_type(e, add)) {
                ex c = _ex0();
                        c *= multiply_lcm(e.op(i), lcmcoeff(e.op(i), _num1()));
                return c;
        } else if (is_ex_exactly_of_type(e, add)) {
                ex c = _ex0();
-               for (int i=0; i<e.nops(); i++)
+               for (unsigned i=0; i<e.nops(); i++)
                        c += multiply_lcm(e.op(i), lcm);
                return c;
        } else if (is_ex_exactly_of_type(e, power)) {
                        c += multiply_lcm(e.op(i), lcm);
                return c;
        } else if (is_ex_exactly_of_type(e, power)) {
@@ -939,11 +939,11 @@ ex basic::smod(const numeric &xi) const
 
 ex numeric::smod(const numeric &xi) const
 {
 
 ex numeric::smod(const numeric &xi) const
 {
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
     return GiNaC::smod(*this, xi);
     return GiNaC::smod(*this, xi);
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
     return ::smod(*this, xi);
     return ::smod(*this, xi);
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 }
 
 ex add::smod(const numeric &xi) const
 }
 
 ex add::smod(const numeric &xi) const
@@ -954,21 +954,21 @@ ex add::smod(const numeric &xi) const
     epvector::const_iterator itend = seq.end();
     while (it != itend) {
         GINAC_ASSERT(!is_ex_exactly_of_type(it->rest,numeric));
     epvector::const_iterator itend = seq.end();
     while (it != itend) {
         GINAC_ASSERT(!is_ex_exactly_of_type(it->rest,numeric));
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
         numeric coeff = GiNaC::smod(ex_to_numeric(it->coeff), xi);
         numeric coeff = GiNaC::smod(ex_to_numeric(it->coeff), xi);
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
         numeric coeff = ::smod(ex_to_numeric(it->coeff), xi);
         numeric coeff = ::smod(ex_to_numeric(it->coeff), xi);
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
         if (!coeff.is_zero())
             newseq.push_back(expair(it->rest, coeff));
         it++;
     }
     GINAC_ASSERT(is_ex_exactly_of_type(overall_coeff,numeric));
         if (!coeff.is_zero())
             newseq.push_back(expair(it->rest, coeff));
         it++;
     }
     GINAC_ASSERT(is_ex_exactly_of_type(overall_coeff,numeric));
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
     numeric coeff = GiNaC::smod(ex_to_numeric(overall_coeff), xi);
     numeric coeff = GiNaC::smod(ex_to_numeric(overall_coeff), xi);
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
     numeric coeff = ::smod(ex_to_numeric(overall_coeff), xi);
     numeric coeff = ::smod(ex_to_numeric(overall_coeff), xi);
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
     return (new add(newseq,coeff))->setflag(status_flags::dynallocated);
 }
 
     return (new add(newseq,coeff))->setflag(status_flags::dynallocated);
 }
 
@@ -984,11 +984,11 @@ ex mul::smod(const numeric &xi) const
 #endif // def DO_GINAC_ASSERT
     mul * mulcopyp=new mul(*this);
     GINAC_ASSERT(is_ex_exactly_of_type(overall_coeff,numeric));
 #endif // def DO_GINAC_ASSERT
     mul * mulcopyp=new mul(*this);
     GINAC_ASSERT(is_ex_exactly_of_type(overall_coeff,numeric));
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
     mulcopyp->overall_coeff = GiNaC::smod(ex_to_numeric(overall_coeff),xi);
     mulcopyp->overall_coeff = GiNaC::smod(ex_to_numeric(overall_coeff),xi);
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
     mulcopyp->overall_coeff = ::smod(ex_to_numeric(overall_coeff),xi);
     mulcopyp->overall_coeff = ::smod(ex_to_numeric(overall_coeff),xi);
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
     mulcopyp->clearflag(status_flags::evaluated);
     mulcopyp->clearflag(status_flags::hash_calculated);
     return mulcopyp->setflag(status_flags::dynallocated);
     mulcopyp->clearflag(status_flags::evaluated);
     mulcopyp->clearflag(status_flags::hash_calculated);
     return mulcopyp->setflag(status_flags::dynallocated);
@@ -1104,7 +1104,7 @@ factored_a:
                ex g = _ex1();
                ex acc_ca = _ex1();
                ex part_b = b;
                ex g = _ex1();
                ex acc_ca = _ex1();
                ex part_b = b;
-               for (int i=0; i<a.nops(); i++) {
+               for (unsigned i=0; i<a.nops(); i++) {
                        ex part_ca, part_cb;
                        g *= gcd(a.op(i), part_b, &part_ca, &part_cb, check_args);
                        acc_ca *= part_ca;
                        ex part_ca, part_cb;
                        g *= gcd(a.op(i), part_b, &part_ca, &part_cb, check_args);
                        acc_ca *= part_ca;
@@ -1122,7 +1122,7 @@ factored_b:
                ex g = _ex1();
                ex acc_cb = _ex1();
                ex part_a = a;
                ex g = _ex1();
                ex acc_cb = _ex1();
                ex part_a = a;
-               for (int i=0; i<b.nops(); i++) {
+               for (unsigned i=0; i<b.nops(); i++) {
                        ex part_ca, part_cb;
                        g *= gcd(part_a, b.op(i), &part_ca, &part_cb, check_args);
                        acc_cb *= part_cb;
                        ex part_ca, part_cb;
                        g *= gcd(part_a, b.op(i), &part_ca, &part_cb, check_args);
                        acc_cb *= part_cb;
@@ -1568,6 +1568,6 @@ ex ex::normal(int level) const
         return e;
 }
 
         return e;
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 35695083a2eeb9565112043cfd73426b2e4e6ee0..f3e8920dbea4a1e1454d5fb7a592af42f150826f 100644 (file)
@@ -24,9 +24,9 @@
 #ifndef __GINAC_NORMAL_H__
 #define __GINAC_NORMAL_H__
 
 #ifndef __GINAC_NORMAL_H__
 #define __GINAC_NORMAL_H__
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class ex;
 class symbol;
 
 class ex;
 class symbol;
@@ -52,8 +52,8 @@ extern ex lcm(const ex &a, const ex &b, bool check_args = true);
 // Square-free factorization of a polynomial a(x)
 extern ex sqrfree(const ex &a, const symbol &x);
 
 // Square-free factorization of a polynomial a(x)
 extern ex sqrfree(const ex &a, const symbol &x);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_NORMAL_H__
 
 #endif // ndef __GINAC_NORMAL_H__
index c0a3ff4f07af6978f0a401eba7ca4accac312d63..149f049c2723bbded17d6299ff2a5ecb9d4e4185 100644 (file)
@@ -73,9 +73,9 @@
 #include <cl_numtheory.h>
 #endif  // def HAVE_CLN_CLN_H
 
 #include <cl_numtheory.h>
 #endif  // def HAVE_CLN_CLN_H
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif  // ndef NO_GINAC_NAMESPACE
+#endif  // ndef NO_NAMESPACE_GINAC
 
 // linker has no problems finding text symbols for numerator or denominator
 //#define SANE_LINKER
 
 // linker has no problems finding text symbols for numerator or denominator
 //#define SANE_LINKER
@@ -524,6 +524,13 @@ bool numeric::info(unsigned inf) const
     return false;
 }
 
     return false;
 }
 
+ex numeric::eval(int level) const
+{
+    // Warning: if this is ever gonna do something, the ex ctors from all kinds
+    // of numbers should be checking for status_flags::evaluated.
+    return this->hold();
+}
+
 /** Cast numeric into a floating-point object.  For example exact numeric(1) is
  *  returned as a 1.0000000000000000000000 and so on according to how Digits is
  *  currently set.
 /** Cast numeric into a floating-point object.  For example exact numeric(1) is
  *  returned as a 1.0000000000000000000000 and so on according to how Digits is
  *  currently set.
@@ -1651,10 +1658,20 @@ ostream& operator<<(ostream& os, const _numeric_digits & e)
 
 bool _numeric_digits::too_late = false;
 
 
 bool _numeric_digits::too_late = false;
 
+
+//////////
+// utility functions
+//////////
+
+const numeric &ex_to_numeric(const ex &e)
+{
+    return static_cast<const numeric &>(*e.bp);
+}
+
 /** Accuracy in decimal digits.  Only object of this type!  Can be set using
  *  assignment from C++ unsigned ints and evaluated like any built-in type. */
 _numeric_digits Digits;
 
 /** Accuracy in decimal digits.  Only object of this type!  Can be set using
  *  assignment from C++ unsigned ints and evaluated like any built-in type. */
 _numeric_digits Digits;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index d99f08dcda4ab9c25b96a722e200898d5929a95d..6c1f9f2d709f1c0fea6f1dc232b06d49df6aa529 100644 (file)
@@ -30,9 +30,9 @@
 class cl_N;     // We want to include cln.h only in numeric.cpp in order to 
                 // avoid namespace pollution and keep compile-time low.
 
 class cl_N;     // We want to include cln.h only in numeric.cpp in order to 
                 // avoid namespace pollution and keep compile-time low.
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #define HASHVALUE_NUMERIC 0x80000001U
 
 
 #define HASHVALUE_NUMERIC 0x80000001U
 
@@ -127,6 +127,7 @@ public:
     void printtree(ostream & os, unsigned indent) const;
     void printcsrc(ostream & os, unsigned type, unsigned precedence=0) const;
     bool info(unsigned inf) const;
     void printtree(ostream & os, unsigned indent) const;
     void printcsrc(ostream & os, unsigned type, unsigned precedence=0) const;
     bool info(unsigned inf) const;
+    ex eval(int level=0) const;
     ex evalf(int level=0) const;
     ex diff(const symbol & s) const;
     ex normal(lst &sym_lst, lst &repl_lst, int level=0) const;
     ex evalf(int level=0) const;
     ex diff(const symbol & s) const;
     ex normal(lst &sym_lst, lst &repl_lst, int level=0) const;
@@ -323,13 +324,10 @@ ex EulerGammaEvalf(void);
 ex CatalanEvalf(void);
 
 // utility functions
 ex CatalanEvalf(void);
 
 // utility functions
-inline const numeric &ex_to_numeric(const ex &e)
-{
-    return static_cast<const numeric &>(*e.bp);
-}
+const numeric &ex_to_numeric(const ex &e);
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_NUMERIC_H__
 
 #endif // ndef __GINAC_NUMERIC_H__
index 10a45165b2fdc058a6606201d36947d84326a758..9a681b5ea2e2e68f263e40caad0c3956af4cc476 100644 (file)
@@ -32,9 +32,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // binary arithmetic operators ex with ex
 
 
 // binary arithmetic operators ex with ex
 
@@ -340,6 +340,6 @@ istream & operator>>(istream & is, ex & e)
     throw(std::logic_error("input from streams not yet implemented"));
 }
 
     throw(std::logic_error("input from streams not yet implemented"));
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 33acabaeb52b986ce5ee76708ce07f580f34e722..a7d84b0ada2642333dc0089c853d3386fdda68d6 100644 (file)
@@ -25,9 +25,9 @@
 
 #include <iostream>
 
 
 #include <iostream>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class ex;
 class numeric;
 
 class ex;
 class numeric;
@@ -82,8 +82,8 @@ relational operator>=(const ex & lh, const ex & rh);
 ostream & operator<<(ostream & os, const ex & e);
 istream & operator>>(istream & is, ex & e);
 
 ostream & operator<<(ostream & os, const ex & e);
 istream & operator>>(istream & is, ex & e);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_OPERATORS_H__
 
 #endif // ndef __GINAC_OPERATORS_H__
index cbe0c65bb9f023d19e94381a38843fcbd763bb1f..89ba78bcc9a79c9e6d184ced3eb0372e8152df8e 100644 (file)
@@ -35,9 +35,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(power, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(power, basic)
 
@@ -830,6 +830,6 @@ ex sqrt(const ex & a)
     return power(a,_ex1_2());
 }
 
     return power(a,_ex1_2());
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index a0ebc29bf213aa8b6c542839f5aa252053db2905..13dfd5ffbd4da8b413956991a74a1819f8695c9e 100644 (file)
@@ -26,9 +26,9 @@
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class numeric;
 class add;
 
 class numeric;
 class add;
@@ -128,8 +128,8 @@ inline ex pow(const ex & b, const ex & e)
  *  expression.  */
 ex sqrt(const ex & a);
 
  *  expression.  */
 ex sqrt(const ex & a);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_POWER_H__
 
 #endif // ndef __GINAC_POWER_H__
index 0f29e5f547698e08323e31525f6dc451a4ec49cc..459b46920b59793071185925a9efd61aa502c107 100644 (file)
@@ -35,9 +35,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(pseries, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(pseries, basic)
 
@@ -683,6 +683,6 @@ ex ex::series(const symbol &s, const ex &point, int order) const
 const pseries some_pseries;
 const type_info & typeid_pseries = typeid(some_pseries);
 
 const pseries some_pseries;
 const type_info & typeid_pseries = typeid(some_pseries);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index aed1e99ab336be0110fbbea413e933ed35de441c..1f69ae4bb8bf554418b70cf75424453338c0c7ce 100644 (file)
@@ -26,9 +26,9 @@
 #include "basic.h"
 #include "expairseq.h"
 
 #include "basic.h"
 #include "expairseq.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** This class holds a extended truncated power series (positive and negative
  *  integer powers). It consists of expression coefficients (only non-zero
 
 /** This class holds a extended truncated power series (positive and negative
  *  integer powers). It consists of expression coefficients (only non-zero
@@ -119,8 +119,8 @@ inline ex series_to_poly(const ex &e)
        return (static_cast<const pseries &>(*e.bp).convert_to_poly(true));
 }
 
        return (static_cast<const pseries &>(*e.bp).convert_to_poly(true));
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_SERIES_H__
 
 #endif // ndef __GINAC_SERIES_H__
index fc54830230016f1e4146656ae9e0155033124cb1..f95b20131989c29e26b02366f1c8d62a67308665 100644 (file)
@@ -25,9 +25,9 @@
 
 #include "registrar.h"
 
 
 #include "registrar.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 registered_class_info *first_registered_class = NULL;
 
 
 registered_class_info *first_registered_class = NULL;
 
@@ -56,6 +56,6 @@ unarch_func find_unarch_func(const string &class_name)
 }
 
 
 }
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 463328ddd2e4996fe9dfda4e88f1d4af535ef5a7..1473bbb88b26a49d4915ab8e13e1e3cbc5d50e0a 100644 (file)
@@ -25,9 +25,9 @@
 
 #include <string>
 
 
 #include <string>
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class registered_class_info;
 class ex;
 
 class registered_class_info;
 class ex;
@@ -65,13 +65,8 @@ struct registered_class_info {
 #define GINAC_DECLARE_REGISTERED_CLASS(classname, supername) \
 public: \
     typedef supername inherited; \
 #define GINAC_DECLARE_REGISTERED_CLASS(classname, supername) \
 public: \
     typedef supername inherited; \
-\
-       /** This structure stores information about the class. */ \
     static registered_class_info reg_info; \
     static registered_class_info reg_info; \
-\
-       /** Return pointer to class name. */ \
     virtual const char *class_name(void) const; \
     virtual const char *class_name(void) const; \
-\
     classname(const archive_node &n, const lst &sym_lst); \
     virtual void archive(archive_node &n) const; \
     static ex unarchive(const archive_node &n, const lst &sym_lst); \
     classname(const archive_node &n, const lst &sym_lst); \
     virtual void archive(archive_node &n) const; \
     static ex unarchive(const archive_node &n, const lst &sym_lst); \
@@ -90,8 +85,8 @@ extern unsigned int find_tinfo_key(const string &class_name);
 extern unarch_func find_unarch_func(const string &class_name);
 
 
 extern unarch_func find_unarch_func(const string &class_name);
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_REGISTRAR_H__
 
 #endif // ndef __GINAC_REGISTRAR_H__
index 22890646cc93fcdb44697da4c1828704ec73fd02..9511319cc4f7965b7b403b4e7404a60d1cc998c6 100644 (file)
@@ -28,9 +28,9 @@
 #include "utils.h"
 #include "debugmsg.h"
 
 #include "utils.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(relational, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(relational, basic)
 
@@ -406,6 +406,6 @@ unsigned relational::precedence=20;
 const relational some_relational;
 const type_info & typeid_relational=typeid(some_relational);
 
 const relational some_relational;
 const type_info & typeid_relational=typeid(some_relational);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index a41831e88da9416ecf9022b9a9455bb869b1fd33..93673111bfabc930480463eff8b5b8817e1dc66b 100644 (file)
@@ -26,9 +26,9 @@
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** This class holds a relation consisting of two expressions and a logical
  *  relation between them. */
 
 /** This class holds a relation consisting of two expressions and a logical
  *  relation between them. */
@@ -106,8 +106,8 @@ inline const relational &ex_to_relational(const ex &e)
        return static_cast<const relational &>(*e.bp);
 }
 
        return static_cast<const relational &>(*e.bp);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_RELATIONAL_H__
 
 #endif // ndef __GINAC_RELATIONAL_H__
index 36b61408718f1300b3539e2f05cc8a8aae683a58..c5d5f9eb92f5b331aa815a143e7b03db1a6c7820 100644 (file)
@@ -35,9 +35,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -516,6 +516,6 @@ spmapkey scalar_products::make_key(const simp_lor & v1, const simp_lor & v2)
     return spmapkey(strstrpair(v1.name,v2.name),anon);
 }
 
     return spmapkey(strstrpair(v1.name,v2.name),anon);
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 288579937b1b448c0b537de0bfe834be2bffd446..10186fdf540c081398327259b8b0b9e4a05fe474 100644 (file)
@@ -31,9 +31,9 @@
 #include "indexed.h"
 #include "lorentzidx.h"
 
 #include "indexed.h"
 #include "lorentzidx.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 typedef pair<string,string> strstrpair;
 typedef pair<strstrpair,lorentzidx> spmapkey;
 
 typedef pair<string,string> strstrpair;
 typedef pair<strstrpair,lorentzidx> spmapkey;
@@ -172,8 +172,8 @@ ex simplify_simp_lor_mul(const ex & m, const scalar_products & sp);
 ex simplify_simp_lor(const ex & e, const scalar_products & sp);
 ex Dim(void);
 
 ex simplify_simp_lor(const ex & e, const scalar_products & sp);
 ex Dim(void);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef _SIMP__GINAC_LOR_H__
 
 #endif // ndef _SIMP__GINAC_LOR_H__
index d829ba2431a3eae6a292144ab944c2778548e227..4e27c49e1db8fc499f8a190a8fd4db3c82969c6f 100644 (file)
@@ -25,9 +25,9 @@
 #include "structure.h"
 #include "debugmsg.h"
 
 #include "structure.h"
 #include "debugmsg.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -177,6 +177,6 @@ unsigned structure::register_new(const char * nm)
 const structure some_structure;
 const type_info & typeid_structure=typeid(some_structure);
 
 const structure some_structure;
 const type_info & typeid_structure=typeid(some_structure);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 1e1bed02c94e5b60330747d4814155410413a4d7..5bd74685a3e8c8eee90bfb22ecf1c40e6526ea6d 100644 (file)
@@ -25,9 +25,9 @@
 
 #include "basic.h"
 
 
 #include "basic.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 struct registered_structure_info {
     const char * name;
 
 struct registered_structure_info {
     const char * name;
@@ -86,8 +86,8 @@ public:
 extern const structure some_structure;
 extern const type_info & typeid_structure;
 
 extern const structure some_structure;
 extern const type_info & typeid_structure;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_STRUCTURE_H__
 
 #endif // ndef __GINAC_STRUCTURE_H__
index 223b8c70e2bf192c157a9560a4011a9e6b41ee8d..c7ec0b2701086f08b78bf9edb83dc57d4ea17dbc 100755 (executable)
@@ -150,9 +150,9 @@ ${input_structure}
 
 #include "structure.h"
 
 
 #include "structure.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 class ${STRUCTURE} : public structure
 {
 
 class ${STRUCTURE} : public structure
 {
@@ -217,9 +217,9 @@ extern const unsigned tinfo_${STRUCTURE};
 
 #define ex_to_${STRUCTURE}(X) (static_cast<${STRUCTURE} const &>(*(X).bp))
 
 
 #define ex_to_${STRUCTURE}(X) (static_cast<${STRUCTURE} const &>(*(X).bp))
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef _${STRUCTURE_UC}_H_
 
 
 #endif // ndef _${STRUCTURE_UC}_H_
 
@@ -258,9 +258,9 @@ ${input_structure}
 
 #include "${STRUCTURE}.h"
 
 
 #include "${STRUCTURE}.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
 
 //////////
 // default constructor, destructor, copy constructor assignment operator and helpers
@@ -514,9 +514,9 @@ const ${STRUCTURE} some_${STRUCTURE};
 const type_info & typeid_${STRUCTURE}=typeid(some_${STRUCTURE});
 const unsigned tinfo_${STRUCTURE}=structure::register_new("${STRUCTURE}");
 
 const type_info & typeid_${STRUCTURE}=typeid(some_${STRUCTURE});
 const unsigned tinfo_${STRUCTURE}=structure::register_new("${STRUCTURE}");
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 END_OF_IMPLEMENTATION
 
 
 END_OF_IMPLEMENTATION
 
index eb8e2546c8168e3f90fbf41b3974118576be307e..43927dc3a3192df4e2780440c9e701b7c3ec0066 100644 (file)
@@ -30,9 +30,9 @@
 #include "debugmsg.h"
 #include "utils.h"
 
 #include "debugmsg.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(symbol, basic)
 
 
 GINAC_IMPLEMENT_REGISTERED_CLASS(symbol, basic)
 
@@ -122,7 +122,7 @@ ex symbol::unarchive(const archive_node &n, const lst &sym_lst)
     ex s = (new symbol(n, sym_lst))->setflag(status_flags::dynallocated);
 
     // If symbol is in sym_lst, return the existing symbol
     ex s = (new symbol(n, sym_lst))->setflag(status_flags::dynallocated);
 
     // If symbol is in sym_lst, return the existing symbol
-    for (int i=0; i<sym_lst.nops(); i++) {
+    for (unsigned i=0; i<sym_lst.nops(); i++) {
         if (is_ex_of_type(sym_lst.op(i), symbol) && (ex_to_symbol(sym_lst.op(i)).name == ex_to_symbol(s).name))
             return sym_lst.op(i);
     }
         if (is_ex_of_type(sym_lst.op(i), symbol) && (ex_to_symbol(sym_lst.op(i)).name == ex_to_symbol(s).name))
             return sym_lst.op(i);
     }
@@ -354,6 +354,6 @@ symbol::assigned_ex_info::assigned_ex_info(void) : is_assigned(0), refcount(1)
 {
 }
 
 {
 }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index d9fab6a3af9911c80dcbdd32296c8e857cb91daf..13515c4730d4fe299548de03fad4ead42855df28 100644 (file)
@@ -27,9 +27,9 @@
 #include "basic.h"
 #include "ex.h"
 
 #include "basic.h"
 #include "ex.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Basic CAS symbol.  It has a name because it must know how to output itself.
  *  It may be assigned an expression, but this feature is only intended for
 
 /** Basic CAS symbol.  It has a name because it must know how to output itself.
  *  It may be assigned an expression, but this feature is only intended for
@@ -133,8 +133,8 @@ inline int degree(const symbol & a, const symbol & s)
 inline int ldegree(const symbol & a, const symbol & s)
 { return a.ldegree(s); }
 
 inline int ldegree(const symbol & a, const symbol & s)
 { return a.ldegree(s); }
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_SYMBOL_H__
 
 #endif // ndef __GINAC_SYMBOL_H__
index b60ce4bc226d9aad51ca6d4f43e1a89cd0223fd1..1a5678d910050df7e2d6f7a22ae6eed8c7fe7b47 100644 (file)
@@ -23,9 +23,9 @@
 #ifndef __GINAC_TINFOS_H__
 #define __GINAC_TINFOS_H__
 
 #ifndef __GINAC_TINFOS_H__
 #define __GINAC_TINFOS_H__
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 const unsigned TINFO_basic        = 0x00000001U;
 
 
 const unsigned TINFO_basic        = 0x00000001U;
 
@@ -70,8 +70,8 @@ const unsigned TINFO_idx          = 0x000d0001U;
 const unsigned TINFO_coloridx     = 0x000d1001U;
 const unsigned TINFO_lorentzidx   = 0x000d1002U;
 
 const unsigned TINFO_coloridx     = 0x000d1001U;
 const unsigned TINFO_lorentzidx   = 0x000d1002U;
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_TINFOS_H__
 
 #endif // ndef __GINAC_TINFOS_H__
index d54c046a547629b86bfd972419690f450f14db03..f82addff4328eceffab6fe3d9d522096f7f80cac 100644 (file)
@@ -25,9 +25,9 @@
 #include "numeric.h"
 #include "utils.h"
 
 #include "numeric.h"
 #include "utils.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 /** Integer binary logarithm */
 unsigned log2(unsigned n)
 
 /** Integer binary logarithm */
 unsigned log2(unsigned n)
@@ -786,6 +786,6 @@ const ex & _ex120(void)
 // none
 
 
 // none
 
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
index 4af88ebada3e0258ea7939a39dfcfd5f6ce5e9e6..755881a1f787b180ea6d1169cc67689e3c3b0c2a 100644 (file)
@@ -29,9 +29,9 @@
 #include "config.h"
 #include "assertion.h"
 
 #include "config.h"
 #include "assertion.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 template<class T>
 string ToString(T const & t)
 
 template<class T>
 string ToString(T const & t)
@@ -242,8 +242,8 @@ const ex & _ex60(void);
 const numeric & _num120(void);    //  120
 const ex & _ex120(void);
 
 const numeric & _num120(void);    //  120
 const ex & _ex120(void);
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_UTILS_H__
 
 #endif // ndef __GINAC_UTILS_H__
index bb1c9d77089fc2e42af4b2e045a1904f6198cf54..d82d2651407fb658b93a01267cae3e1d9a166468 100644 (file)
@@ -70,6 +70,7 @@ DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
 DOXYGEN = @DOXYGEN@
 DVIPS = @DVIPS@
 FIG2DEV = @FIG2DEV@
+GINACCINTDIR = @GINACCINTDIR@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
 GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
 GINACLIB_CPPFLAGS = @GINACLIB_CPPFLAGS@
 GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
@@ -82,6 +83,7 @@ GINSH_LIBS = @GINSH_LIBS@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
 LATEX = @LATEX@
 LD = @LD@
 LEX = @LEX@
+LIBGINACCINT = @LIBGINACCINT@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 LT_AGE = @LT_AGE@
@@ -314,7 +316,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index 6199676cc5b3b561bc294638bc5777b041c9ca82..9df41f777263cddcaf9c6bdeb0f5305e6af93549 100644 (file)
@@ -439,7 +439,7 @@ Christian Bauer <Christian.Bauer@uni-mainz.de>
 .br
 Alexander Frink <Alexander.Frink@uni-mainz.de>
 .br
 .br
 Alexander Frink <Alexander.Frink@uni-mainz.de>
 .br
-Richard B. Kreckel <Richard.Kreckel@uni-mainz.de>
+Richard Kreckel <Richard.Kreckel@uni-mainz.de>
 .SH SEE ALSO
 GiNaC Tutorial \- An open framework for symbolic computation within the
 C++ programming language
 .SH SEE ALSO
 GiNaC Tutorial \- An open framework for symbolic computation within the
 C++ programming language
index 735d4b96a3a4341610f3788f83135583dde0e31f..e4bb52dc757f0e13020b7296adea79f7393aff9e 100644 (file)
@@ -43,9 +43,9 @@ extern "C" {
 
 #include "ginac.h"
 
 
 #include "ginac.h"
 
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 using namespace GiNaC;
 using namespace GiNaC;
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 
 // yacc stack type
 #define YYSTYPE ex
 
 // yacc stack type
 #define YYSTYPE ex
index 7a94f1f8e3a13b78022fc25b84cf2e4bd198b2b1..265d584ef152f78d97ea3c5faa83600c5e89c122 100644 (file)
@@ -552,11 +552,11 @@ static ex f_ginac_function(const exprseq &es, int serial)
 }
 
 // All registered GiNaC functions
 }
 
 // All registered GiNaC functions
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
 void GiNaC::ginsh_get_ginac_functions(void)
 void GiNaC::ginsh_get_ginac_functions(void)
-#else // ndef NO_GINAC_NAMESPACE
+#else // ndef NO_NAMESPACE_GINAC
 void ginsh_get_ginac_functions(void)
 void ginsh_get_ginac_functions(void)
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
 {
        vector<registered_function_info>::const_iterator i = function::registered_functions().begin(), end = function::registered_functions().end();
        unsigned serial = 0;
 {
        vector<registered_function_info>::const_iterator i = function::registered_functions().begin(), end = function::registered_functions().end();
        unsigned serial = 0;