メニエスの名のもとに

プログラミング関係を中心としたぐだぐだブログ

2015-01-01から1年間の記事一覧

dSFMTdc サンプル

dSMFT のパラメータを生成するプログラム MTToolBox のサンプルにdSFMTのパラメータ生成プログラムを追加しました。 いまのところ、私が作った疑似乱数生成器の中である意味一番出来がいいのがdSFMTである。まあ、IEEE754形式で生成というのも、lungを使うと…

dSFMTの論文にミスがありました。

均等分布次元計算プログラムのバグです。 dSFMTの場合、均等分布次元は初期値によって変動する可能性があり、その変動の中でも最悪でもこれだけはあるという値を論文に掲載していました。しかし、正しい値はそれよりも悪い値になります。なお、論文の結論自…

SFMTの論文にミスがありました。

均等分布次元計算プログラムのバグです。 SFMTの場合、均等分布次元は初期値によって変動する可能性があり、その変動の中でも最悪でもこれだけはあるという値を論文に掲載していました。しかし、正しい値はそれよりも悪い値になります。なお、論文の結論自体…

sfmtdc サンプル

技術的負債 MSaito/MTToolBox · GitHub MTToolBoxにSFMTDCのサンプルを追加した。 昔の自分のプログラムを直すのが、こんなに大変だとは思わなかった。 でも、俺にしか出来ないという程ではなくても、他の人がやったら無駄に時間を使うと思うので、優秀な人…

autotools対応中

これもウソ対応です config.h とか作成されるけど、どこでも見ていません。まだgit pushしてないし。 shared library にしようとして失敗しました OS X ではうまく shared library が作成されたんだけど、ubuntu でやったら作成できなかった。MTToolBox はNT…

autotools 対応しました。

実は対応していない。 MSaito/NumPl · GitHub ./configure でコンパイルできるようにした(つもり)。その意味では、autotools 対応をした。しかし、環境依存をみてコードを変えるとかいうことはしていない。その意味では対応していない。autotoolsを利用し…

reducible ブランチをpushしました。

可約ジェネレータ開発ツール 疑似乱数生成器開発用ツールMTToolBoxの新機能、可約ジェネレータ開発ツールを入れたreducible ブランチをMSaito/MTToolBox · GitHubにpushしました。まだマージしてないけど、sample として Reducible MTを付けたので、使いたい…

重大なバグ

TinyMT と XSadd についての重大なバグが報告されました。 xsadd_float, xsadd_double, tinymt32_generate_float, tinymt64_generate_double 関数は[0, 1)区間の浮動小数点数、つまり0以上1未満の数を返すはずですが、バグにより1.0を返すことがありました。…

何かがおかしい

コピーしてちょっと直すという修正はおかしい しばらく他のことをやっていて、今週頭からまたMTToolBoxの機能拡張に取り組んでいた。そして今日になって思ったのだが、何かがおかしい。コピーしてちょっと直すという修正をしているのだ。いやいや、そういう…

過去とは恥ずかしいもの

昔のソースを見直す MTToolBoxの修正。最初はさっぱりわからんかったが、コメントの入っていないソースにコメントを入れながら読んでいたら、思い出したぁ! このやり方はイケてない。そう、昔のことを思い出した時の正しい反応は赤面することである。昔のア…

疑似乱数生成器

MTToolBox MTToolBox というのは、疑似乱数生成器を開発する際に利用できるツールである。これを公開したら、卒論や修論で疑似乱数生成器を作る人が続出して、様々な疑似乱数生成器が乱立し、どれがよいのやら速いのやらまったく分からなくなって世の中が混…

macports + scons でハマる。

AutoTools が難しすぎて使えないので scons にしたのであった。 ただし、make くらいならなんとか easy mode で使えるので、ふだんは make を使い、環境依存が大きくmake の easy mode ではどうにもならないような場合は scons を使うというように使い分けて…

ナンプレ問題生成のGitHubのWikiを書きました

MSaito/NumPl Home · MSaito/NumPl Wiki · GitHubいやあ、MarkDownって便利ですなぁ。こうやって、テキストで書いてそれがhtmlに編集されるなんて便利すぎますよ。私もRD(Ruby Document Format)や、このはてな記法や、doxygenの記法や、PukiWiki の記法やら…

ナンプレ(数独)問題作成プログラム 生成法解説2

phase3 再帰しながら指定された解法を含むまで全部調べる。 phase3 は再帰アルゴリズム。入力は盤面配列(実は入出力)と検索開始位置と解法指定、出力はあまり言いたくないけど難易度、ただし、マイナスは矛盾があって解けない。ゼロは知っている解法では解…

ナンプレ(数独)問題作成プログラム ドキュメント

ドキュメントは重要、超重要 といいながら、プログラムが出来てからドキュメントを書いているようではいけないわけだが。doxygen ドキュメントを頑張っていれましたよ。まだまだ不足していますが、一気にやる気力はない。ボチボチやるが、ドキュメントなので…

ナンプレ(数独)問題作成プログラム その23 generate

generate の実行形式がmake できるソースをGitHubに上げました。 まあ、例によってバグがあるという可能性は否定できない。というかむしろ高い。 ドキュメントが出来ていない。doxygen を想定してコメントは入れていたけど、実際にはdoxygenをかけていないの…

Application Not Responding 対策

処理が遅くてANRが発生しているのだと思っていたが、実際にはバグだった。 自分のバグじゃないと思ったときは、たいてい自分のバグなんだよね。解いている途中のデータを保存するときに、不正な保存形式になっていて、次回起動時にその不正なデータを読み込…

Application Not Responding 対策

ANR が発生していました。 ANR 対策のためアプリを全面的に書き換えています。その間、ナンプレアプリの公開を停止しています。デバッグ後、再度公開する予定です。 基準がないのが問題ではないか。 重い処理をするときは別タスクと言っても、どこから重いか…

ナンプレ(数独)問題作成プログラム その22 normalize

normalize analyze の最初の版で目指していたのは、convertによって変わらない解法のリストを出力することであった。それとは別に、convertによって替わり得る問題、つまり実質的には同じ問題を違う問題として出力してしまうという危険性を避ける必要がある…

ナンプレ(数独)問題作成プログラム その21 xywing

analyze を単純化 analyze は無駄に複雑で重い割りに、目的を完全には達成していないので単純化することにしました。苦労してデバッグしたのに、機能をほとんど取ってしまいました。「泣いて馬謖を斬る」という感じでしょうか。いや、三国志は全然詳しくない…

androidアプリ「ミニナンプレ6×6」をリリースしました

android 用アプリ「ミニナンプレ6×6」をリリースしました。 ミニナンプレ6x6その0 - Google Play の Android アプリ無料 ミニナンプレ6x6その1 - Google Play の Android アプリ100円先に入力するマスを指定して、その後数字を入力します。指定したマスはス…

ナンプレ(数独)問題作成プログラム その20 analyze

酔っ払ってプログラムを書いた。 一度作った問題を convert によって変換して何度も使うようにするという考えであった。ところが、convert すると solve で求める解法が違ってしまうので、convertで変わらないような解法の情報を求めようとしていたのであっ…