]> www.ginac.de Git - ginac.git/blobdiff - ginac/basic.h
added check for archiving system
[ginac.git] / ginac / basic.h
index e1325745c93cbb12212bb191b826b9712ad5c3dd..1f4a4fdc69039cf0ee530b693fbe822b0ae695dd 100644 (file)
@@ -114,10 +114,10 @@ public: // only const functions please (may break reference counting)
        virtual ex operator[](const ex & index) const;
        virtual ex operator[](int i) const;
        virtual bool has(const ex & other) const;
-       virtual int degree(const symbol & s) const;
-       virtual int ldegree(const symbol & s) const;
-       virtual ex coeff(const symbol & s, int n = 1) const;
-       virtual ex collect(const symbol & s) const;
+       virtual int degree(const ex & s) const;
+       virtual int ldegree(const ex & s) const;
+       virtual ex coeff(const ex & s, int n = 1) const;
+       virtual ex collect(const ex & s) const;
        virtual ex eval(int level = 0) const;
        virtual ex evalf(int level = 0) const;
        virtual ex series(const relational & r, int order, unsigned options = 0) const;
@@ -127,8 +127,12 @@ public: // only const functions please (may break reference counting)
        virtual numeric integer_content(void) const;
        virtual ex smod(const numeric &xi) const;
        virtual numeric max_coefficient(void) const;
-       virtual exvector get_indices(void) const;
+       virtual exvector get_free_indices(void) const;
        virtual ex simplify_ncmul(const exvector & v) const;
+       virtual ex eval_indexed(const basic & i) const;
+       virtual ex add_indexed(const ex & self, const ex & other) const;
+       virtual ex scalar_mul_indexed(const ex & self, const numeric & other) const;
+       virtual bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const;
 protected: // non-const functions should be called from class ex only
        virtual ex derivative(const symbol & s) const;
        virtual int compare_same_type(const basic & other) const;