正多面体
回転行列
カレンダー
- 年月日と通日を自前で変換
- 年月日時分などの秒数/分数/時間/日数
- 春分・秋分の日を大雑把に求める
- Date に休日情報を追加した派生クラスを作ってカレンダーを表示する
- 休日つき datetime.date 風クラス
- DateComponents を拡張して休日プロパティを追加する
- 月相・休日付きカレンダー
アルゴリズムなど
- 備忘録 : 高速フーリエ変換
- FFT: ビット列反転インデックス
- 開平法(二進数)による平方根
- 備忘録:除算命令を使わない除算
- x86 SSE : _mm_div_ps (divps) の代替(除算命令を使わない除算)を試す
- 規則性の低い数列表に対する無検索逆引き
- 長方形の逆透視投影(画像中の四角形を立体補正)
JIS X 0208 とシフト符号化表現 (SHIFT JIS)
- 備忘録: SHIFT JIS の領域
- Emacs の SJIS 文字コード検出に UTF-8 回避(努力)のパッチをあてる
- テキストの文字コード判定が困難(面倒)な文字列
- 疎行列の圧縮を使った Unicode → シフト JIS(コードページ 932)変換
- シフト JIS コードは 0x2000 / 0xA000 と XOR して扱う
- シフトJIS文字表
- EUC-JP 文字表 - 幅広版
JIS X 0504 : バーコード(コード 128)
JIS X 0510 : QRコード
- JIS X 0510 - QRコードの GIF 画像を HTML+JavaScript (ローカル) で生成する
- QRコード:JIS X 0510 - 表9 - マイクロ QR コード及び QR コードの誤り訂正特性 - (ブロック数・コード語数を求める)
- QRコード:JIS X 0510 - 附属書 A(規定)誤り検出及び訂正の生成多項式 - (計算で求める)
- QRコード:JIS X 0510 - 附属書 E(規定)位置合わせパターンの位置 - (計算で求める)
- この画像を QR として認識したらダメなんじゃ?
- QRコードを生成するChrome拡張機能を作る
IEEE 754 : 浮動小数点
- 備忘録: 浮動小数点データ
- Densely Packed Decimal (DPD) を整理する
- 浮動小数点形式の演算結果として +0 と -0 が出てくる規則
- 10進数浮動小数点 Decimal 型 ⟺ DPD (固定ビット長バイナリ)変換
RFC 1321 : MD5
RFC 1951 : DEFLATE
- ZLIB/GZIP DEFLATE 圧縮データの解凍処理は難しくないので作ってみる(Python版)
- ZLIB/GZIP DEFLATE 圧縮データの解凍処理は難しくないので作ってみる(C++03版)
- ZLIB/GZIP DEFLATE 圧縮データの解凍処理は難しくないので作ってみる(Swift版)
RFC 4648 : Base 16/32/64
RFC 8484 : DNS over HTTPS
Unicode
- HTML+JavaScript で Unicode 文字表
- Unicode による国旗表
- Unicode: バイト列を U+4E03 〜 U+8E0F を使ってエンコードする
- 絵文字表
- 文字コードの変換と確認など
- setlocale の動作
- 難しい wprintf
- UTF-8/16/32 相互変換ライブラリ
PNG / GIF
- PNG の IDAT のみを弄る
- GIF画像のデータ形式とHTML+JavaScript (ローカル生成)のサンプルプログラム
- GIF 画像データを作る
- GIF データを確認する
- 画像の減色・誤差拡散・タイリング処理
X86
- Intel と AMD で違う(?) BSF/BSR 命令
- 整数版 log2
- SSE4.2 拡張命令 CRC32 を使ってみる
- x86: SSE4.2 文字列検索用 PCMPESTRI / PCMPESTRM / PCMPISTRI / PCMPISTRM 命令
- x86 SSE : _mm_div_ps (divps) の代替(除算命令を使わない除算)を試す
- N==2^n 判定
ARM
C++
- std::byteswap を C++23 でなくても使いたい
- C++20 より前でも std::endian を。(big は face で little は dead ?)
- std::endian と std::byteswap からエンディアン固定型を作る
- std::cout << o { "sample: ", hex, 321, endl }; としたい
- iostream マニピュレータ
Python
- カスタマイズ特殊名一覧
- GF(2) 数値型のクラス
-
キーを int 型とする辞書(dict)の派生クラスを剰余と逆引き表で作る
- dict の派生クラスを C 言語のモジュールとして作る (上記の Python/C API 版)
- 全てのキーを32ビット符号なし整数とする、dict よりアクセスが速い読み取り専用辞書(拡張モジュール)を作る
- 数値を範囲 "[0, 除数)" で保持する合同式向け数値クラス
- N進数の開平法を使った多倍長整数の平方根(拡張モジュール)
- Python 3.10 で追加された int 型の bit_count と同じ機能を 3.9 以前で使うための拡張モジュール
- SSE4.2: RDTSC と CRC32 の2命令だけで乱数らしきものを作る
- Emacs 編集時のみ Python のブロック終端を明示する
- 半精度浮動小数点型
WebAssembly
小道具
- 小道具:テーブル生成用書式出力
- 小道具:([括弧])を統一する
- 小道具:Unicode のサロゲート コードを得る
- 小道具:開平法(二進数)による整数平方根
- 小道具:固定小数点を10進文字列にする
- 小道具:素数表(エラトステネスの篩)
- 小道具:素因数分解
- 小道具:正整数を累乗表現(底,指数)にする
- 小道具:合成用の濁点(U+3099)と半濁点(U+309A)を排除する
- 小道具:ホスト名からIPアドレスを得る(getaddrinfo の動作確認)
- 小道具:rubyタグを使って文字の上にコードを出力
- 小道具:短い HTML 構文のテスト
- 小道具:英数の別文字コードへの変換(テキストデータなのにボールドとかイタリックとかスクリプト体とか…)
- 小道具: String.normalize 結果の可視化
- 小道具:丸括弧付き文字への変換
- 小道具:文字コードの変換と確認など
- 小道具:HSVによる色選択
- 小道具:S式風記述からHTMLを生成
- 小道具:CountTrailingZeros (CTZ)
- 小道具: ASCII/数字/アルファベットの全角文字を半角文字に変換
- 小道具:IPv6 - ULA プリフィクスの生成
Emacs
- 丸括弧付き文字への変換 [例 (16) → ⒃ ]
- 上付き文字、下付き文字への変換[例 Ex1 → ᴱˣ¹, Ex1 → ᴇₓ₁]
- クリップボードから text/html 形式で取得する
- Emacs の SJIS 文字コード検出に UTF-8 回避(努力)のパッチをあてる
- 備忘録:Emacs を Ubuntu でビルド