タグ

algorithmとossに関するgigi-netのブックマーク (2)

  • PHPのmt_rand()にプルリクを送った - kusano_k’s blog

    この話。 PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm PHPのmt_rand()が実装にミスがあることを知ったので、「PHPのコミットログに名前を載せるぞ╭( ・ㅂ・)و」と思ってプルリクを送ったら、一旦マージされたけど、リバートされた。 詳細 https://github.com/php/php-src/pull/1681/files ついでにテストコードも付けたけど、直すべきは1文字だけ。 twistというマクロの定義が1文字間違えている。 loBit(u)ではなくloBit(v)が正しい。 #define twist(m,u,v) (m ^ (mixBits(u,v)>>1) ^ ((uint32_t)(-(int32_t)(loBit(u))) & 0x9908b0dfU)) このマク

    PHPのmt_rand()にプルリクを送った - kusano_k’s blog
  • TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,

    先日、工藤さんがJavaScript向けに作った日語のコンパクトな分かち書きツール、TinySegmenterをJuliaに移植したTinySegmenter.jlを作りました。 もともとは、PyconJPでjanomeの話を聞いたら居ても立っても居られなくなって、簡単なTinySegmenterを移植したんですが、そしたら思いもよらぬ展開が待っていました。 [2015/10/22 23:38 追記] 計測の問題を @repeatedly さんから指摘いただいたので再計測しました。 パッケージ登録時にMITの先生からツッコミが入る JuliaのパッケージはMETADATA.jlというセントラルなレポジトリで管理されています。 ここに登録されたパッケージはPkg.add("TinySegmenter")とREPLで実行するだけでパッケージが導入できます。*1 ここに登録をしようとした時に、

    TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,
  • 1