atlas  0.6
Classes | Namespaces | Functions
bitvector.cpp File Reference
#include <algorithm>
#include <cassert>
#include <stdexcept>
#include "bitvector.h"
#include "../Atlas.h"
#include "comparison.h"
#include "constants.h"
#include "bitset.h"
#include "matrix.h"
Include dependency graph for bitvector.cpp:


struct  atlas::bitvector::FirstBit< dim >




template<size_t dim>
BitVector< dim > atlas::bitvector::combination (const std::vector< BitVector< dim > > &b, size_t n, const BitSet< dim > &e)
 Puts in |v| the linear combination of the elements of |b| given by |e|. More...
template<size_t dim>
BitSet< dim > atlas::bitvector::combination (const std::vector< BitSet< dim > > &b, const BitSet< dim > &coef)
 Returns the linear combination of the elements of |b| given by |coef|. More...
template<size_t dim>
bool atlas::bitvector::combination_exists (const std::vector< BitVector< dim > > &b, const BitVector< dim > &rhs, BitSet< dim > &c)
template<size_t dimsol, size_t dimeq>
bool atlas::bitvector::solvable (const std::vector< BitVector< dimeq > > &eqns, BitVector< dimsol > &sol)
 Either find a solution of the system of equations |eqn|, putting it into |sol| and returning |true|, or return |false| if no solution exists. More...
template<size_t dim>
void atlas::bitvector::identityMatrix (BitMatrix< dim > &m, size_t n)
 Puts in m the identity matrix in rank n. More...
template<size_t dim>
void atlas::bitvector::initBasis (std::vector< BitVector< dim > > &b, size_t n)
 Initializes b to the canonical basis in dimension n. More...
template<size_t dim>
void atlas::bitvector::Gauss_Jordan (BitSet< dim > &t, std::vector< BitVector< dim > > &b)
 Replaces |b| by the ordered canonical basis of the vector space $V$ it spans. Flags in |t| the set of coordinate positions associated to |b|. More...
template<size_t dim>
void atlas::bitvector::normalSpanAdd (std::vector< BitVector< dim > > &a, std::vector< size_t > &f, const BitVector< dim > &v)
template<size_t dim>
void atlas::bitvector::spanAdd (std::vector< BitVector< dim > > &a, std::vector< size_t > &f, const BitVector< dim > &v)
 Enlarges the basis |a| so as to span |v|. More...
template<size_t dim>
int_Vector atlas::bitvector::lift (const BitVector< dim > &v)
template SmallBitVector atlas::bitvector::combination (const std::vector< SmallBitVector > &b, size_t n, const BitSet< constants::RANK_MAX > &e)
template BitSet< constants::RANK_MAX > atlas::bitvector::combination (const std::vector< BitSet< constants::RANK_MAX > > &, const BitSet< constants::RANK_MAX > &)
template void atlas::bitvector::Gauss_Jordan (BitSet< constants::RANK_MAX > &t, std::vector< SmallBitVector > &b)
template bool atlas::bitvector::combination_exists (const std::vector< SmallBitVector > &b, const SmallBitVector &rhs, BitSet< constants::RANK_MAX > &c)
template bool atlas::bitvector::solvable (const std::vector< BitVector< constants::RANK_MAX+1 > > &eqns, SmallBitVector &sol)
template void atlas::bitvector::identityMatrix (BitMatrix< constants::RANK_MAX > &, size_t)
template void atlas::bitvector::initBasis (std::vector< SmallBitVector > &, size_t)
template int_Vector atlas::bitvector::lift (const SmallBitVector &v)
template void atlas::bitvector::initBasis< 64ul > (std::vector< BitVector< 64ul > > &b, size_t r)