-
Rust
Rust – バブルソート
Rust でのバブルソート実装例です。実用性ゼロです。 バブルソート 実行結果の出力からもわかるように、とても非効率なソート方法です。 fn bubble_sort<T>(xs: &mut [T]) where T: PartialOrd + std::fmt::Debug, { println!("starting bu... -
Rust
Rust – マージソート
Rust でのマージソートの実装例です。 マージソートとは、分割統治法と呼ばれるアルゴリズムの一種です。対象のリストを細分化していき、ソート済みリストを順にマージしていくようなソート方法です。 ソートについては既に標準ライブラリに優秀なものがあ... -
Rust
Rust – 挿入ソート
Rust での挿入ソートの実装例です。 挿入ソートとは、ソート済みの配列に対して、残りの要素を挿入していくようなソート方法です。 ソートについては既に標準ライブラリに優秀なものがあるので実用性はありません。アルゴリズムや Rust の学習用のサンプル... -
CUDA
CUDA | cuRAND での乱数生成方法
CUDA では、cuRAND を利用して乱数を生成することができます。サンプルコードをいくつか掲載します。 シンプルな乱数生成コード 乱数を生成するための、ミニマムのコードです。GPU で乱数を10個生成し、これをホスト側に転送して標準出力します。 #include... -
C++
C++ | vector の初期化パターン
C++ での vector を初期化するパターンをいくつか紹介します。 任意の初期値で初期化 固定値で初期化 連番で初期化 乱数で初期化 任意の初期値で初期化 初期化子リストを指定します。 #include <vector> int main() { std::vector<int> v{0, 1... -
C++
C++ | vector の標準出力方法
C++ vector クラスの標準出力方法メモです。いくつか手法があります。 std::vector の標準出力方法 for 文で要素を順に出力する 最もストレートな方法です。可読性も高いので、他の方法に慣れなければ、これで出力しておけば間違いないです。 #include <... -
C++
C++ – Rust の関数を静的リンクで呼び出す
C++ から Rust の関数を呼び出す方法のメモです。gcc を利用して、静的リンクで呼び出すケースについてまとめます。 rustc でライブラリを生成する cargo ではなく rustc でライブラリを生成する方法です。 Rust - 静的リンクライブラリの生成 Rust にて、... -
C++
C++ | 呼び出し元のファイル名と行番号を取得する
C++ にてデバッグを出力したいときは、対象コードのファイル名と行番号を出力すると便利です。そのやり方をまとめます。 define マクロで __FILE__, __LINE__ を出力する std::source_location で関数呼び出し元の情報を取得する(C++20 以降) define マ... -
Python
Python – 標準正規分布の乱数を生成する
Python で標準正規分布の乱数を生成するコードのメモです。標準正規分布とは、平均0、標準偏差1の分布です。 次の2種類の方法をまとめます。 numpy の randn 関数を利用 ボックスミュラー法でスクラッチ実装 numpy の機能を利用する サンプルコード nump... -
VSCode
VSCode – シンプル・鮮やか・目が疲れない自作テーマの紹介
VSCode のフォントカラーにこだわった結果、自作テーマを作成しました。Marketplace で "gari theme" と検索すると出てくるので、良かったら使ってみてください。 簡単にどんなテーマか紹介します。 自作テーマ Gari Theme コンセプト VSCode の Dark Mode...



