ver 0.0.11 BigIntSqrtで演算が終了しないバグを修正 bevalを追加 ver 0.0.10 [06/05/17] サンプルにrsa.hspを追加 BigIntSetSignの第二引数に何を指定しようが、いちゃもん付けてくるバグを修正 BigIntIsZeroを追加 BigIntIsOneを追加 BigIntCompareToIntを追加 BigIntEquarlsIntを追加 BigIntAdd, BigIntSubtractで第二引数が第一引数に上書きされるバグを修正 条件によってはBigIntToBinaryStringでオーバーフローするバグを修正 BigIntGenrandで変数が初期化されたかを確認してなかったので修正 BigIntGenrandで桁数に4の倍数を指定しないと正しい乱数が得られないバグを修正 BigIntPowerRemainder側でゼロ除算を検出できるように修正 BigIntPowerRemainderで指数に負の数値を指定したらゼロを返すようにした ver 0.0.9 [06/05/04] genrandを追加 init_genrandを追加 BigIntGenrandを追加 hsファイルにちょっと不備があったので修正 BigIntの初期化関連の命令を対巨大整数仕様で高速化。全体的に演算速度が上がったかも といっても BIGINT_NUM_ARRAY によほど大きな数を指定しない限り変わらないはず BigIntToBinaryStringを高速化 (マックではBigIntToBinaryString, BigIntPowerPowerRemainder で正常な値を返せなくなったかも readme.txtに FAQ 追加 他にも何かやったかも ver 0.0.8 [06/04/09] fTimer.hsp を同梱させてしまっていたので除いた root2.hsp のデモの桁数が大きいままだったので修正した なんとなく作った isVariable がそのまま入ってたので除去した BigIntDebug, _D を非公開関数にした _DEBUG_MODEを廃止した 変わりに_BIGINT_NOALERT, _BIGINT_AUTO_ALLOCATEを使用した _ALIAS_USABLEをちょっと変更 ソースに.hs を埋め込んでみた。ちょっと微妙 BigIntAddをちょっと高速化。被加算値、加算値の差がある程度大きくないと逆に遅いかも BigIntSubtractをちょっと高速化。被加算値、加算値の差がある程度大きくないと逆に遅いかも デバッグモードかどうかで影響を受ける場所があったので除去 ver 0.0.7 [06/04/04] BigIntDivision で商が負で余りが零だと変な値になってしまっていたので修正 BigIntGCD を高速化 ついでに BigIntLCD を作成。LCDってあんま面白くない BigIntDebug で桁数がちょっと間違ってたのをようやく修正 BigIntAdd をオーバーロードできるようにした BigIntSubtract をオーバーロードできるようにした とりあえず公開してみる ver 0.0.6 [06/04/01] 従来の printDebug を変更し改行が末尾に入らないようにした それに伴い今までのものを printlnDebug に改名(ver 0.0.5 以前のテストモジュールはちょっと表示がおかしくなっているかも) ついでなので removeDebugBox を追加 BigIntShift でアンダーフローしたときにゼロ初期化してなかったのでするようにした BigIntAdd をちょっと高速化した BigIntAddInt で整数が0かどうかをチェックしないようにした BigIntAddInt で繰り上げ処理のあとの使用チャンク数のリセットがうまくいっていなかったので修正 BigIntAddInt の第二引数に制限をつけた BigIntAddInt をちょっと高速化した BigIntSubstruct をちょっと高速化 BigIntSubstructInt で整数が0かどうかをチェックしないようにした BigIntSubstructInt の第二引数に制限をつけた BigIntMultiply をちょっと高速化 BigIntSquare をちょっと高速化 BigIntDivision の一時変数の使い方をちょっと変更 これにより BigIntInit の方もちょっと変更され、BIGINT_NUM_ARRAY の影響をちょっとうけやすくなった BigIntToBinaryString の上位ビットの0の除去を高速化 BigIntSetModVariable の位置がちょっと変わってる BigIntDivision を負の数に対応(ちょっといい加減) BigIntIsOdd を実装 BigIntAbs を作成 BigIntGetSign を作成 BigIntSetSign を作成 BigIntNegative を作成 BigIntEquarls を作成 BigIntToInt を作成 mod から remain に変更 Substruct から Subtruct に変更。というか修正 BigIntGCD を作成 ver 0.0.5 [06/03/31] BigIntCreateの書式が変だったときにその原因がわかりやすくなるようにした(微妙) ALERT_ON..でどの引数がだめかわかるようにした BigIntPowerMod作成 BigIntSetで判別できる符号をマイナスだけにした(プラスをつぶした) BigIntSqrt追加 BigIntSquare追加 _CHALLENGER_MODE廃止 BigIntShiftをオーバーロードできるようにした 結局 unless はやめた かなりブランクができちゃったからとりあえず保存 ver 0.0.4 [06/02/24] BigIntToStringで桁数が少ないときの表示が変だったので修正 printDebugをちょっと改造 BigIntAddIntで整数に0を指定すると0除算が発生してとまる不具合修正 BigIntDivisionで状況によっては正しい解が得られなかったのを修正 BigIntDivisionをオーバーロードできるようにした BigIntSetModVariableを実装 BigIntDivisionでdupした変数を微妙に変更 powを作成 BigIntPowerを作成 BigIntSetが数値定数に対応しきれてなかったので修正 BigIntToBinaryStringを作成 timerWatcher.hspを作成 fTimer.hspの使用をやめる BigIntMultiplyIntの第3引数が0だとおかしな変数ができてしまったので修正 BigIntShiftを作成 BigIntCreateByBigIntを作成 BigIntMultiplyをオーバーロードできるようにした BigIntSubstructIntで繰り下げが起こらないと値がおかしくなる不具合を修正 ver 0.0.3 [06/02/24] BigIntInitWithZero で符号が初期化されていなかったのを修正 BigIntDivisionのゼロ除算の検出ができていなかったので修正 減算関数で答えが0になるときBigIntNumUseArrayメンバがおかしくなるのを修正 BigIntSubstructで被減算値の絶対値が減算値の絶対値を上回っていたとき、演算がおかしくなるのを修正 (すでに ver 0.0.1 あたりでおかしくなっていた可能性があるので、BigIntDividionとかも影響を受けてたかも) BigIntResetUseArray作成 BigIntModInt実装 debug.hsp追加 使用する桁数を BIGINT_NUM_DIGIT で指定するようにした ver 0.0.2 [06/02/22] BigIntSubstructEx を追加 BigIntDivision をさらに高速化(状況に依存するが、手元のテストでは20倍程度) デバッグ用コードが混じってて汚い ver 0.0.1 [06/02/19] BigIntMultiplyIntを微妙に改造 BigIntCreate TBigInt, int を実装 BigIntDivision を高速化(たまに変な値を返す) BigIntSubstructで第二引数が壊れるバグを修正 BigIntClone, BigIntInitWithZeroの生成されるバイトコードの量を減らして高速化 BigIntDebug でBigIntとして不正な数値が含まれていないかを検証できるようにした unless() 追加 bigIntNumArray -> BIGINT_NUM_ARRAY に変更 ver 0.0.0 [06/02/14] とりあえず保存 四則演算はそろっている。除算が遅い 保存し忘れた ## vim: ts=2