エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
sb-c:define-source-transform
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
sb-c:define-source-transform
sb-c:define-source-transformの使い方について。 例えば、動的なmodに対しての掛け算mod*を定義したい... sb-c:define-source-transformの使い方について。 例えば、動的なmodに対しての掛け算mod*を定義したいとする: (declaim ((unsigned-byte 32) *modulus*)) (defvar *modulus*) (defun mod* (&rest args) (reduce (lambda (x y) (mod (* x y) *modulus*)) args :initial-value 1)) (ここでは演算の性質は問題にしない。)この mod*はどんな引数に対してもいちいちreduceを呼ぶし、modや*も引数の型に特定化されないのであまり効率が良くない。多くの場合、このような問題はインライン宣言で解決する。しかしこの場合については、mod*をインライン化することでargsの長さなどがコンパイル時に確定できても、*とmodを使ったフ