SLANG用実数演算ライブラリ SOROBAN.LIB
このSOROBAN.LIBは,SLANGに実数演算を可能にするためのライブラリです。とはいえ,やっていることはSOROBANを呼び出しているだけですので,プログラム中にそのまま式を記述することはできません。変数管理にしてもシステムが扱えるのは,依然として整数のみなので,計算は実数そのものではなく,実数が格納されているアドレスを関数に渡す方法となっています。
また本ライブラリでは,MACHINE宣言を行っていますので使用する際には,このライブラリが必ずテキストの先頭になければなりません。SLANGのディスク版を使用しているなら,#INCLUDEを使いユーザープログラムの先頭でこのライブラリを取り込んでください。オンメモリ版の場合は,エディタでユーザープログラムの先頭にライブラリを読み込むようにしてください。
そして,なるべくMAIN()の先頭で@SINGLE(),@DOUBLE()を実行して精度指定をしておきましょう。浮動小数点形式のデータは配列の形で宣言しますが,配列の大きさは単精度なら@SNG,倍精度なら@DBLという記号定数を使うとわかりやすいでしょう。ちなみに配列は,バイト単位でアクセスしないならば,1バイト型でも2バイト型でもかまいません。
SOROBAN.LIB関数 リファレンスマニュアル
●有効桁数は,単精度で8桁,倍精度で16桁となる。
●unsignedは16ピット長無符号整数。
●intは16ピット長符号付き整数。
●fp,fp1,fp2,fp3は浮動小数点形式のデータの先頭アドレス。
●データ,データ1,データ2,データ3はそれぞれ,fp,fp1,fp2,fp3の指す浮動小数点形式の数値を示す。
●stringは文字列格納用バッファのアドレス。
[例 ] ARRAY A[@SNG],B[@SNG]
[例 ] ARRAY X[@DBL],Y[@DBL]
[機能] 単精度のデータ2を倍精度にしてデータ1とする
[機能] 倍精度のデータ2を単精度にしてデータ1とする
[機能] stringに格納されたASCII文字列を浮動小数点形式のデータに変換
[返値] ASCII文字列の終了アドレス+1を返す
[機能] 16ピット長無符号整数を浮動小数点形式のデータに変換
[機能] 16ピット長符号付き整数を浮動小数点形式のデータに変換
[機能] データをASCII文字列に変換し,内部バッファに格納
[返値] 内部バッファ(ASCII文字列)の先頭アドレスを返す
[備考] エンドマークとしてASCII文字列の最後に00Hが付く
[機能] データ2とデータ3を足した答えをデータ1とする
[機能] データ2からデータ3を引いた答えをデータ1とする
[機能] データ2とデータ3を掛けた答えをデータ1とする
[機能] データ2をデータ3で割った答えをデータ1とする
[機能] データ2をデータ3で整数除算した答えをデータ1とする
[機能] データ2をデータ3で割った余りをデータ1とする
[返値] データ1のほうが大きければ1,等しければ0,小さければ-1を返す
[機能] データ2を越えない最大の整数をデータ1とする
[機能] データ2の小数点以下を切り捨ててデータ1とする
[機能] データ2の小数第1位を四捨五入してデータ1とする
[機能] データ2のアークタンジエント(逆正接)をデータ1とする
[機能] 自然対数の底eのデータの2乗をデータ1とする
[機能] 度単位のデータ2をラジアン単位に変換してデータ1とする
[機能] データ2が正の場合は1,0の場合は0,負の場合は-1をデータ1とする
(C)1989 Nobuaki Ohnuki(original)
(C)1997 Junji Okazaki(edited)
(C)2024 Oh!Ishi,Nibbles Lab.(formatted)