■clispとgcl/sbclでネイピア数、tan(e)、アークタンジェント/アークコサインによる円周率の計算
以下でgcl/sbclを使えるようにしたが、やはりclispの方が良い。
早くstableに戻って欲しいものだ。
AWSでLISP(gcl/sbcl)が使えるようにする。
http://labunix.hateblo.jp/entry/20151015/1444854641
■ネイピア数
clispでtan(e)とネイピア数の計算(1000桁)
http://labunix.hateblo.jp/entry/2012/07/22/194906
$ echo 'echo "(exp 1.0L0)" | lisp | tail -3;echo' | awk '{print $0";"$0}' | \
awk '{sub(/lisp/,"sbcl")}{sub(/lisp/,"gcl")}{print $0}' | sh
*
2.718281828459045d0
*
2.718281828459045
>
$ echo "(exp 1.0L0)" | clisp -q
[1]>
2.7182818284590452354L0
■tan(e)の計算
$ echo 'echo "(tan (exp 1.0L0))" | lisp | tail -3;echo' | awk '{print $0";"$0}' | \
awk '{sub(/lisp/,"sbcl")}{sub(/lisp/,"gcl")}{print $0}' | sh
*
-0.4505495340698077d0
*
-0.4505495340698077
>
$ echo "(tan (exp 1.0L0))" | clisp -q
[1]>
-0.45054953406980749562L0
■アークタンジェントによる円周率の計算
三角関数の逆関数で円周率 clisp
http://d.hatena.ne.jp/labunix/20120101
$ echo 'echo "(* 4 (atan 1.0L0))" | lisp | tail -3;echo' | awk '{print $0";"$0}' | \
awk '{sub(/lisp/,"sbcl")}{sub(/lisp/,"gcl")}{print $0}' | sh
*
3.141592653589793d0
*
3.141592653589793
>
$ echo "(* 4 (atan 1.0L0))" | clisp -q
[1]>
3.141592653589793238L0
■アークコサインによる円周率の計算
$ echo "(acos -1.0L0))" | gcl | tail -3 ;echo
3.141592653589793
>
$ echo "(acos -1)" | sbcl | tail -3 ;echo
*
3.1415927
*
$ echo "(acos -1.0L0)" | clisp -q
[1]>
3.1415926535897932385L0
■SBCLはもうダメっぽい。
$ echo "(acos -1.0L0))(quit)" | sbcl | tail -3 ;echo
debugger invoked on a SB-INT:SIMPLE-READER-ERROR in thread
unmatched close parenthesis
Stream:
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
(SB-INT:SIMPLE-READER-ERROR
0] (quit)
; in: LAMBDA (#:G669)
; (QUIT)
;
; caught STYLE-WARNING:
; SB-EXT:QUIT has been deprecated as of SBCL 1.0.56.55. Use SB-EXT:EXIT or
; SB-THREAD:ABORT-THREAD instead.
;
; In future SBCL versions SB-EXT:QUIT will signal a full warning at compile-time.
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
*
3.141592653589793d0
*