CInt 高速化

オープンソース形式でコードを共有するフォーラムです。お役立ちコード、あなたも投稿してみませんか?
返信する
メッセージ
作成者
じみっちぃ

CInt 高速化

#1 投稿記事 by じみっちぃ »

以前、ここのコミュで マクロ の使い方を教えてもらったのですが、
色々試してたら、CInt関数の高速化ができたのでとりあえず公開しておこうかと(^^ゞ

といっても、大したことはないのですが。
CInt関数は、ABルートフォルダの
Include\basic\function.sbp
に定義されているようです。

こちらが関数ルーチンを使っていたので、
マクロに置き換えてみました。

コード: 全て選択

Const CIntEx(number) = (number As Double) As Long
使い方は、CInt と定義する所を CIntEx とするだけです。


とりあえず、BASIC PROMPT で試してみましたが
ノーマルに比べると早くなったようです。
#ちなみに、ほかの関数も置き換えられますね。 > function.sbp

コード: 全て選択


Dim AAA As Long
Dim BBB As Long

'CIntの高速版を定義。
Const CIntEx(number) = (number As Double) As Long

AAA = 1000.223243232343534334232

Dim i As Long,j As Long

Print "CInt開始"
Print Time$()
For i=0 To 2^21
    BBB=CInt(AAA)
Next
Print Time$()
Print "CInt完了"

Print "-------------"

Print "CIntEx開始"
Print Time$()
For i=0 To 2^21
    BBB=CIntEx(AAA)
Next
Print Time$()
Print "CIntEx完了"

あまり役に立たないかもですが、とりあえず情報共有まで。
返信する