zig で []f32のデータをファイルに出力する方法

どうも、たくチャレ(@takuchalle)です。

zigf32の配列データをファイルに書き出す方法がパッと分からなかったので、メモです。

writeAllの引数は[]u8なので、[]f32を渡せません。 なのでキャスト、もしくは変換を行う必要があります。

標準ライブラリのstd.mem.bytesAsValueを使うと変換することができます。

var writer = /// ファイルオープン処理
var data: []f32 = /// データ作る
try writer.writeAll(std.mem.bytesAsValue(data));

実装を見ると、ポインタのキャストをしていそうです。