Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: src/third_party/fdlibm/fdlibm.js

Issue 1420473002: Move math-related typed arrays off js builtins object.. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/js/prologue.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // The following is adapted from fdlibm (http://www.netlib.org/fdlibm), 1 // The following is adapted from fdlibm (http://www.netlib.org/fdlibm),
2 // 2 //
3 // ==================================================== 3 // ====================================================
4 // Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved. 4 // Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved.
5 // 5 //
6 // Developed at SunSoft, a Sun Microsystems, Inc. business. 6 // Developed at SunSoft, a Sun Microsystems, Inc. business.
7 // Permission to use, copy, modify, and distribute this 7 // Permission to use, copy, modify, and distribute this
8 // software is freely granted, provided that this notice 8 // software is freely granted, provided that this notice
9 // is preserved. 9 // is preserved.
10 // ==================================================== 10 // ====================================================
11 // 11 //
12 // The original source code covered by the above license above has been 12 // The original source code covered by the above license above has been
13 // modified significantly by Google Inc. 13 // modified significantly by Google Inc.
14 // Copyright 2014 the V8 project authors. All rights reserved. 14 // Copyright 2014 the V8 project authors. All rights reserved.
15 // 15 //
16 // The following is a straightforward translation of fdlibm routines 16 // The following is a straightforward translation of fdlibm routines
17 // by Raymond Toy (rtoy@google.com). 17 // by Raymond Toy (rtoy@google.com).
18 18
19 // Double constants that do not have empty lower 32 bits are found in fdlibm.cc 19 // Double constants that do not have empty lower 32 bits are found in fdlibm.cc
20 // and exposed through kMath as typed array. We assume the compiler to convert 20 // and exposed through kMath as typed array. We assume the compiler to convert
21 // from decimal to binary accurately enough to produce the intended values. 21 // from decimal to binary accurately enough to produce the intended values.
22 // kMath is initialized to a Float64Array during genesis and not writable. 22 // kMath is initialized to a Float64Array during genesis and not writable.
23 // rempio2result is used as a container for return values of %RemPiO2. It is 23 // rempio2result is used as a container for return values of %RemPiO2. It is
24 // initialized to a two-element Float64Array during genesis. 24 // initialized to a two-element Float64Array during genesis.
25 25
26 var kMath;
27 var rempio2result;
28
29 (function(global, utils) { 26 (function(global, utils) {
30 27
31 "use strict"; 28 "use strict";
32 29
33 %CheckIsBootstrapping(); 30 %CheckIsBootstrapping();
34 31
35 // ------------------------------------------------------------------- 32 // -------------------------------------------------------------------
36 // Imports 33 // Imports
37 34
38 var GlobalMath = global.Math; 35 var GlobalMath = global.Math;
36 var kMath;
39 var MathAbs; 37 var MathAbs;
40 var MathExp; 38 var MathExp;
41 var NaN = %GetRootNaN(); 39 var NaN = %GetRootNaN();
40 var rempio2result;
42 41
43 utils.Import(function(from) { 42 utils.Import(function(from) {
44 MathAbs = from.MathAbs; 43 MathAbs = from.MathAbs;
45 MathExp = from.MathExp; 44 MathExp = from.MathExp;
46 }); 45 });
47 46
47 utils.SetupTypedArray(function(arg1, arg2, arg3) {
48 kMath = arg2;
49 rempio2result = arg3;
50 });
51
48 // ------------------------------------------------------------------- 52 // -------------------------------------------------------------------
49 53
50 define INVPIO2 = kMath[0]; 54 define INVPIO2 = kMath[0];
51 define PIO2_1 = kMath[1]; 55 define PIO2_1 = kMath[1];
52 define PIO2_1T = kMath[2]; 56 define PIO2_1T = kMath[2];
53 define PIO2_2 = kMath[3]; 57 define PIO2_2 = kMath[3];
54 define PIO2_2T = kMath[4]; 58 define PIO2_2T = kMath[4];
55 define PIO2_3 = kMath[5]; 59 define PIO2_3 = kMath[5];
56 define PIO2_3T = kMath[6]; 60 define PIO2_3T = kMath[6];
57 define PIO4 = kMath[32]; 61 define PIO4 = kMath[32];
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 "log10", MathLog10, 1094 "log10", MathLog10,
1091 "log2", MathLog2, 1095 "log2", MathLog2,
1092 "log1p", MathLog1p, 1096 "log1p", MathLog1p,
1093 "expm1", MathExpm1 1097 "expm1", MathExpm1
1094 ]); 1098 ]);
1095 1099
1096 %SetForceInlineFlag(MathSin); 1100 %SetForceInlineFlag(MathSin);
1097 %SetForceInlineFlag(MathCos); 1101 %SetForceInlineFlag(MathCos);
1098 1102
1099 }) 1103 })
OLDNEW
« no previous file with comments | « src/js/prologue.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698