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

アバター
こういち ◆.Id/aHiU36hu
2020/10/20 23:11 ネタバレ
ぬ〜ん…

コメント

アバター
こういち 2020/10/20 23:12 ◆.Id/aHiU36hu
絶対値が709*719以内になって欲しいんだけどな…
アバター
こういち 2020/10/20 23:14 ◆.Id/aHiU36hu
引き算と比較を実装するか…
(数値が2桁ずつ配列に入ってるので、簡単ではない)
アバター
こういち 2020/10/20 23:25 ◆.Id/aHiU36hu
アバター
おちゃめ 2020/10/21 6:23 ◆jH1opV6FnGyx
プチコンmkIIの仕様の中で一番厳しいのは32bit固定小数点であるため524288未満の値しか扱えないことですよね。
しかし、32bitの値の計算ができるため524288を超えそうな場合はあらかじめ2のN乗(0<N≦12)で割っておけばoverflowのリスクを減らせるし、計算するのが整数であれば誤差無しで計算が可能です。(私のポリゴン表示プログラムでもあらかじめ4096で割ることでoverflow対策をしている)
32bitをフルに使った1億とか10億とかの値も計算も可能ですが、値を復元するのは難しいため私の32bit整数演算ルーチンを使うと便利です。
http://ochameclub.web.fc2.com/petitcom/tips/routine.htm#int
アバター
こういち 2020/10/21 7:54 ◆.Id/aHiU36hu
おちゃめさんのそれは知ってましたが、計算結果が数百桁ぐらいになるので32bitでも足りないのと、プログラムが難解化するのを嫌って素直に719以下の素数を使ってます。(とは言え、使用する素数が減ることによる計算回数の減少や、floor()を使わずに済むのは魅力)
アバター
さすらいの名無し 2020/10/21 14:30 ◆LWMA5UzCJb3e
スレッドを表示する画面では画像が横向きなのに、投稿画面では画像が上下逆というバグ(?)
アバター
こういち 2020/10/21 21:53 ◆.Id/aHiU36hu
さすらいの名無しさん
詳しくは知りませんが、昔からある現象みたいですね。
アバター
あまさとしおん 2020/10/22 13:11 ◆mzDKTVUAtwqE
画像を回転させるときに、実データは回転しないで「回転を示す情報」を書き換えてる場合があるのですが、その「回転を示す情報」を掲示板プログラムが正常に解釈してないのでそうなる、と予想してます
アバター
あまさとしおん 2020/10/22 13:14 ◆mzDKTVUAtwqE
ちなみに、投稿に表示されてるものは、サイズや形式に関係なくjpgに再圧縮するというアホ仕様になっていますが、その変換の際に回転フラグを破棄してる気がしますね
アバター
こういち 2020/10/22 23:29 ◆.Id/aHiU36hu
一見上手く動いてるように見えるけど…
49とか入れたら間違った値が帰ってくる。
アバター
こういち 2020/10/31 17:08 ◆.Id/aHiU36hu
出来た。恐らく合ってると思われ。
http://suguru.jp/Fibonacci/Lucas100.html
アバター
こういち 2020/10/31 17:08 ◆.Id/aHiU36hu
100番目
アバター
こういち 2020/10/31 17:14 ◆.Id/aHiU36hu
1000番目
さすがにここまでくると計算に3.7秒ほどかかる。
検算はF(1000)+2*F(999)で出来るけど、面倒なのでパス。
http://www.suguru.jp/Fibonacci/fib1-10000/fib1-1000.html

余裕があれば定数倍の高速化とリスト短縮もしたいけど、気力切れ。
プチコンMkUで参照の局所性上げるのって意味あるのかな…
アバター
こういち 2020/11/4 11:14 ◆.Id/aHiU36hu
定数倍高速化の作戦

FORをGOTOに直す
多少の可読性を生け贄にそこそこの速度を得る高速化。出来ればループも逆順にしたい。

参照の局所性を上げる
効果は不明。値がA(I*4)みたいに4要素ごとに飛び飛びに入ってるので、それを前か後ろの要素に集中させて、キャッシュを効きやすくする。
逆順にする都合上、後ろの要素に集中させるのが良いと思われ

変数使い回しの強化
参照の局所性を上昇させると共に、使用メモリを抑える。

一時変数の利用
配列へのアクセスを少なくする

あと、デカイ数入力するとエラー吐くのと最上位に0が付くのも直したい。

コメントを書く

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

- WEB PATIO -