sogayaのプログラミング

コマンドユーザーズガイド、さらしの集計、トリシーカー、ロトサマリー

DFL版のviewXBM

きょう初めてDFL版のGUIソフトウェアをアップロードしました! DFLは、D言語GUIライブラリです。ZIPのファイル名は、viewXBM_DFL.zipです。C, D, DFLが利用できる環境で、viewXBMを構築しました。Windows 2000のパソコン(Pentium 4プロセッサ)に、Digital Mars D Compiler v1.030をインストールして、さらにD Forms Library Version 0.9.8 Beta (DFL)をインストールしました。Digital Mars Compiler Version 8.42nもインストールされています。ソースコードおよびdflvi.batを添付しました。viewXBM.resのリソースファイルを作成するには、たとえば、rccvi.batを使用します。viewXBM.exeおよびmanage.txtが同一のフォルダにあります。XBMは、UNIXのモノクロ画像形式です。各点の真の色彩は、黒ですが、濃紺の矩形(くけい)で表現されます。manage.txtの第2行に4を記入して、第3行に4を記入した場合、各点として、正方形は、4の幅、4の高さで表示されます。プログラミング言語としてDを使用したため、UTF-8文字コードを想定しています。C版のsjisUTF8を添付しました。sjisUTF8コマンドは、シフトJISのテキストファイルをUTF-8のテキストファイルに変換します。DFL版のviewXBMは、Win32API版のviewXBMより遅い。viewXBM.pdf

f:id:sogaya:20170316222328j:plain

Swing版のViewXbm

XBMは、X11Bitmapであり、UNIXのモノクロ画像形式です。XBMによる画像の幅は、8の倍数です。XBMの閲覧および編集は、テキストエディタで可能です。ただし、十六進数の配列であり、わかりにくい。Javaを実行できる環境でViewXbmを利用します。Swingは、JavaGUIライブラリです。ViewXbmは、点を矩形(くけい)で表示します。矩形としては、正方形、長方形があります。矩形の一辺として、10から16程度までの幅、高さを想定しています。Swing版のViewXbmは、JDK 1.3.1で構築されています。JDK 1.8.0でも構築できます。ViewXbmは、XBMを読み込んで、画像のランレングス符号化を行って、kopic.kunを作成できます。kopic.xbmは、テキストファイルですが、kopic.kunは、バイナリファイルです。起動支援ソフトウェアとして、doubleClick.exeがViewXbmに添付されており、Windowsの場合、エクスプローラでdoubleClickを表示してダブルクリックすることで、kopic.xbmの各点は、10×10の正方形として描画されます。自動的にコマンドプロンプトを最小化するには、doubleClick.txtの第1行に[Start]を記述して、doubleClick.txtの第3行に1を記入してください。まず中央に配置されて、次に最小化されます。Windows 2000, Windows 7で確認しました(Windows 10では、そうならなかった)。ViewXbm.pdf

Java版のKopic

Java版のKopicを試すことができます! XBMに基づくCSVにしたがってKopicで20480行を出力して、自作のツールで重複を意識しないでカウントして、市販のソフトウェアでグラフを作成しました。添付のviewXBMは、Win32APIを利用しています。viewXBMでXBMを表示しました。XBMは、左側の白い領域の幅が重みを表現します。グラフは、高さがボールの個数を表現します。XBMの重みがグラフの高さに反映していることがわかります。テスト結果として、こうしたグラフが実現するように、仕様を変更しました。以前の仕様は、乱数表から乱数を読み込んで、重みにしたがって出力しましたが、標本の数を増加しても、わかりやすいグラフが実現しません。新しい仕様として、乱数表から乱数を読み込む発想を活かすために多対一の対応を表現する変換表を用意して、乱数から数に変換するモードを追加しました(-m)。重みにしたがって出力するモードは、もはや乱数表から読み込まないで、内部で乱数を発生します。1から37までの乱数ではなく、0から4294967295までの乱数を利用するため、精度が向上しました。継承した仕様として、乱数表から乱数を順に読み込んで、7個を組み合わせて出力するモードもあります(-w-)。

f:id:sogaya:20161207153054j:plain

 

FLTK版のロト7高速選択ソフトウェアkopic

kopicは、ロト7高速選択ソフトウェアです。CSVにしたがって、kopicは、重みを付与して、ロト7の組合せを出力できます。FLTK版のkopicは、XBMからCSVを作成できます。XBMは、X11 Bitmapであり、UNIXのモノクロ画像形式です。FLTKは、GUIライブラリです。FLTK版のkopicは、XBMの閲覧および編集が可能です。海の物とも山の物ともつかない状況から、sogayaが独自にkopicを考案しました。編集の各操作には、元に戻す機能(Undo, アンドゥー)があります。FLTK版のkopicは、画像のランレングス符号化が可能です。乱数発生器として、mt19937arが乱数表に使用されています。mt19937arは、32ビットアプリケーションのライブラリとしてCで実装されたメルセンヌツイスタ(MT)です。kopicの詳細な説明は、ぜひPDFを参照してください。kopic.pdf

Java版のGrep

2016年1月19日にウェブ魚拓を作成しました。4か月が経過して、2016年5月11日(水)に、java grepを検索したら、ロトサマリー板が最初のページにきました。いまでもjava grepではなくJava版のGrepを検索したら、最初のページにきます。

java grepGoogleで検索したら、ロトサマリー板にあるJava版のGrepが1ページに登場しました! きょう初登場です。おれだけかな? いちおう検索する前に、履歴を削除しました。日本語版のGoogleです」

ロトサマリー by @びんたん

ウェブ魚拓

@niftyレンタル掲示板は、消滅しました。sogaya.orange.coocan.jpのロトサマリー板は、もうアクセスできません。ロトサマリー板の後継として、このブログを開設しました。java grepGoogleで検索したら、ウェブ魚拓が見つかります。Googleの検索結果の最初のページに来たとき、この魚拓を作成しました。【魚拓】Java版のGrep:ロトサマリー板:@niftyレンタル掲示板