さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

2010-05-15から1日間の記事一覧

整数と浮動小数点を相互変換する(精度の変換)

これは先ほど紹介したfloor、ffloorなどで変換できますね。

乱数を生成する

randaomで! CL-USER> (random 10) 5 CL-USER> (random 10) 9 CL-USER> (random 10) 5

平方根を求める

sqrt関数で! (sqrt 9) 3.0

対数を計算する

log関数で一発です。 CL-USER> (log 2) 0.6931472 CL-USER> (log 2 2) 1.0 CL-USER> (log 3 2) 1.5849625 CL-USER> (log 10) 2.3025851

三角関数を計算する

これは、sin関数、cos関数、tan関数というものがあります。 ただ、いまいちな気がします。 2piを越えるとおかしいのかな。 (sin 0) 0.0 ;; うーんどうなってるんだろ。 (sin (* 2 pi)) -2.4492127076447545d-16 (cos 0) 1.0 (tan 0) 0.0

小数点を切り上げ・切り捨て・四捨五入するには

切り上げ、切り捨てにはfloor,ceiling,ffloor,fceilingが使えます。 四捨五入にはround,froundが使えます。 切り上げ 切り捨て 四捨五入 整数 ceiling floor round 少数 fceiling ffloor fround (ceiling 1.5) 2 -0.5 (floor 1.5) 1 0.5 (round 1.4) 1 0.399…

絶対値を求める

absを使いましょう。 (abs -1) 1 (abs 1) 1

除算の商と余りを求める

mod,rem,floor,truncateが使える! C言語とちがって余りは正剰余と負剰余の両方が選べます。 正剰余 負剰余 余り mod rem 商と余り floor truncate (mod 5 2) 1 (rem 5 2) 1 (mod -1 3) 2 CL-USER> (rem -1 3) -1 (floor 5 2) 2 1 (truncate 5 2) 2 1 (floor…