AlVin  1.0
A C++ implementation of the Vinberg's algorithm for Q, Q( sqrt(d) ) and Q( cos(2 pi / 7) )
Public Member Functions | Public Attributes | List of all members
RationalInteger Class Reference

Rational integers. More...

#include <rationalinteger.h>

Inheritance diagram for RationalInteger:
Inheritance graph
[legend]
Collaboration diagram for RationalInteger:
Collaboration graph
[legend]

Public Member Functions

 RationalInteger (long int iVal)
 
 RationalInteger (const RationalInteger &ri)
 
AlgebraicIntegercopy () const
 Create a copy of an algebraic integer. More...
 
AlgebraicIntegeraiCopyToInteger (const int &n) const
 Create an algebraic integer from an integer. More...
 
virtual void set (const int &n)
 Assign an integer to the algebraic integer. More...
 
virtual void set (AlgebraicInteger *ai)
 Assign an algebraic integer to the algebraic integer. More...
 
virtual void removeSquareFactors ()
 Remove all the square factors of the algebraic integer.
 
virtual bool bIsInvertible () const
 Check whether the number is invertible. More...
 
virtual bool bIsSquareOfIvertible () const
 Check whether the number is the square of an invertible element. More...
 
virtual void gcd (const AlgebraicInteger *ai)
 *this becomes the gcd of *this and the parameter More...
 
virtual bool bIsDivisbleBy (const AlgebraicInteger *) const
 Check whether *this is divisible by the parameter. More...
 
virtual bool divideByIfDivisible (const AlgebraicInteger *ai)
 
virtual void divideBy (const AlgebraicInteger *ai)
 Performs the division of *this by the parameter Remark: we do not check that the *this is divisible by *ai. If it is not the case, the division will be an approximation! More...
 
virtual void multiplyBy (const int &n)
 Performs the multiplication of *this by the parameter. More...
 
virtual void multiplyBy (const AlgebraicInteger *ai)
 Performs the multiplication of *this by the parameter. More...
 
virtual void add (const AlgebraicInteger *ai)
 Performs the addition of *this by the parameter. More...
 
virtual void substract (const AlgebraicInteger *ai)
 Substracts the parameter from *this. More...
 
virtual void opp ()
 Computes the opp.
 
virtual bool bIsLessThan (const int &n) const
 Check whether *this < n.
 
virtual bool bIsLessThan (const AlgebraicInteger &ai) const
 Check whether *this < ai.
 
virtual bool bIsLessOEThan (const AlgebraicInteger &ai) const
 Check whether *this <= ai.
 
virtual bool bIsGreaterThan (const int &n) const
 Check whether *this > n.
 
virtual bool bIsGreaterOEThan (const int &n) const
 Check whether *this >= n.
 
virtual bool bIsEqualTo (const AlgebraicInteger &ai) const
 Check whether *this == ai.
 
virtual bool bIsEqualTo (const int &n) const
 Check whether *this == n.
 
ostream & print (ostream &) const
 Print the number.
 
virtual string to_string (const string &strFormat="generic", const bool &bProtect=false) const
 Convert to string. More...
 
virtual double to_double () const
 Convert to double (approximation)
 
virtual string get_classname () const
 Return the type (string)
 
long int get_iValue () const
 
RationalIntegeroperator= (const RationalInteger &)
 
RationalIntegeroperator/= (RationalInteger const &ri)
 
RationalIntegeroperator*= (RationalInteger const &ri)
 
RationalInteger operator- () const
 
RationalInteger operator+ (const RationalInteger &) const
 
RationalInteger operator* (const RationalInteger &) const
 
RationalInteger operator- (const RationalInteger &) const
 
bool operator== (const RationalInteger &) const
 
bool operator== (const long int &) const
 
bool operator> (const RationalInteger &) const
 
bool operator< (const RationalInteger &) const
 
- Public Member Functions inherited from AlgebraicInteger
bool operator== (const AlgebraicInteger &ai) const
 Check whether *this == ai.
 
bool operator!= (const int &n) const
 Check whether *this != n.
 
bool operator!= (const AlgebraicInteger &ai) const
 Check whether *this != ai.
 

Public Attributes

long int iVal
 

Detailed Description

Rational integers.

Member Function Documentation

void RationalInteger::add ( const AlgebraicInteger ai)
virtual

Performs the addition of *this by the parameter.

Parameters
ai(const AlgebraicInteger* ) Pointer to the summand

Implements AlgebraicInteger.

AlgebraicInteger * RationalInteger::aiCopyToInteger ( const int &  n) const
virtual

Create an algebraic integer from an integer.

Parameters
n(const int ): Integer
Returns
Pointer to the algebraic integer created

Implements AlgebraicInteger.

bool RationalInteger::bIsDivisbleBy ( const AlgebraicInteger ai) const
virtual

Check whether *this is divisible by the parameter.

Parameters
ai(const AlgebraicInteger* ) Pointer to the divisor
Returns
True if *this is divisible by the parameter

Implements AlgebraicInteger.

bool RationalInteger::bIsInvertible ( ) const
virtual

Check whether the number is invertible.

Returns
True if invertible or not

Implements AlgebraicInteger.

bool RationalInteger::bIsSquareOfIvertible ( ) const
virtual

Check whether the number is the square of an invertible element.

Returns
True if invertible or not

Implements AlgebraicInteger.

AlgebraicInteger * RationalInteger::copy ( ) const
virtual

Create a copy of an algebraic integer.

Returns
Pointer to the algebraic integer created

Implements AlgebraicInteger.

void RationalInteger::divideBy ( const AlgebraicInteger ai)
virtual

Performs the division of *this by the parameter Remark: we do not check that the *this is divisible by *ai. If it is not the case, the division will be an approximation!

Parameters
ai(const AlgebraicInteger* ) Pointer to the divisor

Implements AlgebraicInteger.

void RationalInteger::gcd ( const AlgebraicInteger ai)
virtual

*this becomes the gcd of *this and the parameter

Parameters
ai(const AlgebraicInteger* ) The other algebraic integer

Implements AlgebraicInteger.

void RationalInteger::multiplyBy ( const int &  n)
virtual

Performs the multiplication of *this by the parameter.

Parameters
ai(const AlgebraicInteger* ) Pointer to the multiplicand

Implements AlgebraicInteger.

void RationalInteger::multiplyBy ( const AlgebraicInteger ai)
virtual

Performs the multiplication of *this by the parameter.

Parameters
ai(const AlgebraicInteger* ) Pointer to the multiplicand

Implements AlgebraicInteger.

void RationalInteger::set ( const int &  n)
virtual

Assign an integer to the algebraic integer.

Parameters
n(const int& ) Integer

Implements AlgebraicInteger.

void RationalInteger::set ( AlgebraicInteger ai)
virtual

Assign an algebraic integer to the algebraic integer.

Parameters
ai(AlgebraicInteger* ) Pointer to the algebraic integer

Implements AlgebraicInteger.

void RationalInteger::substract ( const AlgebraicInteger ai)
virtual

Substracts the parameter from *this.

Parameters
ai(const AlgebraicInteger* ) Pointer to the subtrahend

Implements AlgebraicInteger.

string RationalInteger::to_string ( const string &  strFormat = "generic",
const bool &  bProtect = false 
) const
virtual

Convert to string.

Parameters
strFormat(const string& ): Format for the output; can be: generic, mathematica, pari, latex
bProtect(const bool& ): If true, avoid certain characters (for example if the string is used in for a file name)

Implements AlgebraicInteger.


The documentation for this class was generated from the following files: