flash on 2010-5-1

by uwi
♥0 | Line 44 | Modified 2010-05-02 00:12:15 | MIT License
play

ActionScript3 source code

/**
 * Copyright uwi ( http://wonderfl.net/user/uwi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/xv7t
 */

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class Test extends Sprite {
        private var _tf : TextField;
  
        public function Test() {
            _tf = new TextField();
            _tf.width = 465;
            _tf.height = 465;
            addChild(_tf);

            var N : uint = 10;
            var re : Array = new Array(1<<N);
            var im : Array = new Array(1<<N);
            var i : uint, j : uint, k : uint;
            for(i = 0;i < 1 << N;i++){
            		re[i] = 0; im[i] = 0;
            } 
            for(i = 0;i < N;i++){
            		var rec : Number = Math.cos(i / N * Math.PI * 2);
            		var imc : Number = Math.sin(i / N * Math.PI * 2);
            		for(j = 0;j < 1 << i;j++){
            			var base : uint = j << (N-i);
            			for(k = 0;k < 1 << (N - i - 1);k++){
            				re[k+base] += rec;
            				im[k+base] += imc;
            			}
            		}
            }
            
            var ct : uint = 0;
            for(i = 0;i < 1 << N;i++){
            		var d2 : Number = re[i] * re[i] + im[i] * im[i];
            		if(d2 < 0.9999999999){
            			ct++;
//            			tr(d2, re[i], im[i]);
            		}
            }
            tr(ct);
            tr(ct / (1<<N));
        }

        private function tr(...o : Array) : void
        {
            _tf.appendText(o + "\n");
        }
    }
}