私は最近、コードの効率を改善するために型指定子をいじり始めました。これは、CommonLisp標準のすべての型指定子シンボルのリストです。
森の中の木が見えません。
誰かがさまざまなタイプ指定子の簡単な説明を(または指摘して)、いつそれらを使用するかを教えてもらえますか?
それらすべてについて知りたいのですが、直接の関心は、数に関連するタイプ(fixnum、bignum、float、single-float、short-floatなど)の違いにあります。
私は最近、コードの効率を改善するために型指定子をいじり始めました。これは、CommonLisp標準のすべての型指定子シンボルのリストです。
森の中の木が見えません。
誰かがさまざまなタイプ指定子の簡単な説明を(または指摘して)、いつそれらを使用するかを教えてもらえますか?
それらすべてについて知りたいのですが、直接の関心は、数に関連するタイプ(fixnum、bignum、float、single-float、short-floatなど)の違いにあります。
CLtl2は、標準化される前のCommonLispのバージョンを記述しています。参考として使用しないでください。規格にはさまざまな違いがあります。
ANSI CommonLispStandardに基づくCommonLispHyperspecを使用してください。
Common Lispのタイプについては、HyperSpecの4.2.3タイプ指定子で説明されています。そこからさまざまなタイプがリンクされています。
ここに典型的な実装があります:
fixnum
マシンレジスタに収まる小さな整数です。最速の整数です
bignum
無制限のサイズの整数です
double-float
IEEE倍精度浮動小数点数です。コンピュータによっては、非常に高速な場合もあります
single-float
IEEE単精度浮動小数点数です。範囲と精度が低く、2倍よりも遅くなる可能性がありますが、必要なメモリは少なくなります
short-float
long-float
多くの場合、上記の2つのタイプにマップされますが、CLの実装によっては異なる場合もあります。