glucat 0.13.0
index_set_imp.h File Reference
#include "glucat/index_set.h"
#include <string>
#include <sstream>
Include dependency graph for index_set_imp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  glucat
 

Functions

template<const index_t LO, const index_t HI>
auto glucat::operator^ (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) -> const index_set< LO, HI >
 Symmetric set difference: exclusive or.
 
template<const index_t LO, const index_t HI>
auto glucat::operator& (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) -> const index_set< LO, HI >
 Set intersection: and.
 
template<const index_t LO, const index_t HI>
auto glucat::operator| (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) -> const index_set< LO, HI >
 Set union: or.
 
template<const index_t LO, const index_t HI>
auto glucat::compare (const index_set< LO, HI > &a, const index_set< LO, HI > &b) -> int
 "lexicographic compare" eg. {3,4,5} is less than {3,7,8}
 
template<const index_t LO, const index_t HI>
auto glucat::operator<< (std::ostream &os, const index_set< LO, HI > &ist) -> std::ostream &
 Write out index set.
 
template<const index_t LO, const index_t HI>
auto glucat::operator>> (std::istream &s, index_set< LO, HI > &ist) -> std::istream &
 Read in index set.
 
static auto glucat::inverse_reversed_gray (unsigned long x) -> unsigned long
 Inverse reversed Gray code.
 
static auto glucat::inverse_gray (unsigned long x) -> unsigned long
 Inverse Gray code.
 
auto glucat::sign_of_square (index_t j) -> int
 Square of generator {j}.
 
template<const index_t LO, const index_t HI>
auto glucat::min_neg (const index_set< LO, HI > &ist) -> index_t
 Minimum negative index, or 0 if none.
 
template<const index_t LO, const index_t HI>
auto glucat::max_pos (const index_set< LO, HI > &ist) -> index_t
 Maximum positive index, or 0 if none.