forked from: Member versus Function

by yooyke forked from Member versus Function (diff: 41)
import PubFunc.PubFunc;
import PubFunc.PubFunc;
import PubMember.PubMember;
import PubMember.PubMember;
import PubMember.PubMember;
import PubMember.PubMember;
import PubFunc.PubFunc;
import PubFunc.PubFunc;
♥0 | Line 49 | Modified 2011-01-17 18:38:53 | MIT License
play

ActionScript3 source code

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

// forked from yooyke's Member versus Function
// forked from Fumio's Vector class versus Array class
package {
    //import PubFunc.PubFunc;
    //import PubFunc.PubFunc;
    //import PubMember.PubMember;
    //import PubMember.PubMember;
    //import PubMember.PubMember;
    //import PubMember.PubMember;
    //import PubFunc.PubFunc;
    //import PubFunc.PubFunc;
    import flash.display.Sprite;
    import flash.utils.getTimer;
    import flash.text.TextField;
    [SWF(width = "240", height = "180")]
    public class Member_vs_Func extends Sprite {
        private static var my_txt:TextField = new TextField();
        private static var label_txt:TextField = new TextField();
        private const MAX_NUMBER:int = 5000000;
        private var i:int;
        private var val:Number;
        private var started:int;
        public function Member_vs_Func() {
            testNum();
            testBit();
            // TextField for display
            addChild(my_txt);
            addChild(label_txt);
            my_txt.x += 80;
            label_txt.text = "Bit:\nNum:";
        }
        private function testBit():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                if (i % 2 == 0) {
                    val *= 2;
                }
                else {
                    val *= 0.5;
                }
            }
            xTrace(getTimer() - started);
        }
        private function testNum():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                if (i % 2 == 0) {
                    val *= 2;
                }
                else {
                    val /= 2;
                }
            }
            xTrace(getTimer() - started);
        }
        public function xTrace(n:int):void {
            my_txt.appendText(String(n) + "\n");
        }
    }
}