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

アバター
こういち ◆ou0jbJnEJ0Kb
2019/1/20 21:27
えっ?ちょっと待って!?
プチコンのpow()速すぎません?
第二引数の数が変わっても速度がほとんど変わらないんだけど!?
さすがにボクの計測間違いだよね???

コメント

アバター
こういち 2019/1/20 21:30 ◆ou0jbJnEJ0Kb
DEF POW(N,M)
 VAR ANS=1
 WHILE M
  IF M AND 1 THEN
   ANS=ANS*N
  ENDIF
  N=N*N
  M=M>>1
 WEND
 RETURN ANS
END
みたいな処理だと思ってたんだけどな。(Mが整数の場合)
アバター
こういち 2019/1/20 21:31 ◆ou0jbJnEJ0Kb
ニュートン法ってやつ?
それともテイラー展開?
アバター
おちゃめ 2019/1/20 21:45 ◆jH1opV6FnGyx
DEF POW(A,B)
RETURN EXP(LOG(A)*B)
END

みたいな感じだと思います。
これならば指数が小数値でも問題ないし、何乗であっても演算時間には大きな差は生じません。
LOGはテイラー展開で計算していると思います。
アバター
こういち 2019/1/20 21:49 ◆ou0jbJnEJ0Kb
なるほど。
ちょっと自分の中の価値観が崩れていく…(繰り返し二乗法知ったときもそんなこと言ってたっけ。)

コメントを書く

この投稿にはコメントできません。

- WEB PATIO -