ソフトな忘却力(21) gcc、デフォルト設定でのNaN、INF、デノーマル数の挙動

DUT_EC
Joseph Halfmoon

昨日の別件投稿にてRISC-VのFPUでのNaN、INF(無限大)、デノーマル数などを再び扱いました。「そういえば」いつも使っているGCCコンパイラでそれらヤバイ奴らはどんな挙動をするんでしょうか?普段、あまり浮動小数点数を使わぬので、実機でやってみることにいたしました。

“ソフトな忘却力(21) gcc、デフォルト設定でのNaN、INF、デノーマル数の挙動” の続きを読む

ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定

LPF_est_BodePlot
Joseph Halfmoon

Node-REDはIoTデバイスなどから集めて来たデータをWeb表示したりするときにとても便利なシステムです。昨日別投稿にてsmoothノードというものを勉強。入って来たデータの平均、最大といった統計量を求める他に、ローパス、ハイパスフィルタも含んでました。しかしHELPみてもフィルタ特性については書いてなかったです。

“ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定” の続きを読む

ソフトな忘却力(19) .wavファイルの生成、octaveとcppの両方で

OctaveSample
Joseph Halfmoon

WAVファイルを扱おうとしたらいつの間にかWindowsの標準アプリではそのようなフォーマットは捨て去られていたのにようやく気づきました。お間抜け。自分で音声信号のファイルを生成したりするときには楽なのだWAV形式。単なるPCMだし。ヘッダも簡単。今回はOctaveとC++の両方でWAVファイル書き出しやってみます。

“ソフトな忘却力(19) .wavファイルの生成、octaveとcppの両方で” の続きを読む

ソフトな忘却力(18) 偶数個のときのmedian、浮動小数のgtest

Octave
Joseph Halfmoon

前回はcsv読み込み用のライブラリの使い方をgtestで確認しました。今回は読み込んだデータの処理です。ふと偶数個のときのmedianってどう計算するんだっけという疑問をもったのです。medianの計算をgtestしようとして今度は、gtestで浮動小数の計算のテストってどうするんだっけ、と。疑問は尽きず。

“ソフトな忘却力(18) 偶数個のときのmedian、浮動小数のgtest” の続きを読む

ソフトな忘却力(17) VSCodeでgtest、テンプレートライブラリ使用csvパーサ

csvparser_gtest_results
Joseph Halfmoon

今回は実用的なテンプレート・ライブラリ libfccp を呼び出しているコードにGoogleTest(gtest)を適用してみたいと思います。libfccp はC++用のCSVファイル読み取り用のパーサです。CSVはテキストなので自分でも読み込み簡単な気がしますが、既にライブラリがあるのなら利用させていただいた方が確実でお楽。

“ソフトな忘却力(17) VSCodeでgtest、テンプレートライブラリ使用csvパーサ” の続きを読む

ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト

CTEST_Results
Joseph Halfmoon

前回 CMakeのテストランナーである ctest の元で GoogleTest(gtest)フレームワークのTEST走らせました。調子に乗って今回はC++のClass のテストに手を広げてみました。前回の関数単体とはちょっと書き方が違ってました。今回は分量多いので「前回との差分」部分にフォーカスして記述いたします。

“ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト” の続きを読む

ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt

vscodeGtestCtest
Joseph Halfmoon

前回 CMakeLists.txtを書くだけで、GoogleTestがインストールされていなくても速攻でgtestできるのに感激しました。CMake本当に便利。しかし前回はVSCodeからリモート接続じゃなかったです。それに全部のファイルを同じディレクトリに入れてました。やっぱりライブラリやテストは分けたいです。またテキトーにCMakeLists.txt書いてみたら通ってしまった。これで良いの?

“ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt” の続きを読む

ソフトな忘却力(14) ラズパイでgtest、CMakeLists.txt書くだけでOK

testRUNagain
Joseph Halfmoon

GoogleTest(gtest)は、C++用の単体テストツールとして定番ですが、遥か昔にちょっと使ったキリでとんとご無沙汰、すっかり忘却。おぼげな記憶によるとセットアップがメンドかった記憶が?今回ラズパイ上でやってみたら、まったくメンドくないです。CMakeLists.txtにチョイと仕込みを入れるだけで速攻テスト可能。テスト自体は書かないとダメだけどね。

“ソフトな忘却力(14) ラズパイでgtest、CMakeLists.txt書くだけでOK” の続きを読む

ソフトな忘却力(13) ラズパイsyslog、ファイル振り分け、UDPの許可

Raspberry Pi 4
Joseph Halfmoon

困った時の syslog 頼み。Raspberry Pi OSを動かしていて何かトラブったときに見るのが syslog です。運が良ければ?問題の原因が分かります。そうして頼ってきた割にラズパイのsyslogの事はちゃんと理解していなかったことが今回発覚。「ついでに」ファイルの振り分けを追加し、リモートからのUDPでのログにも対応とな。

“ソフトな忘却力(13) ラズパイsyslog、ファイル振り分け、UDPの許可” の続きを読む

ソフトな忘却力(12) RPi3、AES、1ブロックだけのテストパターン「素の」暗号化

AES_BlockDiagram
Joseph Halfmoon

前回は、ATSAMD51マイコンのSHA1計算ハードを試用するプログラムを書いた後で、テストパターン生成用のプログラムを作りました。こういう泥縄ではいかん、ということで、今回はマイコンプログラムの前にテストパターン生成用のプログラムを作っておくことにいたしました。AES暗号化、1ブロック「だけ」です。

“ソフトな忘却力(12) RPi3、AES、1ブロックだけのテストパターン「素の」暗号化” の続きを読む