@thi.ng/shader-ast-js 1.0.25 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/api.js +0 -1
- package/env/bvec.js +17 -12
- package/env/float.js +37 -34
- package/env/int.js +23 -20
- package/env/ivec2.js +26 -23
- package/env/ivec3.js +26 -23
- package/env/ivec4.js +26 -23
- package/env/mat2.js +23 -20
- package/env/mat3.js +23 -20
- package/env/mat4.js +23 -20
- package/env/uint.js +23 -20
- package/env/uvec2.js +26 -23
- package/env/uvec3.js +26 -23
- package/env/uvec4.js +26 -23
- package/env/vec2.js +65 -62
- package/env/vec3.js +66 -63
- package/env/vec4.js +65 -62
- package/env.js +114 -96
- package/package.json +14 -12
- package/pool.js +66 -67
- package/runtime.js +44 -93
- package/target.js +201 -213
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
package/api.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/env/bvec.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { every2, every3, every4 } from "@thi.ng/vectors/every";
|
|
2
2
|
import { not2, not3, not4 } from "@thi.ng/vectors/not";
|
|
3
3
|
import { some2, some3, some4 } from "@thi.ng/vectors/some";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const BVEC2 = {
|
|
5
|
+
all: every2,
|
|
6
|
+
any: some2,
|
|
7
|
+
not: (v) => not2([], v)
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const BVEC3 = {
|
|
10
|
+
all: every3,
|
|
11
|
+
any: some3,
|
|
12
|
+
not: (v) => not3([], v)
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const BVEC4 = {
|
|
15
|
+
all: every4,
|
|
16
|
+
any: some4,
|
|
17
|
+
not: (v) => not4([], v)
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
BVEC2,
|
|
21
|
+
BVEC3,
|
|
22
|
+
BVEC4
|
|
18
23
|
};
|
package/env/float.js
CHANGED
|
@@ -3,38 +3,41 @@ import { clamp } from "@thi.ng/math/interval";
|
|
|
3
3
|
import { mix } from "@thi.ng/math/mix";
|
|
4
4
|
import { fract, mod } from "@thi.ng/math/prec";
|
|
5
5
|
import { smoothStep, step } from "@thi.ng/math/step";
|
|
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
|
-
|
|
6
|
+
const FLOAT = {
|
|
7
|
+
abs: Math.abs,
|
|
8
|
+
acos: Math.acos,
|
|
9
|
+
asin: Math.asin,
|
|
10
|
+
atan: Math.atan,
|
|
11
|
+
atannn: Math.atan2,
|
|
12
|
+
ceil: Math.ceil,
|
|
13
|
+
clamp,
|
|
14
|
+
cos: Math.cos,
|
|
15
|
+
degrees: deg,
|
|
16
|
+
dFdx: () => 0,
|
|
17
|
+
dFdy: () => 0,
|
|
18
|
+
exp: Math.exp,
|
|
19
|
+
exp2: (x) => Math.pow(2, x),
|
|
20
|
+
floor: Math.floor,
|
|
21
|
+
fract,
|
|
22
|
+
fwidth: () => 0,
|
|
23
|
+
inversesqrt: (x) => 1 / Math.sqrt(x),
|
|
24
|
+
log: Math.log,
|
|
25
|
+
log2: Math.log2,
|
|
26
|
+
max: Math.max,
|
|
27
|
+
min: Math.min,
|
|
28
|
+
mix,
|
|
29
|
+
mixn: mix,
|
|
30
|
+
mod,
|
|
31
|
+
modn: mod,
|
|
32
|
+
pow: Math.pow,
|
|
33
|
+
radians: rad,
|
|
34
|
+
sign: Math.sign,
|
|
35
|
+
sin: Math.sin,
|
|
36
|
+
smoothstep: smoothStep,
|
|
37
|
+
sqrt: Math.sqrt,
|
|
38
|
+
step,
|
|
39
|
+
tan: Math.tan
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
FLOAT
|
|
40
43
|
};
|
package/env/int.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { clamp } from "@thi.ng/math/interval";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
const INT = {
|
|
3
|
+
abs: Math.abs,
|
|
4
|
+
add: (a, b) => a + b | 0,
|
|
5
|
+
bitand: (a, b) => a & b,
|
|
6
|
+
bitnot1: (a) => ~a,
|
|
7
|
+
bitor: (a, b) => a | b,
|
|
8
|
+
bitxor: (a, b) => a ^ b,
|
|
9
|
+
clamp,
|
|
10
|
+
dec: (a) => a - 1 | 0,
|
|
11
|
+
div: (a, b) => a / b | 0,
|
|
12
|
+
inc: (a) => a + 1 | 0,
|
|
13
|
+
lshift: (a, b) => a << b,
|
|
14
|
+
max: Math.max,
|
|
15
|
+
min: Math.min,
|
|
16
|
+
modi: (a, b) => a % b,
|
|
17
|
+
mul: (a, b) => a * b | 0,
|
|
18
|
+
rshift: (a, b) => a >> b,
|
|
19
|
+
sign: Math.sign,
|
|
20
|
+
sub: (a, b) => a - b | 0,
|
|
21
|
+
sub1: (a) => -a | 0
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
INT
|
|
22
25
|
};
|
package/env/ivec2.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subI2, subNI2 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_IVEC2 } from "../pool.js";
|
|
14
14
|
import { VEC2 } from "./vec2.js";
|
|
15
15
|
const { next, uniform } = POOL_IVEC2;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const IVEC2 = {
|
|
17
|
+
...VEC2(POOL_IVEC2),
|
|
18
|
+
add: (a, b) => addI2(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNI2(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNI2(next(), b, a),
|
|
21
|
+
div: (a, b) => divI2(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNI2(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divI2(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod2(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN2(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod2(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulI2(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNI2(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNI2(next(), b, a),
|
|
30
|
+
sub: (a, b) => subI2(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNI2(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subI2(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndI2(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftI2(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotI2(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrI2(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftI2(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorI2(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
IVEC2
|
|
39
42
|
};
|
package/env/ivec3.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subI3, subNI3 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_IVEC3 } from "../pool.js";
|
|
14
14
|
import { VEC3 } from "./vec3.js";
|
|
15
15
|
const { next, uniform } = POOL_IVEC3;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const IVEC3 = {
|
|
17
|
+
...VEC3(POOL_IVEC3),
|
|
18
|
+
add: (a, b) => addI3(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNI3(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNI3(next(), b, a),
|
|
21
|
+
div: (a, b) => divI3(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNI3(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divI3(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod3(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN3(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod3(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulI3(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNI3(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNI3(next(), b, a),
|
|
30
|
+
sub: (a, b) => subI3(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNI3(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subI3(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndI3(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftI3(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotI3(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrI3(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftI3(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorI3(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
IVEC3
|
|
39
42
|
};
|
package/env/ivec4.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subI4, subNI4 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_IVEC4 } from "../pool.js";
|
|
14
14
|
import { VEC4 } from "./vec4.js";
|
|
15
15
|
const { next, uniform } = POOL_IVEC4;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const IVEC4 = {
|
|
17
|
+
...VEC4(POOL_IVEC4),
|
|
18
|
+
add: (a, b) => addI4(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNI4(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNI4(next(), b, a),
|
|
21
|
+
div: (a, b) => divI4(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNI4(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divI4(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod4(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN4(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod4(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulI4(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNI4(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNI4(next(), b, a),
|
|
30
|
+
sub: (a, b) => subI4(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNI4(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subI4(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndI4(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftI4(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotI4(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrI4(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftI4(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorI4(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
IVEC4
|
|
39
42
|
};
|
package/env/mat2.js
CHANGED
|
@@ -12,24 +12,27 @@ import { subN22 } from "@thi.ng/matrices/subn";
|
|
|
12
12
|
import { neg } from "@thi.ng/vectors/neg";
|
|
13
13
|
import { POOL_VEC4 } from "../pool.js";
|
|
14
14
|
const { next, uniform } = POOL_VEC4;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
const MAT2 = {
|
|
16
|
+
add: (a, b) => add22(next(), a, b),
|
|
17
|
+
addnv: (a, b) => addN22(next(), b, a),
|
|
18
|
+
addvn: (a, b) => addN22(next(), a, b),
|
|
19
|
+
dec: (a) => subN22(next(), a, 1),
|
|
20
|
+
div: (a, b) => div22(next(), a, b),
|
|
21
|
+
divnv: (a, b) => div22(null, uniform(a), b),
|
|
22
|
+
divvn: (a, b) => divN22(next(), a, b),
|
|
23
|
+
idx: (a, b) => [a[b * 2], a[b * 2 + 1]],
|
|
24
|
+
inc: (a) => addN22(next(), a, 1),
|
|
25
|
+
mul: (a, b) => mul22(next(), a, b),
|
|
26
|
+
mulm: (a, b) => mulM22(next(), a, b),
|
|
27
|
+
mulmv: (a, b) => mulV22(next(), a, b),
|
|
28
|
+
mulnv: (a, b) => mulN22(next(), b, a),
|
|
29
|
+
mulvm: (a, b) => mulVM22(next(), a, b),
|
|
30
|
+
mulvn: (a, b) => mulN22(next(), a, b),
|
|
31
|
+
sub: (a, b) => sub22(next(), a, b),
|
|
32
|
+
sub1: (a) => neg(next(), a),
|
|
33
|
+
subnv: (a, b) => sub22(null, uniform(a), b),
|
|
34
|
+
subvn: (a, b) => subN22(next(), a, b)
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
MAT2
|
|
35
38
|
};
|
package/env/mat3.js
CHANGED
|
@@ -12,24 +12,27 @@ import { subN33 } from "@thi.ng/matrices/subn";
|
|
|
12
12
|
import { neg } from "@thi.ng/vectors/neg";
|
|
13
13
|
import { setS3 } from "@thi.ng/vectors/sets";
|
|
14
14
|
import { vecOf } from "@thi.ng/vectors/vec-of";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
const MAT3 = {
|
|
16
|
+
add: (a, b) => add33([], a, b),
|
|
17
|
+
addnv: (a, b) => addN33([], b, a),
|
|
18
|
+
addvn: (a, b) => addN33([], a, b),
|
|
19
|
+
dec: (a) => subN33([], a, 1),
|
|
20
|
+
div: (a, b) => div33([], a, b),
|
|
21
|
+
divnv: (a, b) => div33(null, vecOf(9, a), b),
|
|
22
|
+
divvn: (a, b) => divN33([], a, b),
|
|
23
|
+
idx: (a, b) => setS3([], a, 0, b * 3),
|
|
24
|
+
inc: (a) => addN33([], a, 1),
|
|
25
|
+
mul: (a, b) => mul33([], a, b),
|
|
26
|
+
mulm: (a, b) => mulM33([], a, b),
|
|
27
|
+
mulmv: (a, b) => mulV33([], a, b),
|
|
28
|
+
mulnv: (a, b) => mulN33([], b, a),
|
|
29
|
+
mulvm: (a, b) => mulVM33([], a, b),
|
|
30
|
+
mulvn: (a, b) => mulN33([], a, b),
|
|
31
|
+
sub: (a, b) => sub33([], a, b),
|
|
32
|
+
sub1: (a) => neg([], a),
|
|
33
|
+
subnv: (a, b) => sub33(null, vecOf(9, a), b),
|
|
34
|
+
subvn: (a, b) => subN33([], a, b)
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
MAT3
|
|
35
38
|
};
|
package/env/mat4.js
CHANGED
|
@@ -12,24 +12,27 @@ import { subN44 } from "@thi.ng/matrices/subn";
|
|
|
12
12
|
import { neg } from "@thi.ng/vectors/neg";
|
|
13
13
|
import { setS4 } from "@thi.ng/vectors/sets";
|
|
14
14
|
import { vecOf } from "@thi.ng/vectors/vec-of";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
const MAT4 = {
|
|
16
|
+
add: (a, b) => add44([], a, b),
|
|
17
|
+
addnv: (a, b) => addN44([], b, a),
|
|
18
|
+
addvn: (a, b) => addN44([], a, b),
|
|
19
|
+
dec: (a) => subN44([], a, 1),
|
|
20
|
+
div: (a, b) => div44([], a, b),
|
|
21
|
+
divnv: (a, b) => div44(null, vecOf(16, a), b),
|
|
22
|
+
divvn: (a, b) => divN44([], a, b),
|
|
23
|
+
idx: (a, b) => setS4([], a, 0, b * 4),
|
|
24
|
+
inc: (a) => addN44([], a, 1),
|
|
25
|
+
mul: (a, b) => mul44([], a, b),
|
|
26
|
+
mulm: (a, b) => mulM44([], a, b),
|
|
27
|
+
mulmv: (a, b) => mulV44([], a, b),
|
|
28
|
+
mulnv: (a, b) => mulN44([], b, a),
|
|
29
|
+
mulvm: (a, b) => mulVM44([], a, b),
|
|
30
|
+
mulvn: (a, b) => mulN44([], a, b),
|
|
31
|
+
sub: (a, b) => sub44([], a, b),
|
|
32
|
+
sub1: (a) => neg([], a),
|
|
33
|
+
subnv: (a, b) => sub44(null, vecOf(16, a), b),
|
|
34
|
+
subvn: (a, b) => subN44([], a, b)
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
MAT4
|
|
35
38
|
};
|
package/env/uint.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { clamp } from "@thi.ng/math/interval";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
const UINT = {
|
|
3
|
+
abs: Math.abs,
|
|
4
|
+
add: (a, b) => a + b >>> 0,
|
|
5
|
+
bitand: (a, b) => (a & b) >>> 0,
|
|
6
|
+
bitnot1: (a) => ~a >>> 0,
|
|
7
|
+
bitor: (a, b) => (a | b) >>> 0,
|
|
8
|
+
bitxor: (a, b) => (a ^ b) >>> 0,
|
|
9
|
+
clamp,
|
|
10
|
+
dec: (a) => a - 1 >>> 0,
|
|
11
|
+
div: (a, b) => a / b >>> 0,
|
|
12
|
+
inc: (a) => a + 1 >>> 0,
|
|
13
|
+
lshift: (a, b) => a << b >>> 0,
|
|
14
|
+
max: Math.max,
|
|
15
|
+
min: Math.min,
|
|
16
|
+
modi: (a, b) => a % b,
|
|
17
|
+
mul: (a, b) => a * b >>> 0,
|
|
18
|
+
rshift: (a, b) => a >>> b,
|
|
19
|
+
sign: Math.sign,
|
|
20
|
+
sub: (a, b) => a - b >>> 0,
|
|
21
|
+
sub1: (a) => -a >>> 0
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
UINT
|
|
22
25
|
};
|
package/env/uvec2.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subNU2, subU2 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_UVEC2 } from "../pool.js";
|
|
14
14
|
import { VEC2 } from "./vec2.js";
|
|
15
15
|
const { next, uniform } = POOL_UVEC2;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const UVEC2 = {
|
|
17
|
+
...VEC2(POOL_UVEC2),
|
|
18
|
+
add: (a, b) => addU2(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNU2(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNU2(next(), b, a),
|
|
21
|
+
div: (a, b) => divU2(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNU2(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divU2(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod2(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN2(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod2(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulU2(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNU2(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNU2(next(), b, a),
|
|
30
|
+
sub: (a, b) => subU2(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNU2(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subU2(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndU2(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftU2(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotU2(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrU2(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftU2(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorU2(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
UVEC2
|
|
39
42
|
};
|
package/env/uvec3.js
CHANGED
|
@@ -13,27 +13,30 @@ import { subNU3, subU3 } from "@thi.ng/vectors/subi";
|
|
|
13
13
|
import { POOL_UVEC3 } from "../pool.js";
|
|
14
14
|
import { VEC3 } from "./vec3.js";
|
|
15
15
|
const { next, uniform } = POOL_UVEC3;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
const UVEC3 = {
|
|
17
|
+
...VEC3(POOL_UVEC3),
|
|
18
|
+
add: (a, b) => addU3(next(), a, b),
|
|
19
|
+
addvn: (a, b) => addNU3(next(), a, b),
|
|
20
|
+
addnv: (a, b) => addNU3(next(), b, a),
|
|
21
|
+
div: (a, b) => divU3(next(), a, b),
|
|
22
|
+
divvn: (a, b) => divNU3(next(), a, b),
|
|
23
|
+
divnv: (a, b) => divU3(null, uniform(a), b),
|
|
24
|
+
modi: (a, b) => fmod3(next(), a, b),
|
|
25
|
+
modivn: (a, b) => fmodN3(next(), a, b),
|
|
26
|
+
modinv: (a, b) => fmod3(null, uniform(a), b),
|
|
27
|
+
mul: (a, b) => mulU3(next(), a, b),
|
|
28
|
+
mulvn: (a, b) => mulNU3(next(), a, b),
|
|
29
|
+
mulnv: (a, b) => mulNU3(next(), b, a),
|
|
30
|
+
sub: (a, b) => subU3(next(), a, b),
|
|
31
|
+
subvn: (a, b) => subNU3(next(), a, b),
|
|
32
|
+
subnv: (a, b) => subU3(null, uniform(a), b),
|
|
33
|
+
bitand: (a, b) => bitAndU3(next(), a, b),
|
|
34
|
+
lshift: (a, b) => lshiftU3(next(), a, b),
|
|
35
|
+
bitnot1: (a) => bitNotU3(next(), a),
|
|
36
|
+
bitor: (a, b) => bitOrU3(next(), a, b),
|
|
37
|
+
rshift: (a, b) => rshiftU3(next(), a, b),
|
|
38
|
+
bitxor: (a, b) => bitXorU3(next(), a, b)
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
UVEC3
|
|
39
42
|
};
|