IMathLib-ソースコード-

  • pocket
  • はてなブックマーク

 数学型の解説については以下の記事を参照。

Iroha Math Library for C++(IMathLib)

 IMathLibはC++17で動作する数値計算を直感的に行うためのライブラリです。このライブラリ単体では数学型や数学関数は一切定義されないためため、それらが予め定義されたIMathLibExも提供しています。また、それに付属するOpenGLとSDL2をラップしたIMadiaLibをもちいることでグラフィカルな処理を実現します。
 現在はテスト版であり、正式なバージョンは公開していません。

ディレクトリ構成について

 "develop"ディレクトリはIMathLibの開発版のものです。作りかけの機能等を色々と試験しており、それらに関する機能を用いるとコンパイルエラーが生じるため、利用するべきではありません。"discard"ディレクトリは没になった機能たちの墓場です。
 α.β.γの形式で記述されているディレクトリはIMathLibのバージョンごとのソースファイルです。"archive"ディレクトリはα.β.γの形式で記述されているディレクトリのアーカイブ(ZIP)されたものがあります。

可能となること

 例えば、標準ライブラリにおけるstd::complexでは

auto temp = std::complex<float>(1, 2) + std::complex<double>(3, 4);

といった操作はできないが、IMathLibExにおけるiml::complexを用いることで

auto temp = iml::complex<float>(1, 2) + iml::complex<double>(3, 4);

のような記述ができるようになります。また、tempの型はiml::complex<double>です。
 このように、あらゆる演算が直感的に記述可能になります。