数値
Type: Function
Arguments: * &rest NUMBERS
Package: lisp
File: builtin.l
引数を全て剰算した数値を返します。
使用例:
(* 1 2 3)
=> 6
SeeAlso: /
Type: Variable
Package: lisp
現在の乱数の状態を保持してます。
random が STATE 無しで呼ばれたとき使われます。
SeeAlso: random
SeeAlso: make-random-state
Type: Function
Arguments: + &rest NUMBERS
Package: lisp
File: builtin.l
引数を全て加算して返します。
使用例:
(+ 1 2 3)
=> 6
(+ 1.2 4 -2)
=> 3.2
SeeAlso: -
Type: Function
Arguments: - NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数が一つの場合にはその数値をマイナスにしたものを返します。
引数が二つ以上の場合には一つ目の引数からその他の引数を減算した数値を返します。
使用例:
(- 3)
=> -3
(- 3 2 1)
=> 0
SeeAlso: +
Type: Function
Arguments: / NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数が一つの場合には 1 を引数で除算した数値を返します。
引数が二つ以上の場合には一つ目の引数を二つ目の引数全てで除算した数値を返します。
使用例:
(/ 2)
=> 1/2
(/ 3 2 1)
=> 3/2
(/ 4 3 2)
=> 2/3
SeeAlso: *
Type: Function
Arguments: /= NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数がすべて異なっていればt、そうでなければnilを返します。
使用例:
(/= 2 3)
=> t
(/= 3 3)
=> nil
(/= 2 3 4 5)
=> t
(/= 2 3 4 2)
=> nil
SeeAlso: =
Type: Function
Arguments: 1+ NUM
Package: lisp
File: number.l
NUMに1を足した数を返します。
使用例:
(1+ 1)
=> 2
SeeAlso: 1-
Type: Function
Arguments: 1- NUM
Package: lisp
File: number.l
NUMから1を引いた数を返します。
使用例:
(1- 2)
=> 1
SeeAlso: 1+
Type: Function
Arguments: < NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数が小さい順に並んでいればt、そうでなければnilを返します。
使用例:
(< 2 3 4)
=> t
(< 2 4 3 5)
=> nil
SeeAlso: >
Type: Function
Arguments: <= NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
隣り合った引数がすべて<=の関係ならt、そうでなければnilを返します。
使用例:
(<= 2 3 3 4)
=> t
(<= 2 4 3 5)
=> nil
SeeAlso: >=
Type: Function
Arguments: = NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数がすべて等しければt、そうでなければnilを返します。
使用例:
(= 3 3)
=> t
(= 3 4)
=> nil
(= 3 3 3 3)
=> t
(= 3 3 3 4)
=> nil
SeeAlso: /=
Type: Function
Arguments: > NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数が大きい順に並んでいればt、そうでなければnilを返します。
使用例:
(> 3 2 1)
=> t
(> 3 2 1 4)
=> nil
SeeAlso: <
Type: Function
Arguments: >= NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
隣り合った引数がすべて>=の関係ならt、そうでなければnilを返します。
使用例:
(>= 4 3 3 2 1)
=> t
(>= 4 2 3 1)
=> nil
SeeAlso: <=
Type: Function
Arguments: abs NUMBER
Package: lisp
File: builtin.l
絶対値を返します。
使用例:
;;; 絶対値を返す。
(abs -3.0)
=> 3.0
Type: Function
Arguments: acos NUMBER
Package: lisp
File: builtin.l
逆余弦関数の値を返します。
Type: Function
Arguments: acosh Z
Package: lisp
File: number.l
逆双曲線余弦関数を計算します。
SeeAlso: acos
Type: Function
Arguments: ash INTEGER COUNT
Package: lisp
File: builtin.l
整数をロジカルにシフトします。
INTEGER : シフトする数値
COUNT : ビット数分だけ正ならば左に、負ならば右にシフト
例:
;;; 4を左と右に3ビットずつシフトさせてみる。
(ash 4 3)
=> 32
(ash 4 -3)
=> 0
Type: Function
Arguments: asin NUMBER
Package: lisp
File: builtin.l
逆正弦関数の値を返します。
Type: Function
Arguments: asinh Z
Package: lisp
File: number.l
逆双曲線正弦関数を計算します。
SeeAlso: asin
Type: Function
Arguments: atan Y &optional X
Package: lisp
File: builtin.l
逆正接関数の値を返します。
Type: Function
Arguments: atanh Z
Package: lisp
File: number.l
逆双曲線正接関数を計算します。
SeeAlso: atan
Type: Function
Arguments: NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
NUMBERを正の無限大方向に丸めます。
DIVISORを省略した場合にはNUMBER以上の最小の整数になります。
使用例:
(ceiling 2.2)
=> 3
(ceiling 2.8)
=> 3
(ceiling -2.2)
=> -2
(multiple-value-list (ceiling 2.2))
=> (3 -0.8)
SeeAlso: floor
SeeAlso: truncate
SeeAlso: round
Type: Function
Arguments: cis Z
Package: lisp
File: number.l
偏角が Z で絶対値が 1 の複素数を返します。
(cis Z) == (complex (cos Z) (sin Z))
Type: Function
Arguments: complex REALPART &optional IMAGPART
Package: lisp
File: builtin.l
指定された実数部(REALPART)と虚数部(IMAGPART)で複素数を表現します。
使用例:
(setq a (complex 0 1))
=>#C(0 1)
(* a a)
=>-1
SeeAlso: imagpart
SeeAlso: realpart
Type: Function
Arguments: conjugate NUMBER
Package: lisp
File: builtin.l
共役複素数を返します。
Type: Function
Arguments: cos RADIANS
Package: lisp
File: builtin.l
余弦関数の値を返します。
Type: Function
Arguments: cosh Z
Package: lisp
File: number.l
双曲線余弦関数を計算します。
Type: Macro
Arguments: decf PLACE &optional (DELTA 1)
Package: lisp
File: setf.l
変数をデクリメントする
使用例:
;;; 変数xの値をデクリメントする。
(setq x 1) => 1
(decf x) => 0
x => 0
SeeAlso: incf
Type: Function
Arguments: denominator RATIONAL
Package: lisp
File: builtin.l
分数の分母を返します。
SeeAlso: numerator
Type: Function
Arguments: evenp INTEGER
Package: lisp
File: builtin.l
INTEGERが偶数ならばt、そうでなければnilを返します。
使用例:
(evenp 2)
=> t
(evenp 0)
=> t
(evenp 1)
=> nil
SeeAlso: oddp
Type: Function
Arguments: exp NUMBER
Package: lisp
File: builtin.l
自然対数の底 e の NUMBER 乗の数値を返します。
使用例:
;;; 自然対数の底 e とその二乗を表示してみる。
(exp 1)
=> 2.718282
(exp 2)
=> 7.389056
Type: Function
Arguments: expt BASE-NUMBER POWER-NUMBER
Package: lisp
File: builtin.l
べき乗します。
使用例:
(expt 2 10 )
=> 1024
(expt 10 3)
=> 1000
Type: Function
Arguments: fceiling NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
ceiling と同じですが浮動小数点数を返します。
SeeAlso: ceiling
Type: Function
Arguments: ffloor NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
floor と同じですが浮動小数点数を返します。
SeeAlso: floor
Type: Function
Arguments: float NUMBER &optional OTHER
Package: lisp
File: builtin.l
任意の型の数値を浮動小数点型に変換します。
(float 'NUMBER) == (coerce 'NUMBER 'single-float)
使用例:
;;; integerをfloatに変換する。
(setq var 0) => 0
(type-of var) => integer
(setq var (float var)) => 0.0
(type-of var) => single-float
Type: Function
Arguments: floor NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
NUMBERを負の無限大方向に丸めます。
DIVISORを省略した場合にはNUMBERを越えない最大の整数になります。
使用例:
(floor 2.2)
=> 2
(floor 2.8)
=> 2
(floor -2.4)
=> -3
(multiple-value-list (floor 2.2))
=> (2 0.2)
SeeAlso: ceiling
SeeAlso: truncate
SeeAlso: round
Type: Function
Arguments: fround NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
round と同じですが浮動小数点数を返します。
SeeAlso: round
Type: Function
Arguments: ftruncate NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
truncateと同じですが浮動小数点数を返します。
SeeAlso: truncate
Type: Function
Arguments: gcd &rest INTEGERS
Package: lisp
File: builtin.l
引数の最大公約数を返します。
使用例:
(gcd 91 70)
=> 7
(gcd 63 -42 35)
=> 7
(gcd -3)
=> -3
(gcd 35 8)
=> 1
SeeAlso: lcm
Type: Function
Arguments: imagpart NUMBER
Package: lisp
File: builtin.l
複素数の虚数部を取得します。
使用例:
(setq a (complex 1 3))
=>#C(1 3)
(imagpart a)
=>3
SeeAlso: realpart
SeeAlso: complex
Type: Macro
Arguments: incf PLACE &optional (DELTA 1)
Package: lisp
File: setf.l
変数をインクリメントします。
使用例:
;;; 変数xの値をインクリメントする。
(setq x 1) => 1
(incf x) => 2
x => 2
SeeAlso: decf
Type: Function
Arguments: isqrt INTEGER
Package: lisp
File: builtin.l
整数の平方根を整数で返します。
(isqrt INTEGER) == (floor (sqrt INTEGER))
使用例:
;;; 143と144のisqrtを計算する。
(isqrt 143)
=> 11
(isqrt 144)
=> 12
Type: Function
Arguments: lcm INTEGER &rest MORE-INTEGERS
Package: lisp
File: builtin.l
引数の最小公倍数を返します。
使用例:
(lcm 14 35)
=> 70
(lcm 0 5)
=> 0
(lcm 1 2 3 4 5 6)
=> 60
SeeAlso: gcd
Type: Function
Arguments: log NUMBER &optional BASE
Package: lisp
File: builtin.l
BASE を底とする NUMBER の対数を返します。
使用例:
(log 2.718282)
=> 1.0
(log 7.389056)
=> 2.0
Type: Function
Arguments: logand &rest ARGS
Package: lisp
File: number.l
ビット毎のANDを取ります。C言語でいう&です。
使用例:
;;; 2進数で#b11110000と#b00110011のビットの積を取る。
(format nil "~8,'0b" (logand #b11110000 #b00110011))
=> "00110000"
SeeAlso: logior
Type: Function
Arguments: logior &rest ARGS
Package: lisp
File: number.l
ビット毎のORを取ります。C言語でいう|です。
使用例:
;;; 2進数で#b00110000と#b00000011のビットの和を取る。
(format nil "~8,'0b" (logior #b00110000 #b00000011))
=> "00110011"
SeeAlso: logand
Type: Function
Arguments: make-random-state &optional STATE
Package: lisp
File: builtin.l
乱数の状態を初期化します
STATE:
nil 初期化はせずに現在の*random-state*のコピーを返します。
t 時刻に基づいて新しい状態を作ります。
random-state この関数(make-random-state)の戻り値を渡すとコピーが返ります。
使用例:
;;;乱数列の再現
(let ((rs1 (make-random-state nil))
(rs2 (make-random-state nil))) ;;現状の乱数状態のコピーを二つ作る
(dotimes (i 10)
(format t "~A " (random 100 rs1))) ;;一つ目
(terpri)
(dotimes (i 10)
(format t "~A " (random 100 rs1))) ;;一つ目やりすぎて
(terpri)
(dotimes (i 10)
(format t "~A " (random 100 rs2))) ;;二つ目を少し見てみる。
(terpri))
=>3 41 81 70 73 66 32 72 2 55 ;ここと
21 97 83 14 86 26 99 69 18 46
3 41 81 70 73 66 32 72 2 55 ;ここが同じになる
SeeAlso: *random-state*
SeeAlso: random
Type: Function
Arguments: max NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数の中で最大の数値を返します。
使用例:
(max 3)
=> 3
(max -3 0 2)
=> 2
(max 2.5 1)
=> 2.5
(max 3 2.5)
=> 3
SeeAlso: min
Type: Function
Arguments: min NUMBER &rest MORE-NUMBERS
Package: lisp
File: builtin.l
引数の中で最小の数値を返します。
使用例:
(min 3)
=> 3
(min -2 0 3)
=> -2
(min 2.5 1)
=> 1
SeeAlso: max
Type: Function
Arguments: minusp NUMBER
Package: lisp
File: builtin.l
NUMBER がゼロより小さければ t 、そうでなければ nil を返します。
使用例:
(minusp 0)
=> nil
(minusp -1)
=> t
(minusp -0.00001)
=> t
SeeAlso: plusp
Type: Function
Arguments: mod NUMBER DIVISOR
Package: lisp
File: builtin.l
(floor NUMBER DIVISOR)の戻り値の二つ目を返します。
使用例:
(mod 13 4)
=> 1
(mod -13 4)
=> 3
SeeAlso: floor
SeeAlso: rem
Type: Function
Arguments: numerator RATIONAL
Package: lisp
File: builtin.l
分数の分子を返します。
SeeAlso: denominator
Type: Function
Arguments: oddp INTEGER
Package: lisp
File: builtin.l
INTEGERが奇数ならばt、そうでなければnilを返します。
使用例:
(oddp 1)
=> t
(oddp 0)
=> nil
(oddp -35)
=> t
SeeAlso: evenp
Type: Function
Arguments: phase Z
Package: lisp
File: number.l
複素数の偏角を求めます。
戻り値はラジアン単位です。
(phase -1)
=>3.141593
Type: Function
Arguments: plusp NUMBER
Package: lisp
File: builtin.l
NUMBERがゼロより大きければt、そうでなければnilを返します。
使用例:
(plusp 0)
=> nil
(plusp 1)
=> t
(plusp 0.00001)
=> t
SeeAlso: minusp
Type: Function
Arguments: random NUMBER &optional STATE
File: builtin.l
0以上NUMBER未満の乱数を返します。
STATE: 乱数の状態変数です。破壊的に処理されます。
SeeAlso: *random-state*
SeeAlso: make-random-state
Type: Function
Arguments: rational NUMBER
Package: lisp
File: builtin.l
実数を有理数に変換します。もしも、 NUMBER がすでに有理数だったら、そのま
ま返します。 rational の場合は、浮動小数点数を全く誤差を含まないものとし
て扱い、その浮動小数点数を数学的に有理数化します。
;;; 0.5 は2進数でちょうど表せる
(rational 0.5)
=>1/2
;;; 0.1 は2進数では誤差を含む
(rational 0.1)
=>13421773/134217728
;;; 倍精度だとまた違う
(rational 0.1d0)
=>3602879701896397/36028797018963968
SeeAlso: rationalize
Type: Function
Arguments: rationalize NUMBER
Package: lisp
File: builtin.l
実数を有理数に変換します。もしも、 NUMBER がすでに有理数だったら、そのま
ま返します。 rationalize の場合は、浮動小数点数を表示される範囲までの精
度で扱い、近似して有理数化します。
SeeAlso: rational
Type: Function
Arguments: realpart NUMBER
Package: lisp
File: builtin.l
複素数の実数部を取得します。
使用例:
(setq a (complex 1 3))
=>#C(1 3)
(realpart a)
=>1
SeeAlso: imagpart
SeeAlso: complex
Type: Function
Arguments: rem NUMBER DIVISOR
Package: lisp
File: builtin.l
(truncate NUMBER DIVISOR)の戻り値の二つ目を返します。
使用例:
(rem 13 4)
=> 1
(rem -13 4)
=> -1
SeeAlso: truncate
SeeAlso: mod
Type: Function
Arguments: NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
NUMBERを近い方の整数に丸めます。
ちょうど0.5の場合には偶数方向に丸められます。
使用例:
(round 2.5)
=> 2
(round 2.6)
=> 3
(round 3.5)
=> 4
(round -2.5)
=> -2
(round -2.6)
=> -3
(multiple-value-list (round 2.5))
=> (2 0.5)
SeeAlso: floor
SeeAlso: ceiling
SeeAlso: truncate
Type: Function
Arguments: signum NUMBER
Package: lisp
File: builtin.l
数値の符号を返します。
引数が複素数の場合は偏角が等しく絶対値が 1 の複素数を返します
使用例:
(signum 12)
=> 1
(signum 0)
=> 0
(signum -5.0)
=>-1.0
(signum (complex 1 1))
=>#C(0.7071068 0.7071068)
Type: Function
Arguments: sin RADIANS
Package: lisp
File: builtin.l
正弦関数の値を返します。
Type: Function
Arguments: sinh Z
Package: lisp
File: number.l
双曲線正弦関数を計算します。
Type: Function
Arguments: sqrt NUMBER
Package: lisp
File: builtin.l
平方根の値を返します。
Type: Function
Arguments: tan RADIANS
Package: lisp
File: builtin.l
正接関数の値を返します。
Type: Function
Arguments: tanh Z
Package: lisp
File: number.l
双曲線正接関数を計算します。
Type: Function
Arguments: truncate NUMBER &optional DIVISOR
Package: lisp
File: builtin.l
NUMBERを0の方向に丸めます。
使用例:
(truncate 2.8)
=> 2
(truncate -2.8)
=> -2
(multiple-value-list (truncate 2.8))
=> (2 0.8)
SeeAlso: floor
SeeAlso: ceiling
SeeAlso: round
Type: Function
Arguments: zerop NUMBER
Package: lisp
File: builtin.l
NUMBERがゼロならt、そうでなければnilを返します。
使用例:
(zerop 0)
=> t
(zerop 1)
=> nil
(zerop 0.0)
=> t
(zerop -0.00)
=> t