mcg31m1#

説明#

31 ビット乗法合同型疑似乱数生成器 MCG (1132489760, 232-1) [L’Ecuyer99a]

API#

構文#

namespace oneapi::mkl::rng::device { 
  template<std::int32_t VecSize = 1> 
  class mcg31m1 { 
  public: 
    static constexpr std::uint32_t default_seed = 1; 
    static constexpr std::int32_t vec_size = VecSize; 

    mcg31m1() : mcg31m1(default_seed) {} 
    mcg31m1(std::uint32_t seed, std::uint64_t offset = 0); 
    mcg31m1(std::initializer_list<std::uint32_t> seed, std::uint64_t offset = 0); 
    }; 
}

インクルード・ファイル#

  • oneapi/mkl/rng/device.hpp

テンプレート・パラメーター#

名前

タイプ

説明

VecSize

std::int32_t

このエンジンの生成関数によって生成されるベクトルのサイズを指定します。VecSize 値は、sycl::vec クラスサイズとして 1、2、3、4、8、16 になります。デフォルトでは VecSize = 1 です。この場合、generate 関数によって 1 つの乱数が返されます。

コンストラクターの入力パラメーター#

名前

タイプ

説明

seed

std::uint32_t std::initializer_list<std::uint32_t>

エンジン状態の初期条件。

offset

std::uint64_t

スキップされた要素の数。

詳細については VS ノートを参照してください。