Regina 7.0 Calculation Engine
Classes | Namespaces | Functions
laurent2.h File Reference

Implements Laurent polynomials in two variables over arbitrary rings. More...

#include "utilities/stringutils.h"
#include "utilities/tightencoding.h"
#include "core/output.h"
#include <iostream>
#include <map>

Classes

class  regina::Laurent2< T >
 Represents a Laurent polynomial in the two variables x, y with coefficients of type T. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 

Functions

template<typename T >
void regina::swap (Laurent2< T > &a, Laurent2< T > &b) noexcept
 Swaps the contents of the given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator* (Laurent2< T > poly, const typename Laurent2< T >::Coefficient &scalar)
 Multiplies the given polynomial by the given scalar constant. More...
 
template<typename T >
Laurent2< T > regina::operator* (const typename Laurent2< T >::Coefficient &scalar, Laurent2< T > poly)
 Multiplies the given polynomial by the given scalar constant. More...
 
template<typename T >
Laurent2< T > regina::operator/ (Laurent2< T > poly, const typename Laurent2< T >::Coefficient &scalar)
 Divides the given polynomial by the given scalar constant. More...
 
template<typename T >
Laurent2< T > regina::operator+ (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Adds the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator+ (Laurent2< T > &&lhs, const Laurent2< T > &rhs)
 Adds the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator+ (const Laurent2< T > &lhs, Laurent2< T > &&rhs)
 Adds the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator+ (Laurent2< T > &&lhs, Laurent2< T > &&rhs)
 Adds the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator- (Laurent2< T > arg)
 Returns the negative of the given polynomial. More...
 
template<typename T >
Laurent2< T > regina::operator- (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Subtracts the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator- (Laurent2< T > &&lhs, const Laurent2< T > &rhs)
 Subtracts the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator- (const Laurent2< T > &lhs, Laurent2< T > &&rhs)
 Subtracts the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator- (Laurent2< T > &&lhs, Laurent2< T > &&rhs)
 Subtracts the two given polynomials. More...
 
template<typename T >
Laurent2< T > regina::operator* (const Laurent2< T > &lhs, const Laurent2< T > &rhs)
 Multiplies the two given polynomials. More...
 

Detailed Description

Implements Laurent polynomials in two variables over arbitrary rings.


Copyright © 1999-2021, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).