1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
if (typeof SIMD === 'undefined' || !isSimdAvailable()) {
print("won't run tests as simd extensions aren't activated yet");
quit(0);
}
(function(global) {
"use asm";
var frd = global.Math.fround;
var fx4 = global.SIMD.Float32x4;
var fc4 = fx4.check;
var fsp = fx4.splat;
function s(){}
function d(x){x=fc4(x);}
function e() {
var x = frd(0);
x = frd(x / x);
s();
d(fsp(x));
}
return e;
})(this)();
(function(m) {
"use asm"
var k = m.SIMD.Bool32x4
var g = m.SIMD.Int32x4
var gc = g.check;
var h = g.select
function f() {
var x = k(0, 0, 0, 0)
var y = g(1, 2, 3, 4)
return gc(h(x, y, y))
}
return f;
})(this)();
t = (function(global) {
"use asm"
var toF = global.Math.fround
var f4 = global.SIMD.Float32x4
var f4c = f4.check
function p(x, y, width, value, max_iterations) {
x = x | 0
y = y | 0
width = width | 0
value = value | 0
max_iterations = max_iterations | 0
}
function m(xf, yf, yd, max_iterations) {
xf = toF(xf)
yf = toF(yf)
yd = toF(yd)
max_iterations = max_iterations | 0
var _ = f4(0, 0, 0, 0), c_im4 = f4(0, 0, 0, 0)
c_im4 = f4(yf, yd, yd, yf)
return f4c(c_im4);
}
return {p:p,m:m};
})(this)
t.p();
t.m();
|