Closed GoogleCodeExporter closed 9 years ago
問題 cygwin/gcc3.4.4 環境下でビルドしたredsvd0.1.2において、計算結果がnanになる 原因 sampleTwoGaussian(float&,float&): redsvd.cppにおいて、 float v1 = (float)(rand()) / ((float)RAND_MAX+1); float v2 = (float)(rand()) / ((float)RAND_MAX+1); float len = sqrt(-2.f * log(v1)); というコードがある。rand()の値域は0を含むが、v1に0が設定� ��れた場合lenがinfとなり以降の値がおかしくなる。 当該環境においては、srand()されていない場合、rand()を一回� ��に呼んだ時の初期値がかならず0となるため、常時計算結�� �がおかしくなることになる。 解決方法 rand()が0を返す場合を考慮する。 知識不足でパッチは書けませんでした。 以上よろしくお願いします。
Original issue reported on code.google.com by discommu...@gmail.com on 15 Nov 2010 at 6:48
discommu...@gmail.com
こちら0より大きい値で1未満が返すように変更いたしました 。(version 0.1.3より)
Original comment by Daisuke.Okanohara on 12 Apr 2011 at 5:38
Daisuke.Okanohara
Original issue reported on code.google.com by
discommu...@gmail.com
on 15 Nov 2010 at 6:48