X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fidx.h;h=f00f2dd141a4c0c6a83c6deb1cb686db9fcbf9ec;hb=4ee761760b3db8649b8b616256cd7466fe2cd033;hp=13004fd4db8359e36d723b63225773a6b1ccff19;hpb=b66548802c56b34d6b212a0196d622937841ca61;p=ginac.git diff --git a/ginac/idx.h b/ginac/idx.h index 13004fd4..f00f2dd1 100644 --- a/ginac/idx.h +++ b/ginac/idx.h @@ -3,7 +3,7 @@ * Interface to GiNaC's indices. */ /* - * GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2008 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 @@ -17,7 +17,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __GINAC_IDX_H__ @@ -96,6 +96,7 @@ public: protected: void print_index(const print_context & c, unsigned level) const; void do_print(const print_context & c, unsigned level) const; + void do_print_csrc(const print_csrc & c, unsigned level) const; void do_print_latex(const print_latex & c, unsigned level) const; void do_print_tree(const print_tree & c, unsigned level) const; @@ -172,6 +173,8 @@ public: // functions overriding virtual functions from base classes public: bool is_dummy_pair_same_type(const basic & other) const; + // complex conjugation + ex conjugate() const { return toggle_dot(); } protected: bool match_same_type(const basic & other) const; @@ -205,24 +208,6 @@ protected: // utility functions -/** Specialization of is_exactly_a(obj) for idx objects. */ -template<> inline bool is_exactly_a(const basic & obj) -{ - return obj.tinfo()==TINFO_idx; -} - -/** Specialization of is_exactly_a(obj) for varidx objects. */ -template<> inline bool is_exactly_a(const basic & obj) -{ - return obj.tinfo()==TINFO_varidx; -} - -/** Specialization of is_exactly_a(obj) for spinidx objects. */ -template<> inline bool is_exactly_a(const basic & obj) -{ - return obj.tinfo()==TINFO_spinidx; -} - /** Check whether two indices form a dummy pair. */ bool is_dummy_pair(const idx & i1, const idx & i2);