uniform (連続)#

均一分布の乱数を生成します。

説明#

クラス・オブジェクトは、区間 [a, b) に均一に分布する乱数を生成するため generate 関数で使用されます。ここで、ab はそれぞれ区間の左境界と右境界であり、\(a, b \in R; a < b\) です。

確率密度関数は次のように表されます。

\[\begin{split}f_{a, b}(x) = \begin{cases} \frac{1}{b-a}, & x \in [a, b)\\ 1, & x \notin [a, b) \end{cases}, -\infty < x < +\infty\end{split}\]

累積分布関数は次のようになります。

\[\begin{split}F_{a, b}(x) = \begin{cases} 0, & x < a \\ \frac{x-a}{b-a}, & a \leq x < b \\ 1, & x \geq b \end{cases}, -\infty < x < +\infty\end{split}\]

API#

構文#

namespace oneapi::mkl::rng { 
  template<typename Type = float, 
           typename Method = uniform_method::by_default> 
  class uniform { 
  public: 
    using method_type = Method; 
    using result_type = Type; 

    uniform(): uniform(static_cast<Type>(0.0), static_cast<Type>(1.0)){} 
    explicit uniform(Type a, Type b); 
    explicit uniform(const param_type& pt); 

    Type a() const; 
    Type b() const; 
    param_type param() const; 
    void param(const param_type& pt); 
  }; 
}

サポートされるデバイス: CPU と GPU。

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

  • oneapi/mkl/rng.hpp

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

typename Type = float

生成された値のタイプ。固有の値は次のとおりです:

float

double

typename Method = oneapi::mkl::rng::uniform_method::by_default

生成メソッド。固有の値は次のとおりです: oneapi::mkl::rng::uniform_method::standard oneapi::mkl::rng::uniform_method::accurate

配布テンプレート・パラメーター・メソッドの説明を参照してください。

入力パラメーター#

名前

タイプ

説明

a

Type (float, double)

左境界 a

b

Type (float, double)

右境界 b