HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.0
|
#include <array>
#include <cassert>
#include <cstdint>
#include <functional>
#include <iomanip>
#include <iostream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "hpcombi/perm16.hpp"
#include "timer.h"
Functions | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &out, const std::vector< T > &v) |
int | main () |
Variables | |
const Transf16 | a1 {1, 7, 2, 6, 0, 4, 1, 5} |
const Transf16 | a2 {2, 4, 6, 1, 4, 5, 2, 7} |
const Transf16 | a3 {3, 0, 7, 2, 4, 6, 2, 4} |
const Transf16 | a4 {3, 2, 3, 4, 5, 3, 0, 1} |
const Transf16 | a5 {4, 3, 7, 7, 4, 5, 0, 4} |
const Transf16 | a6 {5, 6, 3, 0, 3, 0, 5, 1} |
const Transf16 | a7 {6, 0, 1, 1, 1, 6, 3, 4} |
const Transf16 | a8 {7, 7, 4, 0, 6, 4, 1, 7} |
const array< Transf16, 8 > | gens {{a1, a2, a3, a4, a5, a6, a7, a8}} |
std::array< std::tuple< uint16_t, uint16_t, std::array< uint16_t, gens.size()> >, 65536 > | res |
int main | ( | ) |
std::ostream & operator<< | ( | std::ostream & | out, |
const std::vector< T > & | v | ||
) |
const Transf16 a1 {1, 7, 2, 6, 0, 4, 1, 5} |
const Transf16 a2 {2, 4, 6, 1, 4, 5, 2, 7} |
const Transf16 a3 {3, 0, 7, 2, 4, 6, 2, 4} |
const Transf16 a4 {3, 2, 3, 4, 5, 3, 0, 1} |
const Transf16 a5 {4, 3, 7, 7, 4, 5, 0, 4} |
const Transf16 a6 {5, 6, 3, 0, 3, 0, 5, 1} |
const Transf16 a7 {6, 0, 1, 1, 1, 6, 3, 4} |
const Transf16 a8 {7, 7, 4, 0, 6, 4, 1, 7} |
std::array<std::tuple<uint16_t, uint16_t, std::array<uint16_t, gens.size()> >, 65536> res |