皆様、検証やご指摘、ありがとうございます。
>>who氏へ
>win7,64bit,Corei5ではおきませんでした。32bitのみのようですね。
検証ありがとうございます。
今のところ、64bit環境下での不具合は聞きませんから、やはりWindows7の32Bit環境特有の現象と考えるのが自然でしょうか。
そうなると、Windows7の32Bit環境下でも動作する代用のソートが必要になってきそうです。代用するならこちらのページのスクリプトでしょうか?
http://hspdev-wiki.net/?Sort%2FQuick
>>TTRUKO氏へ
>最新のhspda.dll(2011/9/13版)だと正常にソートされませんでした
別バージョンのhspdaの動作検証、ありがとうございます。
当方のバージョンは2011/01/17が最終更新日のようなので、TTRUKO氏のバージョンとは違うと思われます。
sortval命令は比較的更新回数の多い命令ですから、そう古くない更新の一つが今回の結果を生みだしているのかもしれませんね。
>>inovia氏へ
>実行したHSPのバージョンが気になりますね。
ご指摘ありがとうございます。
HSP本体側のバージョンはVer3.3、HSPDAの方は2011/01/17最終更新のVer3.2です。
基本性能に直結するHSP本体の性能向上を図る為に、敢えてHSPDAの修正は後手に回しているのかもしれないと考えると、この手の不具合も止むを得ない気がしてきました。
>>KA氏へ
>扱える数値範囲に違いが有るのでは。
ご指摘ありがとうございます。
HSPの整数型は符号付き32Bitなので最低でも正負双方向に約20億以上の表現域を持ちます。なので、−11億程度の数値なら十分扱えると思われます。
ただ、hspdaを作り上げているC++では、符号の有無やBit数を任意で定義できる為、そこのデフォルト値のずれが扱える数値範囲の違いを生みだしている可能性は少なくないと思います。