Regina 7.4.1 Calculation Engine
polynomial.h File Reference

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

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

Classes

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

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.

Functions

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

Detailed Description

Implements single variable polynomials over arbitrary rings.