RawSquareFreeTerm.h File Reference
`#include <ostream>`
`#include <algorithm>`
`#include <vector>`

Go to the source code of this file.

## Namespaces

namespace | SquareFreeTermOps

## Functions

bool | SquareFreeTermOps::isIdentity (const Word *a, Word *aEnd)
bool | SquareFreeTermOps::isIdentity (const Word *a, size_t varCount)
size_t | SquareFreeTermOps::getSizeOfSupport (const Word *a, size_t varCount)
size_t | SquareFreeTermOps::getWordCount (size_t varCount)
void | SquareFreeTermOps::compact (Word *compacted, const Word *term, const Word *remove, size_t varCount)
| For every variable var that divides remove, remove the space for that variable in term and put the result in compacted.
void | SquareFreeTermOps::setToIdentity (Word *res, const Word *resEnd)
void | SquareFreeTermOps::setToIdentity (Word *res, size_t varCount)
void | SquareFreeTermOps::setToAllVarProd (Word *res, size_t varCount)
| Sets all exponents of res to 1.
Word * | SquareFreeTermOps::newTerm (size_t varCount)
| Returns identity term of varCount variables.
Word * | SquareFreeTermOps::newTermParse (const char *str)
| Allocates and returns a term based on str.
void | SquareFreeTermOps::deleteTerm (Word *term)
| Deletes term previously returned by newTerm().
bool | SquareFreeTermOps::divides (const Word *a, const Word *aEnd, const Word *b)
| Returns true if a divides b.
bool | SquareFreeTermOps::lexLess (const Word *a, const Word *b, size_t varCount)
void | SquareFreeTermOps::colon (Word *res, const Word *resEnd, const Word *a, const Word *b)
void | SquareFreeTermOps::colonInPlace (Word *res, const Word *resEnd, const Word *b)
void | SquareFreeTermOps::assign (Word *a, const Word *aEnd, const Word *b)
void | SquareFreeTermOps::assign (Word *a, const Word *b, size_t varCount)
bool | SquareFreeTermOps::encodeTerm (Word *encoded, const Exponent *term, const size_t varCount)
| Assigns the RawSquareFreeTerm-encoded form of term to encoded and returns true if term is square free.
bool | SquareFreeTermOps::encodeTerm (Word *encoded, const std::vector< mpz_class > &term, const size_t varCount)
bool | SquareFreeTermOps::encodeTerm (Word *encoded, const std::vector< std::string > &term, const size_t varCount)
size_t | SquareFreeTermOps::getBitOffset (size_t var)
size_t | SquareFreeTermOps::getWordOffset (size_t var)
bool | SquareFreeTermOps::hasFullSupport (const Word *a, size_t varCount)
void | SquareFreeTermOps::lcm (Word *res, const Word *resEnd, const Word *a, const Word *b)
void | SquareFreeTermOps::lcm (Word *res, const Word *a, const Word *b, size_t varCount)
void | SquareFreeTermOps::lcmInPlace (Word *res, const Word *resEnd, const Word *a)
void | SquareFreeTermOps::lcmInPlace (Word *res, const Word *a, size_t varCount)
void | SquareFreeTermOps::gcd (Word *res, const Word *resEnd, const Word *a, const Word *b)
void | SquareFreeTermOps::gcd (Word *res, const Word *a, const Word *b, size_t varCount)
void | SquareFreeTermOps::gcdInPlace (Word *res, const Word *resEnd, const Word *a)
void | SquareFreeTermOps::gcdInPlace (Word *res, const Word *a, size_t varCount)
bool | SquareFreeTermOps::isRelativelyPrime (const Word *a, const Word *aEnd, const Word *b)
bool | SquareFreeTermOps::isRelativelyPrime (const Word *a, const Word *b, size_t varCount)
void | SquareFreeTermOps::setExponent (Word *a, size_t var, bool value)
bool | SquareFreeTermOps::getExponent (const Word *a, size_t var)
| returns true if var divides a and false otherwise.
void | SquareFreeTermOps::swap (Word *a, Word *b, size_t varCount)
void | SquareFreeTermOps::swap (Word *a, Word *aEnd, Word *b)
void | SquareFreeTermOps::invert (Word *a, size_t varCount)
| Make 0 exponents 1 and make 1 exponents 0.
size_t | SquareFreeTermOps::getVarIfPure (const Word *const a, size_t varCount)
| Returns var if a equals var.
void | SquareFreeTermOps::decrementAtSupport (const Word *a, size_t *inc, size_t varCount)
| For every variable var that divides a, decrement inc[var] by one.
void | SquareFreeTermOps::toZeroAtSupport (const Word *a, size_t *inc, size_t varCount)
| For every variable var that divides a, set inc[var] to zero.
bool | SquareFreeTermOps::equals (const Word *a, const Word *b, size_t varCount)
| Returns true if a equals b.
bool | SquareFreeTermOps::isValid (const Word *a, size_t varCount)
| The unused bits at the end of the last word must be zero for the functions here to work correctly.
void | SquareFreeTermOps::print (FILE *file, const Word *term, size_t varCount)
void | SquareFreeTermOps::print (ostream &out, const Word *term, size_t varCount)