diff options
Diffstat (limited to 'SunSpider/tests/math-cordic.js')
-rw-r--r-- | SunSpider/tests/math-cordic.js | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/SunSpider/tests/math-cordic.js b/SunSpider/tests/math-cordic.js deleted file mode 100644 index 4d3833b..0000000 --- a/SunSpider/tests/math-cordic.js +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) Rich Moore. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/////. Start CORDIC - -var AG_CONST = 0.6072529350; - -function FIXED(X) -{ - return X * 65536.0; -} - -function FLOAT(X) -{ - return X / 65536.0; -} - -function DEG2RAD(X) -{ - return 0.017453 * (X); -} - -var Angles = [ - FIXED(45.0), FIXED(26.565), FIXED(14.0362), FIXED(7.12502), - FIXED(3.57633), FIXED(1.78991), FIXED(0.895174), FIXED(0.447614), - FIXED(0.223811), FIXED(0.111906), FIXED(0.055953), - FIXED(0.027977) - ]; - - -function cordicsincos() { - var X; - var Y; - var TargetAngle; - var CurrAngle; - var Step; - - X = FIXED(AG_CONST); /* AG_CONST * cos(0) */ - Y = 0; /* AG_CONST * sin(0) */ - - TargetAngle = FIXED(28.027); - CurrAngle = 0; - for (Step = 0; Step < 12; Step++) { - var NewX; - if (TargetAngle > CurrAngle) { - NewX = X - (Y >> Step); - Y = (X >> Step) + Y; - X = NewX; - CurrAngle += Angles[Step]; - } else { - NewX = X + (Y >> Step); - Y = -(X >> Step) + Y; - X = NewX; - CurrAngle -= Angles[Step]; - } - } -} - -///// End CORDIC - -function cordic( runs ) { - var start = new Date(); - - for ( var i = 0 ; i < runs ; i++ ) { - cordicsincos(); - } - - var end = new Date(); - - return end.getTime() - start.getTime(); -} - -cordic(25000); |