X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Findexed.cpp;h=7dd2f0dae6f07c55392812634216974d0b05efa5;hp=2d6419d6fcb0d4cdc5878bfdd5a103fae1d7da72;hb=b5e7e31e6d33bbae4d635c27637c7e114b043735;hpb=6b3768e8c544739ae53321539cb4d1e3112ded1b;ds=sidebyside diff --git a/ginac/indexed.cpp b/ginac/indexed.cpp index 2d6419d6..7dd2f0da 100644 --- a/ginac/indexed.cpp +++ b/ginac/indexed.cpp @@ -2,9 +2,34 @@ * * 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 -#include "ginac.h" +#include "indexed.h" +#include "ex.h" +#include "idx.h" +#include "debugmsg.h" + +#ifndef NO_GINAC_NAMESPACE +namespace GiNaC { +#endif // ndef NO_GINAC_NAMESPACE ////////// // default constructor, destructor, copy constructor assignment operator and helpers @@ -15,7 +40,7 @@ indexed::indexed() { debugmsg("indexed default constructor",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; + tinfo_key=TINFO_indexed; } indexed::~indexed() @@ -63,37 +88,45 @@ void indexed::destroy(bool call_parent) indexed::indexed(ex const & i1) : exprseq(i1) { debugmsg("indexed constructor from ex",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; - ASSERT(all_of_type_idx()); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); } indexed::indexed(ex const & i1, ex const & i2) : exprseq(i1,i2) { debugmsg("indexed constructor from ex,ex",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; - ASSERT(all_of_type_idx()); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); } indexed::indexed(ex const & i1, ex const & i2, ex const & i3) : exprseq(i1,i2,i3) { debugmsg("indexed constructor from ex,ex,ex",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; - ASSERT(all_of_type_idx()); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); +} + +indexed::indexed(ex const & i1, ex const & i2, ex const & i3, ex const & i4) + : exprseq(i1,i2,i3,i4) +{ + debugmsg("indexed constructor from ex,ex,ex,ex",LOGLEVEL_CONSTRUCT); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); } indexed::indexed(exvector const & iv) : exprseq(iv) { debugmsg("indexed constructor from exvector",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; - ASSERT(all_of_type_idx()); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); } indexed::indexed(exvector * ivp) : exprseq(ivp) { debugmsg("indexed constructor from exvector *",LOGLEVEL_CONSTRUCT); - tinfo_key=TINFO_INDEXED; - ASSERT(all_of_type_idx()); + tinfo_key=TINFO_indexed; + GINAC_ASSERT(all_of_type_idx()); } ////////// @@ -165,13 +198,13 @@ exvector indexed::get_indices(void) const int indexed::compare_same_type(basic const & other) const { - ASSERT(is_of_type(other,indexed)); + GINAC_ASSERT(is_of_type(other,indexed)); return exprseq::compare_same_type(other); } bool indexed::is_equal_same_type(basic const & other) const { - ASSERT(is_of_type(other,indexed)); + GINAC_ASSERT(is_of_type(other,indexed)); return exprseq::is_equal_same_type(other); } @@ -269,3 +302,6 @@ bool indexed::all_of_type_idx(void) const const indexed some_indexed; type_info const & typeid_indexed=typeid(some_indexed); +#ifndef NO_GINAC_NAMESPACE +} // namespace GiNaC +#endif // ndef NO_GINAC_NAMESPACE