2021-09-01から1ヶ月間の記事一覧

SFINAEでオーバーロードされた関数を検出する方法

c++

C++ のSFINAE (Substitution Failure Is Not An Error)を使って,クラス T に foo(int a, int b)があるか否かを調べる方法です. 簡単な例(class Tに オーバーロードされた関数がない場合) まずはシンプルに,クラス T に対してT::foo が存在するかどうか調…

debian の nvidia-graphics-drivers パッケージを自分で編集&更新する方法

debian の nvidia-graphics-drivers が古いまま(470.57.02 )でなかなか更新されないので,自力で 470.63.01 に更新しました.470.57.02 はLinux-5.14をサポートしていませんが(モジュールがビルドできない), 470.63.01 ならLinux-5.14もサポートしていま…

ムービーファイルから特定のチャプターだけを抜き出す方法

mp4などの動画ファイルから,特定の章(チャプター)を切り出す方法です.切り出しはffmpegを使うと簡単かつ高速です.音声・画質の劣化もありません. 手順1) チャプター情報の確認 ffmpeg付属のffprobeコマンドを使いチャプターの一覧を確認します $ ffpro…

python / numpy で特異値分解(SVD)を使って一般化逆行列を計算する

一般化逆行列(擬似逆行列,最小二乗法に対応するやつ)を python で計算するサンプル特異値分解(SVD)が必要なので,実装は numpy を使いますc++/eigen で実装したコード https://pyopyopyo.hatenablog.com/entry/2021/09/07/090000 のpython版になります im…

C++/Eigen で特異値分解(SVD)を使って一般化逆行列を計算する

一般化逆行列(擬似逆行列,最小二乗法に対応するやつ)をc++で計算するサンプル特異値分解(SVD)が必要なので,実装は Eigen を使いますpython/numpy の実装も用意しました.こちらです https://pyopyopyo.hatenablog.com/entry/2021/09/14/161955 #include <Eigen/Dense></eigen/dense>…

/dev/null みたいな std::ostream

c++

/dev/null みたいな std::ostream を作る方法. 方法1 : std::ostreamを継承して自前の null stream を作成する 以下のURLで紹介されている方法 stackoverflow.com #include <iostream> class NulStreambuf : public std::streambuf { char dummyBuffer[ 64 ]; protect</iostream>…