@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Change Log
2
2
 
3
- - **Last updated**: 2023-12-03T12:13:31Z
3
+ - **Last updated**: 2023-12-11T10:07:09Z
4
4
  - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
5
5
 
6
6
  All notable changes to this project will be documented in this file.
package/README.md CHANGED
@@ -77,7 +77,7 @@ For Node.js REPL:
77
77
  const shaderAstJs = await import("@thi.ng/shader-ast-js");
78
78
  ```
79
79
 
80
- Package sizes (brotli'd, pre-treeshake): ESM: 6.50 KB
80
+ Package sizes (brotli'd, pre-treeshake): ESM: 6.47 KB
81
81
 
82
82
  ## Dependencies
83
83
 
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
- export const BVEC2 = {
5
- all: every2,
6
- any: some2,
7
- not: (v) => not2([], v),
4
+ const BVEC2 = {
5
+ all: every2,
6
+ any: some2,
7
+ not: (v) => not2([], v)
8
8
  };
9
- export const BVEC3 = {
10
- all: every3,
11
- any: some3,
12
- not: (v) => not3([], v),
9
+ const BVEC3 = {
10
+ all: every3,
11
+ any: some3,
12
+ not: (v) => not3([], v)
13
13
  };
14
- export const BVEC4 = {
15
- all: every4,
16
- any: some4,
17
- not: (v) => not4([], v),
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
- export 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,
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
- export 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,
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
- export 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),
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
- export 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),
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
- export 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),
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
- export 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),
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
- export 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),
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
- export 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),
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
- export 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,
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
- export 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),
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
- export 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),
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
  };