]> www.ginac.de Git - ginac.git/blobdiff - ginac/utils.h
Adapted to new version 1.2.5.
[ginac.git] / ginac / utils.h
index b7d47c49bb747945c264ceea941729d74a30d71b..e278f36e67de26afc2f2223a358b6f1a1862870c 100644 (file)
@@ -4,7 +4,7 @@
  *  of any interest to the user of the library. */
 
 /*
- *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2001 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
@@ -105,11 +105,10 @@ inline unsigned golden_ratio_hash(unsigned n)
 }
 
 // modified from stl_algo.h: always do com(*first1,*first2) instead of comp(*first2,*first1)
-template <class InputIterator1, class InputIterator2, class OutputIterator,
-                 class Compare>
+template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
 OutputIterator mymerge(InputIterator1 first1, InputIterator1 last1,
-                                          InputIterator2 first2, InputIterator2 last2,
-                                          OutputIterator result, Compare comp) {
+                       InputIterator2 first2, InputIterator2 last2,
+                       OutputIterator result, Compare comp) {
        while (first1 != last1 && first2 != last2) {
                if (comp(*first1, *first2)) {
                        *result = *first1;
@@ -126,11 +125,11 @@ OutputIterator mymerge(InputIterator1 first1, InputIterator1 last1,
 
 // like merge(), but three lists with *last2<*first3
 template <class InputIterator1, class InputIterator2, class InputIterator3,
-                 class OutputIterator, class Compare>
+          class OutputIterator, class Compare>
 OutputIterator mymerge3(InputIterator1 first1, InputIterator1 last1,
-                                               InputIterator2 first2, InputIterator2 last2,
-                                               InputIterator3 first3, InputIterator3 last3,
-                                               OutputIterator result, Compare comp) {
+                        InputIterator2 first2, InputIterator2 last2,
+                        InputIterator3 first3, InputIterator3 last3,
+                        OutputIterator result, Compare comp) {
        while (first1 != last1 && first2 != last2) {
                if (comp(*first1, *first2)) {
                        *result = *first1;
@@ -172,6 +171,8 @@ int permutation_sign(std::vector<T> s)
        return sigma;
 }
 
+void append_exvector_to_exvector(exvector & dest, const exvector & source);
+
 // Collection of `construct on first use' wrappers for safely avoiding
 // internal object replication without running into the `static
 // initialization order fiasco'.  This chest of numbers helps speed up