Lispと一緒(14) ラズパイPico2でもuLisp、大小比較

Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回まで算術演算系の関数どもを練習してきましたが、今回の「大小比較」で一段落かと。前回はコマケー話で、Common LispとuLispの違いが見えてしまいましたが、今回は平穏無事、波風立たず。

※Lispと一緒 投稿順 index はこちら

※実機確認は Raspberry Pi Pico2で行ってます。

※使用させていただいとります uLisp のバージョンは 4.6b (Arm用)です。

※uLispとCommon Lispとの動作比較のために使わせていただいている処理系は以下です。

SBCL 2.2.2  (SBCL =  Steel Bank Common Lisp )

数値の大小比較

今回練習してみるのは数値の大小比較のための関数どもです。

    • 不一致(/=)
    • 一致(=)
    • 小なり(<)
    • 小なりイコール(<=)
    • 大なり(>)
    • 大なりイコール(>=)

以上の6種です。uLispが扱える数値としては、整数または浮動小数(単精度)です。uLispもCommon Lispも、整数または浮動小数を「混ぜても」比較はやってもらえます。

一致、不一致

まずはCommon Lispでの練習結果。numeq_noteq

(/= 1 1.0)はNIL、(= 1 1.0)はTと、整数1と浮動小数1.0は一致と判定されとるみたいです。

uLispではいかに。uLisp_numeq_noteq

uLispでも挙動は同じね。よかった。

大なり、小なり

まずはCommon Lisp、小なりと小なりイコール。less

お次は uLispの場合。uLisp_less

そして大なりと大なりイコール。greater

uLisp。uLisp_greater

波乱もなく完了。

Lispと一緒(13) ラズパイPico2でもuLisp、乱数、最大最小、丸め系? へ戻る

Lispと一緒(15) ラズパイPico2でもuLisp、文字と文字列 へ進む