ab.com コミュニティ
https://www.activebasic.com/forum/

CInt 高速化
https://www.activebasic.com/forum/viewtopic.php?t=1967
ページ 11

作成者:  じみっちぃ [ 2007年6月06日(水) 17:24 ]
記事の件名:  CInt 高速化

以前、ここのコミュで マクロ の使い方を教えてもらったのですが、
色々試してたら、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完了"

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

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/