GiNaCRA  0.6.4
UnivariateRepresentation.cpp
Go to the documentation of this file.
00001 /*
00002  * GiNaCRA - GiNaC Real Algebra package
00003  * Copyright (C) 2010-2012  Ulrich Loup, Joachim Redies, Sebastian Junges
00004  *
00005  * This file is part of GiNaCRA.
00006  *
00007  * GiNaCRA is free software: you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation, either version 3 of the License, or
00010  * (at your option) any later version.
00011  *
00012  * GiNaCRA is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with GiNaCRA.  If not, see <http://www.gnu.org/licenses/>.
00019  *
00020  */
00021 
00022 
00023 // #define GINACRA_INTERVALREPRESENTATION_DEBUG
00024 
00035 #include "UnivariateRepresentation.h"
00036 
00037 namespace GiNaC
00038 {
00039     // Call GiNaC macro (registrar.h) for completing the implementation into the basic type.
00040     GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(UnivariateRepresentation, basic, print_func<print_context>( &UnivariateRepresentation::do_print ))
00041 
00042     
00043     // Con- and destructors //
00045 
00047     // Selectors //
00049 
00051     // Methods from basic  //
00053 
00054     // // * @todo
00055     // int UnivariateRepresentation::compare_same_type(const basic & other) const
00056     // {
00057     //  UnivariateRepresentation o = static_cast<const UnivariateRepresentation &>(other);
00058     //  // the following is correct since always l <= r
00059     //  if(mInterval == o.mInterval)
00060     //      return 0;
00061     //  else if(mInterval <= o.mInterval)
00062     //      return -1;
00063     //  else if(mInterval >= o.mInterval)
00064     //      return 1;
00065     //  return 0;
00066     //  // return this->compare(other);
00067     // }
00068 
00069     // // * @todo
00070     // bool UnivariateRepresentation::is_equal_same_type(const basic & other)
00071     // {
00072     //  UnivariateRepresentation o = static_cast<const UnivariateRepresentation &>(other);
00073     //  return this->isEqual(o);
00074     // }
00075 
00076     // void UnivariateRepresentation::do_print(const print_context & c, unsigned level) const
00077     // {
00078     //  // print_context::s is a reference to an ostream
00079     //  c.s << '{' << static_cast<UnivariatePolynomial>(mPolynomial) << ": " << mInterval << '}';
00080     // }
00081 
00082     // ex UnivariateRepresentation::eval(int level) const
00083     // {
00084     //  // this->refine(); up to a certain bound ?
00085     //  return this->hold();
00086     // }
00087 
00088     
00089     // Operators //
00091 
00092     // arithmetic operators
00093 
00094     // relational operators
00095 
00096     // assignment operators
00097 
00098     // const UnivariateRepresentation& UnivariateRepresentation::operator=(const UnivariateRepresentation& o)
00099     // {
00100     //     mInterval = o.mInterval;
00101     //     mPolynomial = o.mPolynomial;
00102     //     mSturmSequence = o.mSturmSequence;
00103     //     mOrder = o.mOrder;
00104     //     return *this;
00105     // }
00106 
00107     
00108     // Operations //
00110 
00112     // Arithmetic Operations //
00114 
00116     // Relational Operations //
00118 
00120     // Static Methods //
00122 
00123 }    // namespace GiNaC
00124