最終更新日時(UTC):
が更新

履歴 編集

function
<random>

std::piecewise_linear_distribution::param(C++11)

param_type param() const;           // (1)
void param(const param_type& parm); // (2)

概要

  • (1) : 分布のパラメータを取得する
  • (2) : 分布のパラメータを設定する

#include <iostream>
#include <random>
#include <array>

int main()
{
  using dist_type = std::piecewise_linear_distribution<>;

  std::array<double, 3> intervals = {0.0, 0.5, 1.0};
  std::array<double, 3> densities = {0.0, 0.5, 0.0};
  dist_type dist(
    intervals.begin(),
    intervals.end(),
    densities.begin()
  );

  // (1) パラメータを取得
  {
    dist_type::param_type param = dist.param();
  }

  // (2) パラメータを設定
  {
    std::array<double, 3> intervals2 = {0.0, 1.0, 2.0};
    std::array<double, 3> densities2 = {0.0, 1.0, 1.0};

    dist_type::param_type param(
      intervals2.begin(),
      intervals2.end(),
      densities2.begin()
    );
    dist.param(param);
  }
}

出力

バージョン

言語

  • C++11

処理系

参照