X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fnormal.cpp;h=82fcaf848dd250ea14106dab40a9b0d87b40edf2;hb=8bcccf834ad41e94a1a4f3a0304c2945b228b4f4;hp=fe4eb3ccc6b3b6b2e1a8667c5b0a1c89ee2a6037;hpb=66c0f31c678e6c1938d637636b230ea376c157c1;p=ginac.git diff --git a/ginac/normal.cpp b/ginac/normal.cpp index fe4eb3cc..82fcaf84 100644 --- a/ginac/normal.cpp +++ b/ginac/normal.cpp @@ -4,8 +4,9 @@ * 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 @@ -24,6 +25,8 @@ */ #include +#include +#include #include "normal.h" #include "basic.h" @@ -43,6 +46,8 @@ #include "series.h" #include "symbol.h" +namespace GiNaC { + // If comparing expressions (ex::compare()) is fast, you can set this to 1. // Some routines like quo(), rem() and gcd() will then return a quick answer // when they are called with two identical arguments. @@ -81,8 +86,6 @@ static bool get_first_symbol(const ex &e, const symbol *&x) * Statistical information about symbols in polynomials */ -#include - /** This structure holds information about the highest and lowest degrees * in which a symbol appears in two multivariate polynomials "a" and "b". * A vector of these structures with information about all symbols in @@ -488,8 +491,6 @@ bool divide(const ex &a, const ex &b, ex &q, bool check_args) * Remembering */ -#include - typedef pair ex2; typedef pair exbool; @@ -907,7 +908,7 @@ ex basic::smod(const numeric &xi) const ex numeric::smod(const numeric &xi) const { - return ::smod(*this, xi); + return GiNaC::smod(*this, xi); } ex add::smod(const numeric &xi) const @@ -918,13 +919,13 @@ ex add::smod(const numeric &xi) const epvector::const_iterator itend = seq.end(); while (it != itend) { ASSERT(!is_ex_exactly_of_type(it->rest,numeric)); - numeric coeff = ::smod(ex_to_numeric(it->coeff), xi); + numeric coeff = GiNaC::smod(ex_to_numeric(it->coeff), xi); if (!coeff.is_zero()) newseq.push_back(expair(it->rest, coeff)); it++; } ASSERT(is_ex_exactly_of_type(overall_coeff,numeric)); - numeric coeff = ::smod(ex_to_numeric(overall_coeff), xi); + numeric coeff = GiNaC::smod(ex_to_numeric(overall_coeff), xi); return (new add(newseq,coeff))->setflag(status_flags::dynallocated); } @@ -940,7 +941,7 @@ ex mul::smod(const numeric &xi) const #endif // def DOASSERT mul * mulcopyp=new mul(*this); ASSERT(is_ex_exactly_of_type(overall_coeff,numeric)); - mulcopyp->overall_coeff=::smod(ex_to_numeric(overall_coeff),xi); + mulcopyp->overall_coeff = GiNaC::smod(ex_to_numeric(overall_coeff),xi); mulcopyp->clearflag(status_flags::evaluated); mulcopyp->clearflag(status_flags::hash_calculated); return mulcopyp->setflag(status_flags::dynallocated); @@ -1483,3 +1484,5 @@ ex ex::normal(int level) const else return e; } + +} // namespace GiNaC