浮動小数点数バージョン(3回目)No.04165
秀まるお さん 99/10/07 10:41
 
 浮動小数点数バージョンですが、とりあえず3回目というのを出しました。

 番頭さんに指摘してもらったバグはとりあえずなおして、さらにHideMath.dllにFo
rmat関数(数値を文字列に変換する関数)の追加などしています。

 Windows2000の発売に合わせてバージョンアップ案内メールを出さないといけなさ
そうなので、そのときに「こういうのもあります」みたいに案内することにします。


[ ]
RE:04165 浮動小数点数バージョン(3回目No.04168
いちもんじ さん 99/10/07 12:05
 
いちもんじ です。
秀まるお さんは書きました:
> 浮動小数点数バージョンですが、とりあえず3回目というのを出しました。
>
> 番頭さんに指摘してもらったバグはとりあえずなおして、さらにHideMath.dllにFo
>rmat関数(数値を文字列に変換する関数)の追加などしています。
>
> Windows2000の発売に合わせてバージョンアップ案内メールを出さないといけなさ
>そうなので、そのときに「こういうのもあります」みたいに案内することにします。
>

test.macの中の

  message dllfuncstr( "Format", "%.20lf", 123.45678901234567890876543 );

で,「%.20lf」ってどういう意味ですか?
c言語を知らないもんで。

 小数点バージョンで,変数を整数と固定して扱うにはどうしたらよいですか?

===============================
  [ 受 ] 調査部 応用気象課
          金丸 努 (内線 40)

[ ]
RE:04168 浮動小数点数バージョン(3回目No.04169
いちもんじ さん 99/10/07 12:11
 
事故レスです。

>いちもんじ です。
>秀まるお さんは書きました:
>> 浮動小数点数バージョンですが、とりあえず3回目というのを出しました。
>>
>> 番頭さんに指摘してもらったバグはとりあえずなおして、さらにHideMath.dllにFo
>>rmat関数(数値を文字列に変換する関数)の追加などしています。
>>
>> Windows2000の発売に合わせてバージョンアップ案内メールを出さないといけなさ
>>そうなので、そのときに「こういうのもあります」みたいに案内することにします。
>>
>
>test.macの中の
>
>  message dllfuncstr( "Format", "%.20lf", 123.45678901234567890876543 );
>
>で,「%.20lf」ってどういう意味ですか?
>c言語を知らないもんで。
>
> 小数点バージョンで,変数を整数と固定して扱うにはどうしたらよいですか?
>
>===============================
>  [ 受 ] 調査部 応用気象課
>          金丸 努 (内線 40)

最後の3行は,忘れて下さい。(おかしいな。署名なしにしたはずなのに。)

[ ]
RE:04168 浮動小数点数バージョン(3回目No.04172
番頭++ さん 99/10/07 14:20
 
>  message dllfuncstr( "Format", "%.20lf", 123.45678901234567890876543 );
>
>で,「%.20lf」ってどういう意味ですか?
>c言語を知らないもんで。
>
> 小数点バージョンで,変数を整数と固定して扱うにはどうしたらよいですか?

C 言語の「フォーマット化入出力関数」の書式です。「表現指示文字列」です。
「 LSI C-86 Ver.x.xx 試食版」と言うフリーの C 言語にマニュアルがあります。
http://www.vector.co.jp/soft/win95/prog/se098820.html

    message dllfuncstr( "Format", "例: 15.6f - %15.6f", 1.234567890123456E5 );
    message dllfuncstr( "Format", "%020.3f", 1.234567890123456E10 );
    message dllfuncstr( "Format", "%-10e", 1.234567890123456E100 );
    message dllfuncstr( "Format", "%8.2e", 1.23456789012345E-99 );


[ ]
RE:04165 浮動小数点数版でのloaddllで…No.04173
水銀水 さん 99/10/07 14:26
 
 秀まるおさん、こんにちわ。

●浮動小数点版、(現時点では)一般機能異常なし
 浮動小数点版秀丸、現在の所、浮動小数機能以外は、通常の
秀丸と同様に問題なく動いているようです(^^;

●正規表現を担当するdllの切り替えは可能?
 浮動小数版で気になっているのが「loaddll」です。これは
秀丸そのものに手を入れないでも、(技量のある)周辺ユーザ
が自由に遊べそうで、非常に期待が集まる部分だと思います。


 で、その範疇とは少しズレるかと恐縮ですが、正規表現部分
を担当しているJRE32.dllと同等の動きをする、BRegIf.DLL
(Arimac氏作)を、秀丸起動後の任意の時点で切り替えるよう
にできれば、最高に素晴らしい検索環境が整うと思うんですが、
やっぱり、秀丸起動後では難しいでしょうか?

 正規表現には、ある程度の方言が存在するようで、JREもBRegIf.DLL
も両方とも手放せない体になってしまっている人も、そろそろ少な
くない数に上っているかもしれません…(?)


※ちなみにBRegIf.DLLとは、秀丸エディタで、Perl5の正規表現パ
ワーを持ったBREGEXP.DLL(Baba氏作)を利用可能にするDLLで
Arimac氏によって作成されているフリーソフトウェアです。
Arimac氏URL   http://www.urban.ne.jp/home/arimac/

[ ]
RE:04165 浮動小数点数バージョン(3回No.04177
ひろ さん 99/10/07 19:14
 
 秀まるおさん今日は、ひろです。
>  浮動小数点数バージョンですが、とりあえず3回目というのを出しました。
 まったく別の理由で試してみたのですが(^^)、Ver.3.00 で復活してしまっ
た VJE-Delta の再変換気のを用いたときの bug が無くなっていました。ど
うも有り難うございました。

[ ]
RE:04165 浮動小数点数バージョン(3回目No.04178
杉浦 まさき さん 99/10/08 00:01
 
ども、杉浦 まさき です。

> 浮動小数点数バージョンですが、とりあえず3回目というのを出しました。

おお!ついに文字列が返せるようになりましたね!!

ところで、公開している僕のマクロではよくビット演算を使ってるんですが、
これは浮動小数点バージョンではNGなんでしょうねぇ…トホホ。
というわけで、整数+DLL呼出し機能版の登場予定は
あるのでしょうか??
#これがでたら「田○DLL」を作ろう…かな(^^;。


[ ]
RE:04178 浮動小数点数バージョン(3回目No.04179
える さん 99/10/08 01:39
 
>というわけで、整数+DLL呼出し機能版の登場予定は
>あるのでしょうか??

DLL 呼び出し自体は現在の秀丸にも組み込むと、浮動小数点版が出たときにかかれて
いたと思います。

# cdecl ではなく stdcall になればイロイロとできますね。
# WindowsAPI はほとんどが stdcall だし。
## cdecl な wsprintf API(浮動小数点サポートなし)とかあるんだけど(笑

[ ]
RE:04178 浮動小数点数バージョン(3回目No.04186
番頭++ さん 99/10/08 17:14
 
>ところで、公開している僕のマクロではよくビット演算を使ってるんですが、
>これは浮動小数点バージョンではNGなんでしょうねぇ…トホホ。

すべてはテストしていませんが、一般的には支障は無いみたいです。
勘違いですか ???

    message str(0xFF | 0xFF00);     // 655535 !
    message str(0xFFFF & 0x1000);   // 4096 !

[ ]
RE:04179 浮動小数点数バージョン(3回目No.04187
秀まるお さん 99/10/08 17:54
 
>>というわけで、整数+DLL呼出し機能版の登場予定は
>>あるのでしょうか??

 loaddll/freedll/dllfunc/dllfuncstr は、既に秀丸普通バージョンの元ソース
コードに手を入れているので、次の秀丸ではサポートされることになると思います。

># cdecl ではなく stdcall になればイロイロとできますね。

 今の浮動小数点数バージョンだと数値変数がdoubleで渡されるのでダメだし、どっ
ちにしてもLPCSTR型のパラメータがあるとダメだし、いろいろ無理があります。(パ
ラメータの数間違えて死んでしまうのもなんだし)

 例えば

    loaddll "bypass.dll";
    dllfunc( "typedef", "int stdcall MessageBox( int, char*, char*, int )" );
    dllfunc( "bypass", "MessageBox", hidemaruhandle(0), "test", "test", 1 );

 みたいなことが出来るバイパスDLLなら、将来作ろうかなぁとも思います。


[ ]
RE:04187 浮動小数点数バージョン(3回目No.04194
杉浦 まさき さん 99/10/08 23:41
 
ども、杉浦 です。

> loaddll/freedll/dllfunc/dllfuncstr は、既に秀丸普通バージョンの元ソース
>コードに手を入れているので、次の秀丸ではサポートされることになると思います。

どど〜ん!!
な、何と…んでは早速イロイロだしま〜す(^^;。


[ ]
RE:04186 浮動小数点数バージョン(3回目No.04195
杉浦 まさき さん 99/10/08 23:46
 
番頭++ さん、こんばんは。
杉浦 です。

>すべてはテストしていませんが、一般的には支障は無いみたいです。
>勘違いですか ???
>
>    message str(0xFF | 0xFF00);     // 655535 !
>    message str(0xFFFF & 0x1000);   // 4096 !

0xFFFFFFFF はどうなるんでしたっけ??
#double の仮数部って何桁なんだっけか…もう忘れた(^^;。


[ ]
RE:04195 浮動小数点数バージョン(3回目No.04199
番頭++ さん 99/10/09 11:23
 
> 0xFFFFFFFF はどうなるんでしたっけ??

    message char('A' & 0x40);   //  @
    message char('A' | 0x20);   //  a
    message str(0xFFFF | 0xFFFF0000);       // -1 !
    message str(0xFFFFFFFF & 0x00010000);   // 65536 !

これも正常です、int にして、演算をしているのでしょう ...

[ ]
RE:04173 浮動小数点数版でのloaddllで…No.04202
秀まるお さん 99/10/09 17:50
 
>●浮動小数点版、(現時点では)一般機能異常なし

 まいどテストありがとうございます。

>●正規表現を担当するdllの切り替えは可能?

 正規表現のDLLの切り替えは、技術的には難しくないと思います。

 一応、この辺から先になると秀丸担当の仕事になるので、サポートするかどうかも
含めて後は秀丸担当がなんとかしてくれるかなぁと…。



[ ]
RE:04165 浮動小数点数バージョン(3回No.04213
ひろ さん 99/10/12 10:33
 
 秀まるお様、ひろです。
>  番頭さんに指摘してもらったバグはとりあえずなおして、さらにHideMath.dllに
Fo
> rmat関数(数値を文字列に変換する関数)の追加などしています。
 web site に
> str 関数を使って数値変数を文字列変数に変換すると、小数点以下も付いて
> 表示される。場合によっては指数部付きの形式(+1.234E10のような形式)
> になることがある。(C言語のsprintf関数で、"%lG"フォーマット使ってま
> す)
との記載がありますが、Format 関数と何が違い、どういった利点・欠点があ
るのでしょうか?

 また val() も拡張されているのかな? -->確認しました拡張されています
ね。ただ
message str(val("1/2"));
は駄目ですね。

[ ]
RE:04213 浮動小数点数バージョン(3回No.04215
秀まるお さん 99/10/12 12:51
 
>との記載がありますが、Format 関数と何が違い、どういった利点・欠点があ
>るのでしょうか?

 欠点としては、表示精度が細かく指定できない所です。
 利点としては、とりあえずFormat関数を使うよりも手軽であるということでしょう
かね。

 Format関数では、例えば小数点以下2桁までとか、指数部無しの「100000000」と
かの表示方法も選べるし、あるいは完全に指数付きの「1.23e2」(123の場合)なん
て表示方法も選べるし、まぁ使う人しだいかなぁと…。

>message str(val("1/2"));
>は駄目ですね。

 val関数は、数値を文字列に変換するだけなので、数式の評価は出来ないです。こ
れは整数版秀丸でも同じです。

[ ]
RE:04215 浮動小数点数バージョン(3回No.04229
ひろ さん 99/10/12 18:25
 
 秀まるお様今日は、ひろです。
>  欠点としては、表示精度が細かく指定できない所です。
>  利点としては、とりあえずFormat関数を使うよりも手軽であるということでしょう
 確かに方を指定できることは大きいですね。型が解れば、leftstr() 等も
使いやすいですね。

>  val関数は、数値を文字列に変換するだけなので、数式の評価は出来ないです。こ
> れは整数版秀丸でも同じです。
 正数版は小数が使えないので、これが原因だとばかり思っていました。

[ ]
RE:04229 浮動小数点数バージョン(3回No.04230
番頭++ さん 99/10/12 18:51
 
>>  val関数は、数値を文字列に変換するだけなので、数式の評価は出来ないです。こ
>> れは整数版秀丸でも同じです。
> 正数版は小数が使えないので、これが原因だとばかり思っていました。

たぶん、秀丸は val は C 言語の atof 関数を使用していると思います。

    printf("%-15.10g\n", atof("1/2")); /* 1 となる */
    printf("%-15.10g\n", atof("0.5"));
    printf("%-15.10g\n", atof("-1E-10"));

その制限でしょう。分数の数値表現はないのでしょう。


[ ]
RE:04230 浮動小数点数バージョン(3回No.04241
ひろ さん 99/10/14 09:58
 
 番頭++さん今日は、ひろです。
> たぶん、秀丸は val は C 言語の atof 関数を使用していると思います。
 これなら納得です。

 #今となってはなんですが、浮動小数点 version については Ver.3.0 β
の時のように、別会議室にしたほうが妥当だったのかもしれませんね。

 ## Alpha machine の環境が復活したようですね。

[ ]
RE:04241 浮動小数点数バージョン(3回No.04247
秀まるお さん 99/10/14 14:45
 
> #今となってはなんですが、浮動小数点 version については Ver.3.0 β
>の時のように、別会議室にしたほうが妥当だったのかもしれませんね。

 たしかに!

 んでは今から作ろうかなぁと…

> ## Alpha machine の環境が復活したようですね。

 実は、非常に長い時間をかけて、やっと環境の復活に成功しました。Alpha用の開
発環境というのがVisualC++2.0しか無いので、それと最新のSDKを組み合わせるのに
けっこう苦労しました。

 ちなみにAlphaマシンの復活のために、PowerPCマシンが犠牲となっています。なん
まいだ〜


[ ]
RE:04247 浮動小数点数バージョン(3回No.04252
ひろ さん 99/10/14 19:01
 
 秀まるお様今日は、ひろです。
> > #今となってはなんですが、浮動小数点 version については Ver.3.0 β
> >の時のように、別会議室にしたほうが妥当だったのかもしれませんね。
>
>  たしかに!
>
>  んでは今から作ろうかなぁと…
 ご苦労様でした。初心者が多く来られるこの会議室で「β 版の話はちょっ
と」と思ったもので、思わず独り言 mode で書き込みしてしまいました。

>  実は、非常に長い時間をかけて、やっと環境の復活に成功しました。Alpha用の開
> 発環境というのがVisualC++2.0しか無いので、それと最新のSDKを組み合わせるのに
> けっこう苦労しました。
 そう言われれば、Alpha chip 用に VC は見かけませんね。本当にご苦労様
でした。

>  ちなみにAlphaマシンの復活のために、PowerPCマシンが犠牲となっています。なん
 miner hard の性ですね(;_;)。(あくまで Windows machine という意味で
す。)

 ##PowerPC は計算自体は速いし、消費電力は少ないし優れた CPU だと思い
ますが、いかんせんそれを生かす soft が無い(;_;)。

[ ]