RSS Twitter Facebook


« 2018年08月 | 2018年09月のアーカイブ |

2018/09/18

整数の平方根(切り捨て)


FPU を使えない環境でたま~に使いたくなって、どうやってたっけ? と毎回昔のコードを掘り返したりしているので、メモ。

バビロニアンメソッドと呼ばれる奴で、16bit値くらいなら割り算10回分程度。
真の値は戻り値と戻り値 +1 の間になるように多少気を使っている。

unsigned int sqrint(unsigned int x){
  unsigned int y1 = x, y2 = (x + 1) >> 1;
  while(y2 < y1)
    y1 = y2, y2 = (y1 + x / y1) >> 1;
  return y1;
}

posted by g200kg : 12:20 PM : PermaLink

2018/09/02

WebAudio API 2018 日本語訳 最新版公開


6月19日に公開されていた W3C の「Web Audio API」のワーキングドラフトの日本語化が完了したので公開します。前回の版(2015年版) と比べて大きな所では

 ・ScriptProcessor の置き換えとなる AudioWorklet の仕様
 ・名前が何度かふらふら変わっていた Panner 関係の整理
 ・新しいノード constantSourceNode、mediaStreamTrackSourceNode の定義
 ・ノードのコンストラクタの仕様

あたりが最新仕様に沿ったものになっています。

なかなか翻訳に手こずったなと思ったら、ブラウザを作る人向けの内部アルゴリズムの手順等も大幅に加筆されているので2015年版に比べてサイズが 3 倍近くになってます。

Web Audio API を軽く触ってみたいという時には少し重いドキュメントですが、これが原典ですし、ソフトウェアによる音響処理の実装の解説として見れば、実際的な音響処理について大勢が寄ってたかって編集/レビューしたとてもレアな文書だと思います。興味がある人には読み物としてじっくり読んでもとても有用な内容です。これが普通に公開されているのだから読まないともったいないですよ。

Web Audio API, W3C Working Draft, 19 June 2018 (日本語訳)

posted by g200kg : 11:32 AM : PermaLink

« 2018年08月 | 2018年09月のアーカイブ |


g200kg