Frobby  0.9.5
Namespaces | Functions
RawSquareFreeTerm.h File Reference
#include <ostream>
#include <algorithm>
#include <vector>

Go to the source code of this file.

Namespaces

 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. More...
 
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. More...
 
WordSquareFreeTermOps::newTerm (size_t varCount)
 Returns identity term of varCount variables. More...
 
WordSquareFreeTermOps::newTermParse (const char *str)
 Allocates and returns a term based on str. More...
 
void SquareFreeTermOps::deleteTerm (Word *term)
 Deletes term previously returned by newTerm(). More...
 
bool SquareFreeTermOps::divides (const Word *a, const Word *aEnd, const Word *b)
 Returns true if a divides b. More...
 
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. More...
 
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. More...
 
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. More...
 
size_t SquareFreeTermOps::getVarIfPure (const Word *const a, size_t varCount)
 Returns var if a equals var. More...
 
void SquareFreeTermOps::decrementAtSupport (const Word *a, size_t *inc, size_t varCount)
 For every variable var that divides a, decrement inc[var] by one. More...
 
void SquareFreeTermOps::toZeroAtSupport (const Word *a, size_t *inc, size_t varCount)
 For every variable var that divides a, set inc[var] to zero. More...
 
bool SquareFreeTermOps::equals (const Word *a, const Word *b, size_t varCount)
 Returns true if a equals b. More...
 
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. More...
 
void SquareFreeTermOps::print (FILE *file, const Word *term, size_t varCount)
 
void SquareFreeTermOps::print (ostream &out, const Word *term, size_t varCount)