MTToolBox  0.2.10
名前空間 | 関数
util.hpp ファイル

ユーティリティ関数群 [詳解]

#include <iostream>
#include <iomanip>
#include <sstream>
#include <inttypes.h>
#include <stdint.h>
#include <stdexcept>
#include <NTL/GF2X.h>

[ソースコード]

名前空間

 MTToolBox
 MTToolBox の名前空間
 

関数

static int MTToolBox::count_bit (uint16_t x)
 1 の個数を数える [詳解]
 
static int MTToolBox::count_bit (uint32_t x)
 1 の個数を数える [詳解]
 
static int MTToolBox::count_bit (uint64_t x)
 1 の個数を数える [詳解]
 
static uint32_t MTToolBox::reverse_bit (uint32_t x)
 ビットを反転する [詳解]
 
static uint64_t MTToolBox::reverse_bit (uint64_t x)
 ビットを反転する [詳解]
 
template<typename T >
int MTToolBox::bit_size ()
 T のビットサイズを返す。 [詳解]
 
static void MTToolBox::UNUSED_VARIABLE (void *x)
 使用しない変数のワーニングを止める [詳解]
 
template<typename T >
MTToolBox::floor2p (T n)
 n を越えない最大の2のべき乗を返す。 [詳解]
 
static void MTToolBox::print_binary (std::ostream &os, NTL::GF2X &poly, bool breakline=true)
 出力ストリーム os に多項式 poly を01の文字列で出力する。 [詳解]
 
template<typename T >
int MTToolBox::get_range (T input, int start, int end)
 input を start と end の間の数に変換する。 [詳解]
 
template<typename T >
void MTToolBox::fill_table (T dist_tbl[], T src_tbl[], int size)
 GF(2)ベクトルのパラメータテーブルから、より高速で冗長なルックアップテーブルを作成する。 [詳解]
 
static int MTToolBox::calc_1pos (uint16_t x)
 入力をビット列とみなして最上位の1の位置を0とした最も右側の(下位の)1の位置を返す。 [詳解]
 
static int MTToolBox::calc_1pos (uint32_t x)
 入力をビット列とみなして最上位の1の位置を0とした最も右側の(下位の)1の位置を返す。 [詳解]
 
static int MTToolBox::calc_1pos (uint64_t x)
 入力をビット列とみなして最上位の1の位置を0とした最も右側の(下位の)1の位置を返す。 [詳解]
 
static void MTToolBox::LCM (NTL::GF2X &lcm, const NTL::GF2X &x, const NTL::GF2X &y)
 多項式の最小公倍数を求める。 [詳解]
 
template<typename U >
static void MTToolBox::toGF2Vec (NTL::vec_GF2 &result, U value)
 符号なし整数をGF(2)ベクトルに変換する。 上位ビットがベクトルの初めの要素になる。(デバッグの時見やすいように) [詳解]
 
template<typename U >
MTToolBox::getOne ()
 その型の1を返す SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 
template<typename U >
void MTToolBox::setZero (U &x)
 ゼロをセットする SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 
template<typename U >
unsigned int MTToolBox::getBitOfPos (U bits, int pos)
 特定位置のビットを求める SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 
template<typename U >
void MTToolBox::setBitOfPos (U *bits, int pos, unsigned int b)
 変数の指定位置のビットを1または0にセットする SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 
template<typename U >
static U MTToolBox::fromGF2Vec (NTL::vec_GF2 &value)
 GF(2)ベクトルを符号なし整数に変換する。 上位ビットがベクトルの初めの要素になる。(デバッグの時見やすいように) [詳解]
 
template<typename U >
bool MTToolBox::isZero (U x)
 ゼロかどうか、判定する。 SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 
template<typename U , typename V >
MTToolBox::convert (V x)
 V 型をU型に変換する SIMD型は、そのSIMD型のファイルでこのテンプレートを特殊化する。 [詳解]
 

詳解

ユーティリティ関数群

著者
Mutsuo Saito (Hiroshima University)
Makoto Matsumoto (Hiroshima University)

Copyright (C) 2013, 2016 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved.

The 3-clause BSD License is applied to this software, see LICENSE.txt