コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
あまさとしおん ◆mzDKTVUAtwqE
2020/7/16 14:19
2^53より大きな数値を正確に計算できる『BIG_CALCライブラリ』の開発を始めました。
1024^16も1の位までしっかり計算できます。
(上段:ライブラリによる計算、下段:プチコンによる計算)

この計算では処理時間が10秒ぐらい掛かりました。

コメント

アバター
あまさとしおん 2020/7/16 14:21 ◆mzDKTVUAtwqE
実行可能な計算
real+real
real-real
real*int
int^int
以上です。
負数は使うことができません。(減算を活用してください。)

・凡例
real:『実数型』
int:『整数型』
アバター
あまさとしおん 2020/7/16 14:22 ◆mzDKTVUAtwqE
なお、反復処理の都合上
*で数秒
^で10秒以上
といった長い処理時間が掛かることにご注意ください。
アバター
あまさとしおん 2020/7/16 14:25 ◆mzDKTVUAtwqE
桁数は可変長ですが、長さに応じて処理時間が顕著に増えるため実用上は40桁ぐらいがいっぱいでしょう。
アバター
あまさとしおん 2020/7/16 14:31 ◆mzDKTVUAtwqE
JavaScriptの"BigInt"という型に触発されて作った物ですので、小数を含む計算についてはおまけだと思ってください
(十進法演算による誤差無しを活用するためのおまけです)
アバター
あまさとしおん 2020/7/16 14:34 ◆mzDKTVUAtwqE
プチコン3号(New3DS系)でテストを行っているので、プチコン4に移植すればもうちょっとマシな速度が出るはずです。
アバター
あまさとしおん 2020/7/16 14:42 ◆mzDKTVUAtwqE
累乗の尋常ではない遅さは、式の変形をして無理やり高速化することはできるかな


16乗→
16回掛け算をする(真面目な方法)
4回掛け算をした結果を2回掛け算する(へし折った方法)


ただし、式の判定を複雑にすると、簡略化できない式の場合
処理時間の合計=式の判定+真面目な掛け算の反復
という合算になってかえって低速になるのであんまり無茶はできないんだよね
アバター
あまさとしおん 2020/7/16 14:56 ◆mzDKTVUAtwqE
あー極端な話判定をテーブル化してしまえばいいのか
アバター
あまさとしおん 2020/7/16 14:59 ◆mzDKTVUAtwqE
高速化は基礎的な機能の実装が終わってから一括でやった方が良いな

あくまでも原始的な実装でうまくいってから。
アバター
こういち 2020/7/16 15:03 ◆.Id/aHiU36hu
>負数は使うことができません<
Garnerかな?
MkUで作ろうとしたけど、面倒だったのでやめた記憶。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -