Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、平方根の近似値を整数で取得するサンプルモジュール

HSP2.x系で、平方根の近似値を整数で取得するサンプルモジュール

Hot Soup Processor 2.x系で、平方根の近似値を取得するためのサンプルコードです。モジュール化してあるので、何かの需要があれば、モジュールとして使えます。



・・・需要あるのか?(笑)




;
;    sqrt … 平方根の計算
;
;    ○書式
;    sqrt p1
;    p1=1〜92682(0) : 数値
;
;    ○戻り値
;    stat : 成功=平方根の近似値(整数) 失敗=0
;
;    ※整数ですので、精度は良くない筈です。(^^;
;     また、速度も保証できません。
;
;
;###########モジュール開始###########
#module
#deffunc sqrt int
    mref x,0:mref n,64
    if x>$16a0a or (x==0):n=0:return    ;限界値
    if x<0:x=-x:f=1:else:f=0        ;xが負の場合の処理
    c=x+1>>1                ;初期値
    repeat c,-c
        n=cnt*cnt-x
        if -x*10<=n and(n<=1)or(cnt==-1):n=-cnt:break
    loop
    ;↑近似値の計算、10000まで動作確認済み。
    if f:n=-n
return
#global
;###########モジュール終了###########
;(例)
;sqrt 6400:mes stat:stop

最初に記事を書いた日:2017/10/30

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、平方根の近似値を整数で取得するサンプルモジュール