Rustの統計分布の関数(statrs版)を使う~Cargoの利用法を添えて~

Rustで、統計分布の関数を使ってみるテスト。この際、ライブラリとしてはstatrsを使う。Cargoを使ってビルドすることになる。

環境はWindows 10。

自分的プロジェクト名はtest02。

ソースなどはこちら (Github)

Cargoでプロジェクトの作成

ターミナルで以下を実行。

cargo new test02

これで、プロジェクトのディレクトリとして./test02がつくられる。その中のsrcディレクトリにソースファイルを置く。

Rustソース

Rustのソースファイルは以下のような感じ。

main.rs

use statrs::distribution::Normal;
use statrs::distribution::ContinuousCDF;

fn main()
{

    println!("Calculating InverseCDF(0.975) for N(0,1)");

    let n = Normal::new(0.0, 1.0).unwrap();
    let z = n.inverse_cdf( 0.975);

    println!("z = {z}");

}

Cargo.tomlファイル

Cargo.tomlにビルドに必要な情報を書く。デフォルトでは次のような内容だった。

Cargo.toml (default)

[package]
name = "test02"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

この[dependencies]以下に、必要なライブラリ(クレート?)に関する記述を追加する。今回はstatrsを使うので以下のように書く。

Cargo.toml

[package]
name = "test02"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
statrs = "0.16"

Cargoでビルド

ターミナル上で、プロジェクトのディレクトリ内で以下を実行すればデバッグビルドがなされる。

cargo build

できた実行ファイルは./target/debug/にある。

リリースビルドは

cargo build --release

で可能。できた実行ファイルは./target/release/にある。

実行結果

今回の実行結果は以下のようになった。

Calculating InverseCDF(0.975) for N(0,1)
z = 1.9599639845400538

めでたし、めでたし。