2024-01-01から1年間の記事一覧

[C++][ADAPT]C++用Gnuplotライブラリを作った。

作った(嘘)1。 もう更新することはないと思っていたC++用GnuplotライブラリADAPT-GPM2(こちらはアーカイブ済み)であるが、データ分析ライブラリADAPTへ統合しメンテナンスを再開した。 GitHubリポジトリはこちらへ。 C++には既にMatplot++というライブラ…

[C++]C++20/23時代でも独自の名前付き引数は必要だった。

C++

動機 C++20では指示付き初期化が導入された。これは集成体初期化を行う際にメンバ変数名を明示的に指定しつつ初期化する方法で、ありがたいことに、極めて簡単にC++での疑似名前付き引数として利用できる。 ただし指示付き初期化にも難点が多数ある。まず初…

[C++][ADAPT]データ分析、処理ライブラリADAPTの更新情報(2)。

ADAPTの更新情報である。本ライブラリを私個人も研究の中で本格的に導入し、その都度欲しくなった機能の追加などを行ってきたので、そのまとめだ。 ADAPTについての説明はこちらへ。 ADAPTのGitHubリポジトリはこちらへ。 条件指定可能な階層関数の追加 ADAP…

[C++]可変引数マクロの引数を変換しつつ展開する方法を探る。

C++

たぶん誰の役にも立たない記事。最近ブログを更新するネタがないので、気の抜けた記事の一つ二つ書いてもまあ良いかなぁと。 動機 私は自作ライブラリの中で、よく次のようなコードを書く。 auto [abc, def, ghi] = x.GetPlaceholders("abc"_fld, "def"_fld,…

[SlackLogViewer]Slack過去ログ閲覧ツール更新(9)。

もしかするとこれが最後の更新になるかもしれないと思いつつ。 SlackLogViewerの説明はこちらへ。 Windows、macOS版のダウンロード先はこちらへ。 本記事は2024年8月31日に公開されたものの、すぐさま別のバグ報告が寄せられたため一旦非公開とし、バグ修正…

[C++]SIMDをクラステンプレート化したかった話。

C++

動機 諸事情あってSIMDとやらの勉強をしている。ちょっとループ処理の高速化を目論んで色々調べていたのだが、私の使い方だと自動ベクトル化が働かないことが分かったので、自前で書かねばといろいろ勉強中なのである1。 ところで、SIMDについて色々と調べて…

[C++][ADAPT]データ分析、処理ライブラリADAPTの更新情報(1)。

ADAPTの更新情報である。リポジトリを公開してから3ヶ月間で色々と修正や機能追加してきたが、そのあたりについて簡単にまとめておく。 ADAPTについての説明はこちらへ。 ADAPTのGitHubリポジトリはこちらへ。 DTable、STableの追加 ADAPTがもともと有してい…

[SlackLogViewer]Slack過去ログ閲覧ツール更新(8)。

1年近くほったらかしていたSlackLogViewerの更新である。特に機能追加などはないので、主として不具合修正である。 SlackLogViewerの説明はこちらへ。 Windows、macOS版のダウンロード先はこちらへ。 Qt5のサポート終了 メンテナンスをしていて初めて、OpenS…

[C++]C++20対応のインタプリタを使いたい。Clingの導入。

C++

C++20に対応したインタプリタを使ってみた話。CERNのROOTというデータ分析ツールのプロジェクトチームが同時にClingというC++インタプリタを開発しており、これを導入してみた話である。ClingはLLVMに基づくインタプリタであり、公式にはClangにできることは…

ADAPT制作に関する所感とか言い訳とか。

前回の記事で、自作のデータ分析ライブラリADAPTの紹介をした。本記事はその開発に関して色々と思うところを書き並べるものである。しょうもない自分語りなので興味のない人は引き返してほしい。 ADAPTは私が大学院生時代からちまちまと作ってきたライブラリ…

[C++]データ処理、分析のためのライブラリ制作。

1. はじめに 以前からブログやX(旧Twitter)でしばしば触れていることではあるが、私はC++でデータ集計や分析をするためのライブラリを制作している。今回、そのライブラリの最新版がいくらか動作するようになったので、GitHubでの公開とともにこのブログで…