BoostライブラリのMultiprecisionモジュールは、C++で多倍長浮動小数点数を手軽に活用できるツールです。 標準のdoubleでは実現しにくい高精度な計算を容易にするため、例えば仮数部100桁の型を利用して\( \sqrt{2
続きを読む »Boost.MultiprecisionはC++で大きな整数計算を容易にするためのライブラリです。 組み込みの整数型では扱いきれない巨大な数値を、柔軟なcpp_int型や固定精度型で計算できるため、複雑な数値演算にも活用できるメリットがあり
続きを読む »boost::is_base_of<親, 子>::valueを使うとコンパイル時に親クラスかどうかがbool値で得られます。 直接・間接継承に対応し、仮想継承の判定にはboost::is_virtual_base_ofが利用でき
続きを読む »Boost.Mathのround関数は浮動小数点や高精度な数値型での四捨五入をサポートし、round(x)で最も近い整数に丸めます。 戻り値は入力型を維持するので、整数型として扱いたい場合はiround(x)やlround(x)を使うと安全
続きを読む »C++のBoost String Algorithmsライブラリでは、boost::algorithm::trim_rightを使うと文字列の右端にある空白を簡単に削除できます。 削除対象はデフォルトの空白以外にタブなどを指定でき、さまざま
続きを読む »C++でBoostライブラリを使い、文字列の先頭と末尾にある不要な空白を手軽に除去できる方法です。 boost::algorithm::trimで元の文字列を直接加工する方法や、trim_copyを利用してオリジナルを保持しながら新たな文字
続きを読む »C++でBoostライブラリを利用すると、二項分布の処理が容易になるです。 boost::math::binomial_distributionを用い、試行回数
C++のBoostライブラリ内で利用できる不完全ガンマ関数は、累積分布関数
Boostライブラリのboost::random::mt19937とboost::random::uniform_int_distributionまたはuniform_real_distributionを組み合わせるだけで、指定した範囲\(
続きを読む »Boostの boost::random::weibull_distribution を利用すると、C++でワイブル分布に基づく乱数が手軽に生成でき、シミュレーションや確率モデル作成に役立ちます。 形状パラメータと尺度パ
続きを読む »C++のBoost.LogではBOOST_LOG_TRIVIALマクロでログを出力し、boost::log::add_file_logでファイル出力やフォーマット、ローテーションを設定できます。 add_common_attributesを
続きを読む »C++のBoostライブラリが提供するポアソン分布は、平均発生回数
Boost.Mathのboost::math::beta(x,y)は、
Boost Math Library内のboost::math::beta_distributionクラスは、ベータ分布を手軽に利用できる機能です。 ベータ分布は0以上1以下で定義され、形状パラメータ
C++のBoost.Mathライブラリにあるboost::math::fisher_fは、分子自由度df1と分母自由度df2を指定するだけでフィッシャーのF分布のPDFや累積分布、逆累積分布を計算できます。 pdf(dist,x)で確率密度
続きを読む »Boost.Filesystemを使えばC++でフォルダを再帰的に削除できる便利な方法です。 fs::remove_allを利用することで、ディレクトリ内のファイルやサブフォルダもまとめて削除でき、例外処理を取り入れるとエラー発生時にも安心
続きを読む »C++でBoostライブラリのboost::filesystemを使うと、シンプルにフォルダ作成ができます。 create_directory関数で指定パスにフォルダを作り、try-catchでエラー処理を行うことができるため、開発がスムー
続きを読む »C++でファイル名を取得する場合、Boostライブラリのboost::filesystemが利用できます。 ファイルパスからfilename()によって拡張子を含む名前、stem()によって拡張子を除いた名前をシンプルなコードで抽出できるた
続きを読む »Boost.Filesystemのrename関数を使うと、ファイルやディレクトリをパスを指定して簡単に移動できます。 移動先に同名ファイルがあると例外が発生するため、事前に存在チェックを行うのが望ましいです。 C++17以降はstd::f
続きを読む »