DOXYGEN = @DOXYGEN@
DVIPS = @DVIPS@
FIG2DEV = @FIG2DEV@
+GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
+GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
+GINACLIB_MAJOR_VERSION = @GINACLIB_MAJOR_VERSION@
+GINACLIB_MICRO_VERSION = @GINACLIB_MICRO_VERSION@
+GINACLIB_MINOR_VERSION = @GINACLIB_MINOR_VERSION@
+GINACLIB_VERSION = @GINACLIB_VERSION@
JADE = @JADE@
JADETEX = @JADETEX@
LATEX = @LATEX@
LEX = @LEX@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINDEX = @MAKEINDEX@
MAKEINFO = @MAKEINFO@
-// check/check.h
+/** @file check.h
+ *
+ * Prototypes for all individual checks.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#ifndef CHECK_H
#define CHECK_H
-// check/differentiation.cpp
-
-/* Tests for symbolic differentiation, including various functions. */
+/** @file differentiation.cpp
+ *
+ * Tests for symbolic differentiation, including various functions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/expand_subs.cpp
-
-/* The first test routine implements Denny Fliegner's quick consistency check:
+/** @file expand_subs.cpp
+ *
+ * The first test routine implements Denny Fliegner's quick consistency check:
* e = (a0 + a1 + a2 + a3 + ...)^2
* expand e
* substitute a0 by (-a2 - a3 - ...) in e
* expand e
- * after which e should be just a1^2.
- * In addition, a simpler modification is tested in the second test:
+ * after which e should be just a1^2.
+ * In addition, a simpler modification is tested in the second test:
* e = (a0 + a1)^200
* expand e
* substitute a0 by -a1 in e
- * after which e should return 0 (without expanding). */
+ * after which e should return 0 (without expanding).
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
#include <ginac/ginac.h>
-// check/fcntimer.cpp
+/** @file fcntimer.cpp
+ *
+ * Function execution timer.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
#include <stdio.h>
#include <sys/resource.h>
-// check/inifcns_consist.cpp
-
-/* This test routine applies assorted tests on initially known higher level
- * functions. */
+/** @file inifcns_consist.cpp
+ *
+ * This test routine applies assorted tests on initially known higher level
+ * functions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/lsolve_onedim.cpp
-
-/* This test routine does some simple checks on solving a polynomial for a
- * variable. */
+/** @file lsolve_onedim.cpp
+ *
+ * This test routine does some simple checks on solving a polynomial for a
+ * variable.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/main.cpp
+/** @file main.cpp
+ *
+ * Main program that calls all individual tests.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
#include <ginac/ginac.h>
-// check/matrix_checks.cpp
-
-/* Here we test manipulations on GiNaC's symbolic matrices. */
+/** @file matrix_checks.cpp
+ *
+ * Here we test manipulations on GiNaC's symbolic matrices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
#include <ginac/ginac.h>
-// check/normalization.cpp
-
-/* Rational function normalization test-suite. */
+/** @file normalization.cpp
+ *
+ * Rational function normalization test suite.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/numeric_consist.cpp
-
-/* This test routine creates some numbers and check the result of several
- * boolean tests on these numbers like is_integer() etc... */
+/** @file numeric_consist.cpp
+ *
+ * This test routine creates some numbers and check the result of several
+ * boolean tests on these numbers like is_integer() etc...
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdlib.h>
#include <ginac/ginac.h>
-// check/numeric_output.cpp
+/** @file numeric_output.cpp
+ *
+ * Test output of numeric types.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/paranoia_check.cpp
-
-/* This set of tests checks for some of GiNaC's oopses which showed up during
- * development. Things were evaluated wrongly and so. It should not find such
- * a sick behaviour again. But since we are paranoic and we want to exclude
- * that behaviour for good... */
+/** @file paranoia_check.cpp
+ *
+ * This set of tests checks for some of GiNaC's oopses which showed up during
+ * development. Things were evaluated wrongly and so. It should not find such
+ * a sick behaviour again. But since we are paranoic and we want to exclude
+ * that behaviour for good...
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/poly_gcd.cpp
-
-/* Some test with polynomial GCD calculations. See also the checks for
- * rational function normalization in normalization.cpp. */
+/** @file poly_gcd.cpp
+ *
+ * Some test with polynomial GCD calculations. See also the checks for
+ * rational function normalization in normalization.cpp.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/powerlaws.cpp
-
-/* Tests for power laws. You shouldn't try to draw much inspiration from
- * this code, it is a sanity check rather deeply rooted in GiNaC's classes. */
+/** @file powerlaws.cpp
+ *
+ * Tests for power laws. You shouldn't try to draw much inspiration from
+ * this code, it is a sanity check rather deeply rooted in GiNaC's classes.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
-// check/series_expansion.cpp
-
-/* Series expansion test (Laurent and Taylor series). */
+/** @file series_expansion.cpp
+ *
+ * Series expansion test (Laurent and Taylor series).
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <ginac/ginac.h>
DOXYGEN = @DOXYGEN@
DVIPS = @DVIPS@
FIG2DEV = @FIG2DEV@
+GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
+GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
+GINACLIB_MAJOR_VERSION = @GINACLIB_MAJOR_VERSION@
+GINACLIB_MICRO_VERSION = @GINACLIB_MICRO_VERSION@
+GINACLIB_MINOR_VERSION = @GINACLIB_MINOR_VERSION@
+GINACLIB_VERSION = @GINACLIB_VERSION@
JADE = @JADE@
JADETEX = @JADETEX@
LATEX = @LATEX@
LEX = @LEX@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINDEX = @MAKEINDEX@
MAKEINFO = @MAKEINFO@
clifford.cpp structure.cpp color.cpp indexed.cpp idx.cpp isospin.cpp \
exprseq_suppl.cpp lst.cpp lst_suppl.cpp simp_lor.cpp coloridx.cpp \
lorentzidx.cpp utils.h
+libginac_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE)
ginacincludedir = $(includedir)/ginac
ginacinclude_HEADERS = ginac.h add.h basic.h clifford.h color.h coloridx.h \
constant.h debugmsg.h ex.h expair.h expairseq.h exprseq.h fail.h flags.h \
DOXYGEN = @DOXYGEN@
DVIPS = @DVIPS@
FIG2DEV = @FIG2DEV@
+GINACLIB_BINARY_AGE = @GINACLIB_BINARY_AGE@
+GINACLIB_INTERFACE_AGE = @GINACLIB_INTERFACE_AGE@
+GINACLIB_MAJOR_VERSION = @GINACLIB_MAJOR_VERSION@
+GINACLIB_MICRO_VERSION = @GINACLIB_MICRO_VERSION@
+GINACLIB_MINOR_VERSION = @GINACLIB_MINOR_VERSION@
+GINACLIB_VERSION = @GINACLIB_VERSION@
JADE = @JADE@
JADETEX = @JADETEX@
LATEX = @LATEX@
LEX = @LEX@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINDEX = @MAKEINDEX@
MAKEINFO = @MAKEINFO@
clifford.cpp structure.cpp color.cpp indexed.cpp idx.cpp isospin.cpp \
exprseq_suppl.cpp lst.cpp lst_suppl.cpp simp_lor.cpp coloridx.cpp \
lorentzidx.cpp utils.h
+libginac_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE)
ginacincludedir = $(includedir)/ginac
ginacinclude_HEADERS = ginac.h add.h basic.h clifford.h color.h coloridx.h \
constant.h debugmsg.h ex.h expair.h expairseq.h exprseq.h fail.h flags.h \
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
-libginac_la_LDFLAGS =
libginac_la_LIBADD =
libginac_la_OBJECTS = add.lo basic.lo constant.lo diff.lo ex.lo \
expairseq.lo exprseq.lo fail.lo function.lo inifcns.lo inifcns_trans.lo \
/** @file add.cpp
*
- * Implementation of GiNaC's sums of expressions. */
+ * Implementation of GiNaC's sums of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <stdexcept>
/** @file add.h
*
- * Interface to GiNaC's sums of expressions. */
-
-#ifndef _ADD_H_
-#define _ADD_H_
+ * Interface to GiNaC's sums of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "expairseq.h"
+#ifndef __GINAC_ADD_H__
+#define __GINAC_ADD_H__
/** Sum of expressions. */
class add : public expairseq
#define ex_to_add(X) static_cast<add const &>(*(X).bp)
-#endif // ndef _ADD_H_
+#endif // ndef __GINAC_ADD_H__
/** @file basic.cpp
*
- * Implementation of GiNaC's ABC. */
+ * Implementation of GiNaC's ABC.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <typeinfo>
/** @file basic.h
*
- * Interface to GiNaC's ABC. */
+ * Interface to GiNaC's ABC.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _BASIC_H_
-#define _BASIC_H_
+#ifndef __GINAC_BASIC_H__
+#define __GINAC_BASIC_H__
#include <iostream>
#include <typeinfo>
#include <vector>
-#include "flags.h"
-#include "tinfos.h"
-#include "debugmsg.h"
-
class basic;
class ex;
class symbol;
#endif
}
-#endif // ndef _BASIC_H_
+#endif // ndef __GINAC_BASIC_H__
/** @file clifford.cpp
*
* Implementation of GiNaC's clifford objects.
- * No real implementation yet, to be done. */
+ * No real implementation yet, to be done.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
/** @file clifford.h
*
- * Interface to GiNaC's clifford objects. */
+ * Interface to GiNaC's clifford objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _CLIFFORD_H_
-#define _CLIFFORD_H_
+#ifndef __GINAC_CLIFFORD_H__
+#define __GINAC_CLIFFORD_H__
#include <string>
-class clifford;
-
-#include "indexed.h"
-
/** Base class for clifford object */
class clifford : public indexed
{
#define ex_to_clifford(X) static_cast<clifford const &>(*(X).bp)
-#endif // ndef _CLIFFORD_H_
+#endif // ndef __GINAC_CLIFFORD_H__
/** @file color.cpp
*
* Implementation of GiNaC's color objects.
- * No real implementation yet, to be done. */
+ * No real implementation yet, to be done.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <list>
/** @file color.h
*
- * Interface to GiNaC's color objects. */
+ * Interface to GiNaC's color objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _COLOR_H_
-#define _COLOR_H_
+#ifndef __GINAC_COLOR_H__
+#define __GINAC_COLOR_H__
#include <string>
#include <vector>
-class color;
-
-#include "indexed.h"
-
#define MAX_REPRESENTATION_LABELS 4
#define COLOR_EIGHT 8 // N*N-1
#define COLOR_THREE 3 // N
void append_exvector_to_exvector(exvector & dest, exvector const & source);
-#endif // ndef _COLOR_H_
+#endif // ndef __GINAC_COLOR_H__
/** @file coloridx.cpp
*
- * Implementation of GiNaC's color indices. */
+ * Implementation of GiNaC's color indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
/** @file coloridx.h
*
- * Interface to GiNaC's color indices. */
+ * Interface to GiNaC's color indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _COLORIDX_H_
-#define _COLORIDX_H_
+#ifndef __GINAC_COLORIDX_H__
+#define __GINAC_COLORIDX_H__
#include <string>
#include <vector>
-#include "idx.h"
-
class coloridx : public idx
{
friend class color;
#define ex_to_coloridx(X) (static_cast<coloridx const &>(*(X).bp))
-#endif // ndef _COLORIDX_H_
+#endif // ndef __GINAC_COLORIDX_H__
/** @file constant.cpp
*
- * Implementation of GiNaC's constant types and some special constants. */
+ * Implementation of GiNaC's constant types and some special constants.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <stdexcept>
/** @file constant.h
*
- * Interface to GiNaC's constant types and some special constants. */
+ * Interface to GiNaC's constant types and some special constants.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _CONSTANT_H_
-#define _CONSTANT_H_
+#ifndef __GINAC_CONSTANT_H__
+#define __GINAC_CONSTANT_H__
#include <string>
-class constant;
-
-#include "ex.h"
-#include "numeric.h"
-
/** This class holds constants, symbols with specific numerical value. Each
* object of this class must either provide their own function to evaluate it
* to class numeric or provide the constant as a numeric (if it's an exact
extern const constant Catalan;
extern const constant EulerGamma;
-#endif // ndef _CONSTANT_H_
+#endif // ndef __GINAC_CONSTANT_H__
* \$prepend=${prepend}
* \$let_op=${let_op}
* \$open_bracket=${open_bracket}
- * \$close_bracket=${close_bracket} */
+ * \$close_bracket=${close_bracket}
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _${CONTAINER_UC}_H_
-#define _${CONTAINER_UC}_H_
+#ifndef __GINAC_${CONTAINER_UC}_H__
+#define __GINAC_${CONTAINER_UC}_H__
#include <${STLHEADER}>
-
#include <ginac/ginac.h>
typedef ${STLHEADER}<ex> ${STLT};
#define ex_to_${CONTAINER}(X) (static_cast<${CONTAINER} const &>(*(X).bp))
-#endif // ndef _${CONTAINER_UC}_H_
+#endif // ndef __GINAC_${CONTAINER_UC}_H__
END_OF_INTERFACE
* \$prepend=${prepend}
* \$let_op=${let_op}
* \$open_bracket=${open_bracket}
- * \$close_bracket=${close_bracket} */
+ * \$close_bracket=${close_bracket}
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <stdexcept>
/** @file debugmsg.h
*
- * Utilities needed for debugging only. */
+ * Utilities needed for debugging only.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _DEBUGMSG_H_
-#define _DEBUGMSG_H_
+#ifndef __GINAC_DEBUGMSG_H__
+#define __GINAC_DEBUGMSG_H__
#ifdef _DEBUG
#define VERBOSE
#define ASSERT(X) ((void)0)
#endif
-#endif // ndef _DEBUGMSG_H_
-
+#endif // ndef __GINAC_DEBUGMSG_H__
/** @file diff.cpp
*
- * Implementation of symbolic differentiation in all of GiNaC's classes. */
+ * Implementation of symbolic differentiation in all of GiNaC's classes.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
/** @file ex.cpp
*
- * Implementation of GiNaC's light-weight expression handles. */
+ * Implementation of GiNaC's light-weight expression handles.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
/** @file ex.h
*
- * Interface to GiNaC's light-weight expression handles. */
+ * Interface to GiNaC's light-weight expression handles.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _EX_H_
-#define _EX_H_
+#ifndef __GINAC_EX_H__
+#define __GINAC_EX_H__
#include <iostream>
class expand_options;
class status_flags;
-#include "basic.h"
-#include "debugmsg.h"
-#include "flags.h"
-
class symbol;
class lst;
inline void swap(ex & e1, ex & e2)
{ e1.swap(e2); }
-#endif // ndef _EX_H_
+#endif // ndef __GINAC_EX_H__
-/** @file expair.h */
+/** @file expair.h
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
/** A pair of expressions.
* This similar to, but slightly extended STL's pair<> but we need to account
-/** @file expairseq.cpp */
+/** @file expairseq.cpp
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <algorithm>
#include <string>
-/** @file expairseq.h */
-
-#ifndef _EXPAIRSEQ_H_
-#define _EXPAIRSEQ_H_
+/** @file expairseq.h
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __GINAC_EXPAIRSEQ_H__
+#define __GINAC_EXPAIRSEQ_H__
#include <vector>
#include <list>
-class expairseq;
-
-#include "basic.h"
-#include "ex.h"
-#include "numeric.h"
-#include "debugmsg.h"
-#include "expair.h"
-
//#define EXPAIRSEQ_USE_HASHTAB
typedef vector<expair> epvector;
#define ex_to_expairseq(X) static_cast<expairseq const &>(*(X).bp)
-#endif // ndef _EXPAIRSEQ_H_
-
-
+#endif // ndef __GINAC_EXPAIRSEQ_H__
* $prepend=0
* $let_op=0
* $open_bracket=(
- * $close_bracket=) */
+ * $close_bracket=)
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <stdexcept>
* $prepend=0
* $let_op=0
* $open_bracket=(
- * $close_bracket=) */
+ * $close_bracket=)
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _EXPRSEQ_H_
-#define _EXPRSEQ_H_
+#ifndef __GINAC_EXPRSEQ_H__
+#define __GINAC_EXPRSEQ_H__
#include <vector>
-
#include <ginac/ginac.h>
typedef vector<ex> exvector;
#define ex_to_exprseq(X) (static_cast<exprseq const &>(*(X).bp))
-#endif // ndef _EXPRSEQ_H_
+#endif // ndef __GINAC_EXPRSEQ_H__
/** @file exprseq_suppl.cpp
*
* Supplement to exprseq.cpp, contains the parts which were
- * not automatically generated. */
+ * not automatically generated.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include "ginac.h"
/** @file fail.cpp
*
* Implementation of class signaling failure of operation. Considered
- * obsolete all this stuff ought to be replaced by exceptions. */
+ * obsolete all this stuff ought to be replaced by exceptions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include "ginac.h"
/** @file fail.h
*
* Interface to class signaling failure of operation. Considered obsolete all
- * this stuff ought to be replaced by exceptions. */
-
-#ifndef _FAIL_H_
-#define _FAIL_H_
-
-class fail;
+ * this stuff ought to be replaced by exceptions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "basic.h"
-#include "flags.h"
+#ifndef __GINAC_FAIL_H__
+#define __GINAC_FAIL_H__
class fail : public basic
{
-
// member functions
// default constructor, destructor, copy constructor assignment operator and helpers
extern const fail some_fail;
extern type_info const & typeid_fail;
-#endif // ndef _FAIL_H_
+#endif // ndef __GINAC_FAIL_H__
/** @file flags.h
*
- * Collection of all flags used through the GiNaC framework. */
+ * Collection of all flags used through the GiNaC framework.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _FLAGS_H_
-#define _FLAGS_H_
+#ifndef __GINAC_FLAGS_H__
+#define __GINAC_FLAGS_H__
class expand_options {
public:
};
};
-#endif // ndef _FLAGS_H_
+#endif // ndef __GINAC_FLAGS_H__
*
* This file was generated automatically by function.pl.
* Please do not modify it directly, edit the perl script instead!
- * function.pl options: $maxargs=10 */
+ * function.pl options: $maxargs=10
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <stdexcept>
*
* This file was generated automatically by function.pl.
* Please do not modify it directly, edit the perl script instead!
- * function.pl options: $maxargs=10 */
+ * function.pl options: $maxargs=10
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _FUNCTION_H_
-#define _FUNCTION_H_
+#ifndef __GINAC_FUNCTION_H__
+#define __GINAC_FUNCTION_H__
#include <string>
#include <vector>
-#include "config.h"
class function;
-#include "exprseq.h"
-
// the following lines have been generated for max. 10 parameters
#define DECLARE_FUNCTION_1P(NAME) \
extern unsigned function_index_##NAME; \
extern const function some_function;
extern type_info const & typeid_function;
-#endif // ndef _FUNCTION_H_
+#endif // ndef __GINAC_FUNCTION_H__
*
* This file was generated automatically by function.pl.
* Please do not modify it directly, edit the perl script instead!
- * function.pl options: \$maxargs=${maxargs} */
+ * function.pl options: \$maxargs=${maxargs}
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _FUNCTION_H_
-#define _FUNCTION_H_
+#ifndef __GINAC_FUNCTION_H__
+#define __GINAC_FUNCTION_H__
#include <string>
#include <vector>
-#include "config.h"
class function;
-#include "exprseq.h"
-
// the following lines have been generated for max. ${maxargs} parameters
$declare_function_macro
// end of generated lines
extern const function some_function;
extern type_info const & typeid_function;
-#endif // ndef _FUNCTION_H_
+#endif // ndef __GINAC_FUNCTION_H__
END_OF_INTERFACE
*
* This file was generated automatically by function.pl.
* Please do not modify it directly, edit the perl script instead!
- * function.pl options: \$maxargs=${maxargs} */
+ * function.pl options: \$maxargs=${maxargs}
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <stdexcept>
-/* ginac.h */
+/** @file ginac.h
+ *
+ * This include file includes all other public GiNaC headers.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#ifndef __GINAC_H__
#define __GINAC_H__
-#include <ginac/add.h>
+#include <ginac/flags.h>
+#include <ginac/tinfos.h>
+#include <ginac/debugmsg.h>
+
#include <ginac/basic.h>
-#include <ginac/constant.h>
+
#include <ginac/ex.h>
-#include <ginac/exprseq.h>
+#include <ginac/normal.h>
+
+#include <ginac/constant.h>
#include <ginac/fail.h>
-#include <ginac/function.h>
#include <ginac/idx.h>
-#include <ginac/inifcns.h>
#include <ginac/lst.h>
#include <ginac/matrix.h>
-#include <ginac/mul.h>
-#include <ginac/ncmul.h>
-#include <ginac/normal.h>
#include <ginac/numeric.h>
-#include <ginac/operators.h>
#include <ginac/power.h>
-#include <ginac/series.h>
-#include <ginac/symbol.h>
+#include <ginac/relational.h>
#include <ginac/structure.h>
+#include <ginac/symbol.h>
+
+#include <ginac/expair.h>
+#include <ginac/expairseq.h>
+#include <ginac/add.h>
+#include <ginac/mul.h>
+#include <ginac/series.h>
+
+#include <ginac/exprseq.h>
+#include <ginac/function.h>
+#include <ginac/ncmul.h>
+
+#include <ginac/inifcns.h>
+#include <ginac/operators.h>
#ifndef GINAC_BASE_ONLY
+#include <ginac/indexed.h>
#include <ginac/clifford.h>
#include <ginac/coloridx.h>
#include <ginac/color.h>
/** @file idx.cpp
*
- * Implementation of GiNaC's indices. */
+ * Implementation of GiNaC's indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
/** @file idx.h
*
- * Interface to GiNaC's indices. */
+ * Interface to GiNaC's indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _IDX_H_
-#define _IDX_H_
+#ifndef __GINAC_IDX_H__
+#define __GINAC_IDX_H__
#include <string>
#include <vector>
-#include "basic.h"
-
class idx : public basic
{
// member functions
exvector const & idxv_co);
unsigned count_index(ex const & e, ex const & i);
-#endif // ndef _IDX_H_
+#endif // ndef __GINAC_IDX_H__
/** @file indexed.cpp
*
- * Implementation of GiNaC's index carrying objects. */
+ * Implementation of GiNaC's index carrying objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
/** @file indexed.h
*
- * Interface to GiNaC's index carrying objects. */
+ * Interface to GiNaC's index carrying objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _INDEXED_H_
-#define _INDEXED_H_
+#ifndef __GINAC_INDEXED_H__
+#define __GINAC_INDEXED_H__
#include <string>
-class indexed;
-
-#include "exprseq.h"
-#include "idx.h"
-
/** Base class for non-commutative indexed objects */
class indexed : public exprseq
{
#define ex_to_indexed(X) static_cast<indexed const &>(*(X).bp)
-#endif // ndef _INDEXED_H_
+#endif // ndef __GINAC_INDEXED_H__
/** @file inifcns.cpp
*
- * Implementation of GiNaC's initially known functions. */
+ * Implementation of GiNaC's initially known functions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <stdexcept>
/** @file inifcns.h
*
- * Interface to GiNaC's initially known functions. */
-
-#ifndef _INIFCNS_H_
-#define _INIFCNS_H_
+ * Interface to GiNaC's initially known functions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "numeric.h"
-#include "function.h"
+#ifndef __GINAC_INIFCNS_H__
+#define __GINAC_INIFCNS_H__
/** Sine. */
DECLARE_FUNCTION_1P(sin)
return is_ex_the_function(e, Order);
}
-#endif // ndef _INIFCNS_H_
+#endif // ndef __GINAC_INIFCNS_H__
/** @file inifcns_gamma.cpp
*
- * Implementation of Gamma function and some related stuff. */
+ * Implementation of Gamma function and some related stuff.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <stdexcept>
/** @file inifcns_trans.cpp
*
* Implementation of transcendental (and trigonometric and hyperbolic)
- * functions. */
+ * functions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <stdexcept>
/** @file isospin.cpp
*
* Implementation of GiNaC's isospin objects.
- * No real implementation yet, to be done. */
+ * No real implementation yet, to be done.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
/** @file isospin.h
*
- * Interface to GiNaC's isospin objects. */
+ * Interface to GiNaC's isospin objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _ISOSPIN_H_
-#define _ISOSPIN_H_
+#ifndef __GINAC_ISOSPIN_H__
+#define __GINAC_ISOSPIN_H__
#include <string>
-class isospin;
-
-#include "indexed.h"
-
/** Base class for isospin object */
class isospin : public indexed
{
#define ex_to_isospin(X) static_cast<isospin const &>(*(X).bp)
-#endif // ndef _ISOSPIN_H_
+#endif // ndef __GINAC_ISOSPIN_H__
/** @file lorentzidx.cpp
*
- * Implementation of GiNaC's lorentz indices. */
+ * Implementation of GiNaC's lorentz indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
/** @file lorentzidx.h
*
- * Interface to GiNaC's lorentz indices. */
+ * Interface to GiNaC's lorentz indices.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _LORENTZIDX_H_
-#define _LORENTZIDX_H_
+#ifndef __GINAC_LORENTZIDX_H__
+#define __GINAC_LORENTZIDX_H__
#include <string>
#include <vector>
-#include "idx.h"
-
class lorentzidx : public idx
{
friend class simp_lor;
#define ex_to_lorentzidx(X) (static_cast<lorentzidx const &>(*(X).bp))
-#endif // ndef _LORENTZIDX_H_
+#endif // ndef __GINAC_LORENTZIDX_H__
* $prepend=1
* $let_op=1
* $open_bracket=[
- * $close_bracket=] */
+ * $close_bracket=]
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <stdexcept>
* $prepend=1
* $let_op=1
* $open_bracket=[
- * $close_bracket=] */
+ * $close_bracket=]
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _LST_H_
-#define _LST_H_
+#ifndef __GINAC_LST_H__
+#define __GINAC_LST_H__
#include <list>
-
#include <ginac/ginac.h>
typedef list<ex> exlist;
#define ex_to_lst(X) (static_cast<lst const &>(*(X).bp))
-#endif // ndef _LST_H_
+#endif // ndef __GINAC_LST_H__
/** @file lst_suppl.cpp
*
* Supplement to lst.cpp, contains the parts which were
- * not automatically generated. */
+ * not automatically generated.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include "ginac.h"
/** @file matrix.cpp
*
- * Implementation of symbolic matrices */
+ * Implementation of symbolic matrices
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <algorithm>
#include <stdexcept>
/** @file matrix.h
*
- * Interface to symbolic matrices */
+ * Interface to symbolic matrices
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _MATRIX_H_
-#define _MATRIX_H_
+#ifndef __GINAC_MATRIX_H__
+#define __GINAC_MATRIX_H__
-#include "basic.h"
-#include "ex.h"
#include <vector>
/** Symbolic matrices. */
#define ex_to_matrix(X) (static_cast<matrix const &>(*(X).bp))
-#endif // ndef _MATRIX_H_
+#endif // ndef __GINAC_MATRIX_H__
/** @file mul.cpp
*
- * Implementation of GiNaC's products of expressions. */
+ * Implementation of GiNaC's products of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <stdexcept>
/** @file mul.h
*
- * Interface to GiNaC's products of expressions. */
+ * Interface to GiNaC's products of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _MUL_H_
-#define _MUL_H_
+#ifndef __GINAC_MUL_H__
+#define __GINAC_MUL_H__
class mul;
-#include "expairseq.h"
-
/** Product of expressions. */
class mul : public expairseq
{
#define ex_to_mul(X) static_cast<mul const &>(*(X).bp)
-#endif // ndef _MUL_H_
+#endif // ndef __GINAC_MUL_H__
/** @file ncmul.cpp
*
- * Implementation of GiNaC's non-commutative products of expressions. */
+ * Implementation of GiNaC's non-commutative products of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <algorithm>
#include <iostream>
/** @file ncmul.h
*
- * Interface to GiNaC's non-commutative products of expressions. */
-
-#ifndef _NCMUL_H_
-#define _NCMUL_H_
-
-#include "exprseq.h"
+ * Interface to GiNaC's non-commutative products of expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-class ncmul;
+#ifndef __GINAC_NCMUL_H__
+#define __GINAC_NCMUL_H__
/** Non-commutative product of expressions. */
class ncmul : public exprseq
#define ex_to_ncmul(X) static_cast<ncmul const &>(*(X).bp)
-#endif // ndef _NCMUL_H_
+#endif // ndef __GINAC_NCMUL_H__
* multivariate polynomials and rational functions.
* These functions include polynomial quotient and remainder, GCD and LCM
* computation, square-free factorization and rational function normalization.
+
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdexcept>
/** @file normal.h
*
* Functions for polynomial quotient and remainder, GCD and LCM computation
- * and square-free factorization. */
+ * and square-free factorization.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#ifndef NORMAL_H
#define NORMAL_H
-#include "ex.h"
-
-class symbol;
-
-
// Quotient q(x) of polynomials a(x) and b(x) in Q[x], so that a(x)=b(x)*q(x)+r(x)
extern ex quo(const ex &a, const ex &b, const symbol &x, bool check_args = true);
* Its most important design principle is to completely hide the inner
* working of that other package from the user of GiNaC. It must either
* provide implementation of arithmetic operators and numerical evaluation
- * of special functions or implement the interface to the bignum package. */
+ * of special functions or implement the interface to the bignum package.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <stdexcept>
#include "ginac.h"
+#include "config.h"
// CLN should not pollute the global namespace, hence we include it here
// instead of in some header file where it would propagate to other parts:
/** @file numeric.h
*
- * Makes the interface to the underlying bignum package available. */
+ * Makes the interface to the underlying bignum package available.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _NUMERIC_H_
-#define _NUMERIC_H_
+#ifndef __GINAC_NUMERIC_H__
+#define __GINAC_NUMERIC_H__
#include <strstream>
#define HASHVALUE_NUMERIC 0x80000001U
-class numeric; // Forward declaration, so basic doesn't argue...
class cl_N; // We want to include cln.h only in numeric.cpp in order to
// avoid namespace pollution and keep compile-time low.
-#include "basic.h"
/** This class is used to instantiate a global object Digits which
* behaves just like Maple's Digits. We need an object rather than a
#define ex_to_numeric(X) static_cast<numeric const &>(*(X).bp)
-#endif // ndef _NUMERIC_H_
+#endif // ndef __GINAC_NUMERIC_H__
/** @file operators.cpp
*
- * Implementation of GiNaC's overloaded operators. */
+ * Implementation of GiNaC's overloaded operators.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <stdexcept>
/** @file operators.h
*
- * Interface to GiNaC's overloaded operators. */
+ * Interface to GiNaC's overloaded operators.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _OPERATORS_H_
-#define _OPERATORS_H_
+#ifndef __GINAC_OPERATORS_H__
+#define __GINAC_OPERATORS_H__
#include <iostream>
-#include "basic.h"
-#include "ex.h"
-#include "numeric.h"
-#include "relational.h"
-
// binary arithmetic operators ex with ex
ex operator+(ex const & lh, ex const & rh);
ostream & operator<<(ostream & os, ex const & e);
istream & operator>>(istream & is, ex & e);
-#endif // ndef _OPERATORS_H_
-
+#endif // ndef __GINAC_OPERATORS_H__
/** @file power.cpp
*
- * Implementation of GiNaC's symbolic exponentiation (basis^exponent). */
+ * Implementation of GiNaC's symbolic exponentiation (basis^exponent).
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <vector>
#include <iostream>
/** @file power.h
*
- * Interface to GiNaC's symbolic exponentiation (basis^exponent). */
+ * Interface to GiNaC's symbolic exponentiation (basis^exponent).
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _POWER_H_
-#define _POWER_H_
+#ifndef __GINAC_POWER_H__
+#define __GINAC_POWER_H__
class power;
class numeric;
inline ex sqrt(ex const & a)
{ return power(a,exHALF()); }
-#endif // ndef _POWER_H_
+#endif // ndef __GINAC_POWER_H__
/** @file print.cpp
*
* The methods .print() are responsible for the nice default-output of
- * objects. All related helper-functions go in here as well. */
+ * objects. All related helper-functions go in here as well.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
/** @file printcsrc.cpp
*
* The methods .printcsrc() are responsible for C-source output of
- * objects. All related helper-functions go in here as well. */
+ * objects. All related helper-functions go in here as well.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
/** @file printraw.cpp
*
* print in ugly raw format, so brave developers can have a look at the
- * underlying structure. */
+ * underlying structure.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
/* We are cheating here, because we don't want to include the underlying
* bignum package's headers again, so in this file we omit the definition of
/** @file printtree.cpp
*
* print in tree- (indented-) form, so developers can have a look at the
- * underlying structure. */
+ * underlying structure.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <iostream>
#include <math.h>
/** @file relational.cpp
*
- * Implementation of relations between expressions */
+ * Implementation of relations between expressions
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <stdexcept>
/** @file relational.h
*
- * Interface to relations between expressions. */
-
-#ifndef _RELATIONAL_H_
-#define _RELATIONAL_H_
-
-class relational;
+ * Interface to relations between expressions.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "basic.h"
+#ifndef __GINAC_RELATIONAL_H__
+#define __GINAC_RELATIONAL_H__
/** This class holds a relation consisting of two expressions and a logical
* relation between them. */
#define ex_to_relational(X) static_cast<relational const &>(*(X).bp)
-#endif // ndef _RELATIONAL_H_
+#endif // ndef __GINAC_RELATIONAL_H__
/** @file series.cpp
*
* Implementation of class for extended truncated power-series and
- * methods for series expansion. */
+ * methods for series expansion.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include "ginac.h"
/** @file series.h
*
- * Interface to class for extended truncated power series. */
-
-#ifndef _SERIES_H_
-#define _SERIES_H_
-
-#include "basic.h"
-#include "ex.h"
-#include "expairseq.h"
-#include "symbol.h"
+ * Interface to class for extended truncated power series.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifndef __GINAC_SERIES_H__
+#define __GINAC_SERIES_H__
/** This class holds a extended truncated power series (positive and negative
* integer powers). It consists of expression coefficients (only non-zero
#define ex_to_series(X) (static_cast<class series const &>(*(X).bp))
#define series_to_poly(X) (static_cast<series const &>(*(X).bp).convert_to_poly(true))
-#endif
+#endif // ndef __GINAC_SERIES_H__
/** @file simp_lor.cpp
*
* Implementation of GiNaC's simp_lor objects.
- * No real implementation yet, to be done. */
+ * No real implementation yet, to be done.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <list>
/** @file simp_lor.h
*
- * Interface to GiNaC's simp_lor objects. */
+ * Interface to GiNaC's simp_lor objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _SIMP_LOR_H_
-#define _SIMP_LOR_H_
+#ifndef _SIMP__GINAC_LOR_H__
+#define _SIMP__GINAC_LOR_H__
#include <string>
#include <vector>
#include <map>
#include <iostream>
-class simp_lor;
-
-#include "indexed.h"
-#include "lorentzidx.h"
-
typedef pair<string,string> strstrpair;
typedef pair<strstrpair,lorentzidx> spmapkey;
ex simplify_simp_lor(ex const & e, scalar_products const & sp);
ex Dim(void);
-#endif // ndef _SIMP_LOR_H_
+#endif // ndef _SIMP__GINAC_LOR_H__
/** @file structure.cpp
*
- * Implementation of 'abstract' class structure. */
+ * Implementation of 'abstract' class structure.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
/** @file structure.h
*
- * Interface to 'abstract' class structure. */
-
-#ifndef _STRUCTURE_H_
-#define _STRUCTURE_H_
-
-class structure;
+ * Interface to 'abstract' class structure.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "basic.h"
+#ifndef __GINAC_STRUCTURE_H__
+#define __GINAC_STRUCTURE_H__
struct registered_structure_info {
char const * name;
extern const structure some_structure;
extern type_info const & typeid_structure;
-#endif // ndef _STRUCTURE_H_
+#endif // ndef __GINAC_STRUCTURE_H__
* Definition of GiNaC's user defined structure ${STRUCTURE}.
* This file was generated automatically by structure.pl.
* Please do not modify it directly, edit the perl script instead!
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// structure.pl input:
${input_structure}
-#ifndef _${STRUCTURE_UC}_H_
-#define _${STRUCTURE_UC}_H_
+#ifndef __GINAC_${STRUCTURE_UC}_H__
+#define __GINAC_${STRUCTURE_UC}_H__
#include <ginac/ginac.h>
* Implementation of GiNaC's user defined structure ${STRUCTURE}.
* This file was generated automatically by STRUCTURE.pl.
* Please do not modify it directly, edit the perl script instead!
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// structure.pl input:
/** @file symbol.cpp
*
- * Implementation of GiNaC's symbolic objects. */
+ * Implementation of GiNaC's symbolic objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include <string>
#include <stdexcept>
/** @file symbol.h
*
- * Interface to GiNaC's symbolic objects. */
+ * Interface to GiNaC's symbolic objects.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _SYMBOL_H_
-#define _SYMBOL_H_
+#ifndef __GINAC_SYMBOL_H__
+#define __GINAC_SYMBOL_H__
#include <string>
-class symbol;
-
-#include "basic.h"
-#include "ex.h"
-
/** 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
* programs like 'ginsh' that want to associate symbols with expressions.
inline int ldegree(symbol const & a, symbol const & s)
{ return a.ldegree(s); }
-#endif // ndef _SYMBOL_H_
+#endif // ndef __GINAC_SYMBOL_H__
/** @file tinfos.h
*
- * Values for a do-it-yourself typeinfo scheme. */
+ * Values for a do-it-yourself typeinfo scheme.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _TINFOS_H_
-#define _TINFOS_H_
+#ifndef __GINAC_TINFOS_H__
+#define __GINAC_TINFOS_H__
#define TINFO_BASIC 0x00000001U
#define TINFO_COLORIDX 0x000d1001U
#define TINFO_LORENTZIDX 0x000d1002U
-#endif // ndef _TINFOS_H_
+#endif // ndef __GINAC_TINFOS_H__
/** @file utils.cpp
*
- * Implementation of several small and furry utilities. */
+ * Implementation of several small and furry utilities.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
unsigned log2(unsigned n)
{
/** @file utils.h
*
- * Interface to several small and furry utilities. */
+ * Interface to several small and furry utilities.
+ *
+ * GiNaC Copyright (C) 1999 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
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#ifndef _UTILS_H_
-#define _UTILS_H_
+#ifndef __GINAC_UTILS_H__
+#define __GINAC_UTILS_H__
#include <strstream>
#include <string>
}
}
-#endif // ndef _UTILS_H_
+#endif // ndef __GINAC_UTILS_H__