@typeonce/ritmo-math 0.8.0 → 0.10.0

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/README.md +14 -4
  3. package/dist/Collide2.d.ts +2 -1
  4. package/dist/Collide2.d.ts.map +1 -1
  5. package/dist/Collide2.js +10 -6
  6. package/dist/Collide2.js.map +1 -1
  7. package/dist/FlowField.d.ts.map +1 -1
  8. package/dist/FlowField.js +2 -1
  9. package/dist/FlowField.js.map +1 -1
  10. package/dist/InputAxis.js +1 -1
  11. package/dist/Ops.d.ts +209 -0
  12. package/dist/Ops.d.ts.map +1 -0
  13. package/dist/Ops.js +210 -0
  14. package/dist/Ops.js.map +1 -0
  15. package/dist/Random.d.ts +63 -10
  16. package/dist/Random.d.ts.map +1 -1
  17. package/dist/Random.js +57 -32
  18. package/dist/Random.js.map +1 -1
  19. package/dist/Scalar.d.ts +7 -2
  20. package/dist/Scalar.d.ts.map +1 -1
  21. package/dist/Scalar.js +2 -1
  22. package/dist/Scalar.js.map +1 -1
  23. package/dist/SpatialGrid.d.ts +7 -2
  24. package/dist/SpatialGrid.d.ts.map +1 -1
  25. package/dist/SpatialGrid.js +35 -4
  26. package/dist/SpatialGrid.js.map +1 -1
  27. package/dist/Vec2.d.ts.map +1 -1
  28. package/dist/Vec2.js +8 -7
  29. package/dist/Vec2.js.map +1 -1
  30. package/dist/Vector2.d.ts +12 -0
  31. package/dist/Vector2.d.ts.map +1 -1
  32. package/dist/Vector2.js +12 -0
  33. package/dist/Vector2.js.map +1 -1
  34. package/dist/index.d.ts +5 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/internal/fdlibm.d.ts +43 -0
  39. package/dist/internal/fdlibm.d.ts.map +1 -0
  40. package/dist/internal/fdlibm.js +1291 -0
  41. package/dist/internal/fdlibm.js.map +1 -0
  42. package/dist/internal/vector2.d.ts.map +1 -1
  43. package/dist/internal/vector2.js +2 -1
  44. package/dist/internal/vector2.js.map +1 -1
  45. package/package.json +3 -2
  46. package/src/Collide2.ts +10 -6
  47. package/src/FlowField.ts +2 -1
  48. package/src/InputAxis.ts +1 -1
  49. package/src/Ops.ts +232 -0
  50. package/src/Random.ts +104 -16
  51. package/src/Scalar.ts +7 -2
  52. package/src/SpatialGrid.ts +40 -6
  53. package/src/Vec2.ts +9 -7
  54. package/src/Vector2.ts +12 -0
  55. package/src/index.ts +5 -0
  56. package/src/internal/fdlibm.ts +1256 -0
  57. package/src/internal/vector2.ts +2 -1
package/dist/Vec2.js CHANGED
@@ -23,6 +23,7 @@
23
23
  * @categoryDescription Operations
24
24
  * Immutable arithmetic, measurement, and steering helpers.
25
25
  */
26
+ import * as Ops from "./Ops.js";
26
27
  /**
27
28
  * The zero vector (frozen, safe to share).
28
29
  *
@@ -53,8 +54,8 @@ export const scale = (a, factor) => ({ x: a.x * factor, y: a.y * factor });
53
54
  * @category Operations
54
55
  */
55
56
  export const rotate = (a, angle) => {
56
- const cos = Math.cos(angle);
57
- const sin = Math.sin(angle);
57
+ const cos = Ops.cos(angle);
58
+ const sin = Ops.sin(angle);
58
59
  return { x: a.x * cos - a.y * sin, y: a.x * sin + a.y * cos };
59
60
  };
60
61
  /**
@@ -68,7 +69,7 @@ export const dot = (a, b) => a.x * b.x + a.y * b.y;
68
69
  *
69
70
  * @category Operations
70
71
  */
71
- export const length = (a) => Math.hypot(a.x, a.y);
72
+ export const length = (a) => Ops.hypot(a.x, a.y);
72
73
  /**
73
74
  * Squared length of `a`, for comparisons without a square root.
74
75
  *
@@ -80,7 +81,7 @@ export const lengthSquared = (a) => a.x * a.x + a.y * a.y;
80
81
  *
81
82
  * @category Operations
82
83
  */
83
- export const distance = (a, b) => Math.hypot(a.x - b.x, a.y - b.y);
84
+ export const distance = (a, b) => Ops.hypot(a.x - b.x, a.y - b.y);
84
85
  /**
85
86
  * Squared distance between two points, for comparisons without a square root.
86
87
  *
@@ -99,7 +100,7 @@ export const distanceSquared = (a, b) => {
99
100
  * @category Operations
100
101
  */
101
102
  export const normalizeOr = (a, fallback) => {
102
- const len = Math.hypot(a.x, a.y);
103
+ const len = Ops.hypot(a.x, a.y);
103
104
  return len < 1e-9 ? fallback : { x: a.x / len, y: a.y / len };
104
105
  };
105
106
  /**
@@ -116,7 +117,7 @@ export const lerp = (a, b, t) => ({ x: a.x + (b.x - a.x) * t, y: a.y + (b.y - a.
116
117
  export const moveToward = (current, target, maxDelta) => {
117
118
  const dx = target.x - current.x;
118
119
  const dy = target.y - current.y;
119
- const len = Math.hypot(dx, dy);
120
+ const len = Ops.hypot(dx, dy);
120
121
  if (len <= maxDelta || len < 1e-9)
121
122
  return target;
122
123
  return { x: current.x + (dx / len) * maxDelta, y: current.y + (dy / len) * maxDelta };
@@ -127,7 +128,7 @@ export const moveToward = (current, target, maxDelta) => {
127
128
  * @category Operations
128
129
  */
129
130
  export const clampLength = (a, max) => {
130
- const len = Math.hypot(a.x, a.y);
131
+ const len = Ops.hypot(a.x, a.y);
131
132
  return len <= max ? a : { x: (a.x / len) * max, y: (a.y / len) * max };
132
133
  };
133
134
  //# sourceMappingURL=Vec2.js.map
package/dist/Vec2.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Vec2.js","sourceRoot":"","sources":["../src/Vec2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vec2.js","sourceRoot":"","sources":["../src/Vec2.ts"],"names":[],"mappings":"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"}
package/dist/Vector2.d.ts CHANGED
@@ -150,24 +150,36 @@ export declare const zero: () => Vector2;
150
150
  /**
151
151
  * Returns the sum of two branded vectors.
152
152
  *
153
+ * Keeps the brands without re-validating: finite while the result stays
154
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
155
+ *
153
156
  * @category Operations
154
157
  */
155
158
  export declare const add: (left: Vector2, right: Vector2) => Vector2;
156
159
  /**
157
160
  * Returns the component-wise difference between two branded vectors.
158
161
  *
162
+ * Keeps the brands without re-validating: finite while the result stays
163
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
164
+ *
159
165
  * @category Operations
160
166
  */
161
167
  export declare const subtract: (left: Vector2, right: Vector2) => Vector2;
162
168
  /**
163
169
  * Scales one vector by one validated finite scalar.
164
170
  *
171
+ * Keeps the brands without re-validating: finite while the result stays
172
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
173
+ *
165
174
  * @category Operations
166
175
  */
167
176
  export declare const scale: (vector: Vector2, scalar: Scalar.Finite) => Vector2;
168
177
  /**
169
178
  * Returns the squared length of one vector.
170
179
  *
180
+ * Keeps the brands without re-validating: finite while the result stays
181
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
182
+ *
171
183
  * @category Operations
172
184
  */
173
185
  export declare const lengthSquared: (vector: Vector2) => Scalar.NonNegative;
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"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"}
package/dist/Vector2.js CHANGED
@@ -63,24 +63,36 @@ export const zero = internal.zero;
63
63
  /**
64
64
  * Returns the sum of two branded vectors.
65
65
  *
66
+ * Keeps the brands without re-validating: finite while the result stays
67
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
68
+ *
66
69
  * @category Operations
67
70
  */
68
71
  export const add = internal.add;
69
72
  /**
70
73
  * Returns the component-wise difference between two branded vectors.
71
74
  *
75
+ * Keeps the brands without re-validating: finite while the result stays
76
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
77
+ *
72
78
  * @category Operations
73
79
  */
74
80
  export const subtract = internal.subtract;
75
81
  /**
76
82
  * Scales one vector by one validated finite scalar.
77
83
  *
84
+ * Keeps the brands without re-validating: finite while the result stays
85
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
86
+ *
78
87
  * @category Operations
79
88
  */
80
89
  export const scale = internal.scale;
81
90
  /**
82
91
  * Returns the squared length of one vector.
83
92
  *
93
+ * Keeps the brands without re-validating: finite while the result stays
94
+ * within `±Number.MAX_VALUE` (see `Scalar.Finite`).
95
+ *
84
96
  * @category Operations
85
97
  */
86
98
  export const lengthSquared = internal.lengthSquared;
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAuDjD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgD,QAAQ,CAAC,MAAM,CAAA;AAClF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkE,QAAQ,CAAC,MAAM,CAAA;AACpG;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiC,QAAQ,CAAC,MAAM,CAAA;AACnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAuC,QAAQ,CAAC,EAAE,CAAA;AACjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAA6B,QAAQ,CAAC,KAAK,CAAA;AAC7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkF,QAAQ,CAAC,UAAU,CAAA;AAC5H;;;;GAIG;AACH,MAAM,CAAC,MAAM,CAAC,GAAuC,QAAQ,CAAC,CAAC,CAAA;AAC/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,CAAC,GAAuC,QAAQ,CAAC,CAAC,CAAA;AAC/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,QAAQ,CAAC,IAAI,CAAA;AAChD;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAA+C,QAAQ,CAAC,GAAG,CAAA;AAC3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA+C,QAAQ,CAAC,QAAQ,CAAA;AACrF;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAwD,QAAQ,CAAC,KAAK,CAAA;AACxF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAA4C,QAAQ,CAAC,aAAa,CAAA;AAC5F;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAA4C,QAAQ,CAAC,MAAM,CAAA;AAC9E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgE,QAAQ,CAAC,SAAS,CAAA;AACxG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiC,QAAQ,CAAC,eAAe,CAAA"}
1
+ {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAuDjD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgD,QAAQ,CAAC,MAAM,CAAA;AAClF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkE,QAAQ,CAAC,MAAM,CAAA;AACpG;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiC,QAAQ,CAAC,MAAM,CAAA;AACnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAuC,QAAQ,CAAC,EAAE,CAAA;AACjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAA6B,QAAQ,CAAC,KAAK,CAAA;AAC7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkF,QAAQ,CAAC,UAAU,CAAA;AAC5H;;;;GAIG;AACH,MAAM,CAAC,MAAM,CAAC,GAAuC,QAAQ,CAAC,CAAC,CAAA;AAC/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,CAAC,GAAuC,QAAQ,CAAC,CAAC,CAAA;AAC/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,QAAQ,CAAC,IAAI,CAAA;AAChD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAA+C,QAAQ,CAAC,GAAG,CAAA;AAC3E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA+C,QAAQ,CAAC,QAAQ,CAAA;AACrF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAwD,QAAQ,CAAC,KAAK,CAAA;AACxF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAA4C,QAAQ,CAAC,aAAa,CAAA;AAC5F;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAA4C,QAAQ,CAAC,MAAM,CAAA;AAC9E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgE,QAAQ,CAAC,SAAS,CAAA;AACxG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiC,QAAQ,CAAC,eAAe,CAAA"}
package/dist/index.d.ts CHANGED
@@ -10,12 +10,17 @@
10
10
  * `Box2` edges, `Collide2` swept circle collision, a `SpatialGrid` broad
11
11
  * phase, a `FlowField` for finding the way around walls, and a deterministic
12
12
  * `Random` whose state is one integer.
13
+ *
14
+ * `Ops` holds the math functions engines are allowed to approximate (`sin`,
15
+ * `cos`, `atan2`, `exp`, `pow`, `hypot`, ...) as ports that return the same
16
+ * bits everywhere: use them in simulation code instead of `Math`'s.
13
17
  */
14
18
  export * as Aabb from "./Aabb.ts";
15
19
  export * as Box2 from "./Box2.ts";
16
20
  export * as Collide2 from "./Collide2.ts";
17
21
  export * as FlowField from "./FlowField.ts";
18
22
  export * as InputAxis from "./InputAxis.ts";
23
+ export * as Ops from "./Ops.ts";
19
24
  export * as Random from "./Random.ts";
20
25
  export * as Scalar from "./Scalar.ts";
21
26
  export * as Size2 from "./Size2.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -10,12 +10,17 @@
10
10
  * `Box2` edges, `Collide2` swept circle collision, a `SpatialGrid` broad
11
11
  * phase, a `FlowField` for finding the way around walls, and a deterministic
12
12
  * `Random` whose state is one integer.
13
+ *
14
+ * `Ops` holds the math functions engines are allowed to approximate (`sin`,
15
+ * `cos`, `atan2`, `exp`, `pow`, `hypot`, ...) as ports that return the same
16
+ * bits everywhere: use them in simulation code instead of `Math`'s.
13
17
  */
14
18
  export * as Aabb from "./Aabb.js";
15
19
  export * as Box2 from "./Box2.js";
16
20
  export * as Collide2 from "./Collide2.js";
17
21
  export * as FlowField from "./FlowField.js";
18
22
  export * as InputAxis from "./InputAxis.js";
23
+ export * as Ops from "./Ops.js";
19
24
  export * as Random from "./Random.js";
20
25
  export * as Scalar from "./Scalar.js";
21
26
  export * as Size2 from "./Size2.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Pure-JavaScript ports of FreeBSD msun / musl libm (originally Sun fdlibm),
3
+ * built only from `+ - * /`, `Math.sqrt`, and bit access. ECMAScript rounds
4
+ * each of those exactly, so every engine and CPU returns the same bits.
5
+ *
6
+ * Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved.
7
+ * Developed at SunSoft, a Sun Microsystems, Inc. business.
8
+ * Permission to use, copy, modify, and distribute this software is freely
9
+ * granted, provided that this notice is preserved.
10
+ *
11
+ * musl libm is MIT licensed, Copyright (c) 2005-2020 Rich Felker, et al.
12
+ *
13
+ * Changes from the C sources: results follow ECMAScript where it differs from
14
+ * C (`pow(1, NaN)` and `pow(±1, ±Infinity)` are NaN), arguments of sin,
15
+ * cos, and tan beyond 2^20·π/2 are reduced exactly with BigInt instead of
16
+ * `__rem_pio2_large`, and `exp(1)` returns `Math.E`.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare const sin: (x: number) => number;
21
+ export declare const cos: (x: number) => number;
22
+ export declare const tan: (x: number) => number;
23
+ export declare const asin: (x: number) => number;
24
+ export declare const acos: (x: number) => number;
25
+ export declare const atan: (xIn: number) => number;
26
+ export declare const atan2: (y: number, x: number) => number;
27
+ export declare const exp: (xIn: number) => number;
28
+ /** e^x − 1, accurate near 0. */
29
+ export declare const expm1: (xIn: number) => number;
30
+ export declare const tanh: (xIn: number) => number;
31
+ export declare const pow: (x: number, y: number) => number;
32
+ export declare const hypot: (xIn: number, yIn: number) => number;
33
+ export declare const log: (x: number) => number;
34
+ export declare const log2: (x: number) => number;
35
+ export declare const log10: (x: number) => number;
36
+ export declare const log1p: (x: number) => number;
37
+ export declare const sinh: (x: number) => number;
38
+ export declare const cosh: (xIn: number) => number;
39
+ export declare const asinh: (x: number) => number;
40
+ export declare const acosh: (x: number) => number;
41
+ export declare const atanh: (xIn: number) => number;
42
+ export declare const cbrt: (x: number) => number;
43
+ //# sourceMappingURL=fdlibm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fdlibm.d.ts","sourceRoot":"","sources":["../../src/internal/fdlibm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAoRH,eAAO,MAAM,GAAG,MAAO,MAAM,KAAG,MAkB/B,CAAA;AAED,eAAO,MAAM,GAAG,MAAO,MAAM,KAAG,MAkB/B,CAAA;AAED,eAAO,MAAM,GAAG,MAAO,MAAM,KAAG,MAS/B,CAAA;AAwBD,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MA2BhC,CAAA;AAED,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MA2BhC,CAAA;AA4BD,eAAO,MAAM,IAAI,QAAS,MAAM,KAAG,MA6ClC,CAAA;AAKD,eAAO,MAAM,KAAK,MAAO,MAAM,KAAK,MAAM,KAAG,MA8D5C,CAAA;AAcD,eAAO,MAAM,GAAG,QAAS,MAAM,KAAG,MAoCjC,CAAA;AASD,gCAAgC;AAChC,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MA6DnC,CAAA;AAED,eAAO,MAAM,IAAI,QAAS,MAAM,KAAG,MAwBlC,CAAA;AA2BD,eAAO,MAAM,GAAG,MAAO,MAAM,KAAK,MAAM,KAAG,MAiL1C,CAAA;AASD,eAAO,MAAM,KAAK,QAAS,MAAM,OAAO,MAAM,KAAG,MA4ChD,CAAA;AAuDD,eAAO,MAAM,GAAG,MAAO,MAAM,KAAG,MAO/B,CAAA;AAKD,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MAchC,CAAA;AAOD,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAejC,CAAA;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAuCjC,CAAA;AAWD,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MAchC,CAAA;AAED,eAAO,MAAM,IAAI,QAAS,MAAM,KAAG,MAelC,CAAA;AAID,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAmBjC,CAAA;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAiBjC,CAAA;AAED,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MAiBnC,CAAA;AAaD,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MA4BhC,CAAA"}