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

Implements single variable Laurent polynomials over arbitrary rings. More...

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

Classes

class  regina::Laurent< T >
 Represents a single-variable Laurent polynomial with coefficients of type T. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 

Functions

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

Detailed Description

Implements single variable Laurent polynomials 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).