@jax-js/jax 0.1.1 → 0.1.2

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.
@@ -1,4 +1,4 @@
1
- import { AluExp, AluGroup, AluOp, DEBUG, DType, Executable, FpHash, SlotError, UnsupportedOpError, findPow2, isFloatDtype, mapSetUnion, strip1, tuneWebgpu } from "./backend-CoVtc9dx.js";
1
+ import { AluExp, AluGroup, AluOp, DEBUG, DType, Executable, FpHash, SlotError, UnsupportedOpError, findPow2, isFloatDtype, mapSetUnion, strip1, tuneWebgpu } from "./backend-BqymqzuU.js";
2
2
 
3
3
  //#region src/backend/webgpu/builtins.ts
4
4
  const threefrySrc = `
@@ -436,18 +436,20 @@ function pipelineSource(device, kernel) {
436
436
  source = `inverseSqrt(${a})`;
437
437
  } else {
438
438
  const a = gen(src[0]);
439
- if (op === AluOp.Sin) source = `sin(${a})`;
440
- else if (op === AluOp.Cos) source = `cos(${a})`;
441
- else if (op === AluOp.Asin) source = `asin(${a})`;
442
- else if (op === AluOp.Atan) source = `atan(${a})`;
443
- else if (op === AluOp.Exp) source = `exp(${a})`;
444
- else if (op === AluOp.Log) source = `log(${a})`;
439
+ if (op === AluOp.Sin) source = `sin(${strip1(a)})`;
440
+ else if (op === AluOp.Cos) source = `cos(${strip1(a)})`;
441
+ else if (op === AluOp.Asin) source = `asin(${strip1(a)})`;
442
+ else if (op === AluOp.Atan) source = `atan(${strip1(a)})`;
443
+ else if (op === AluOp.Exp) source = `exp(${strip1(a)})`;
444
+ else if (op === AluOp.Log) source = `log(${strip1(a)})`;
445
445
  else if (op === AluOp.Erf || op === AluOp.Erfc) {
446
446
  const funcName = op === AluOp.Erf ? "erf" : "erfc";
447
- if (dtype !== DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${a})))`;
448
- else source = `${funcName}(${a})`;
449
- } else if (op === AluOp.Sqrt) source = `sqrt(${a})`;
447
+ if (dtype !== DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${strip1(a)})))`;
448
+ else source = `${funcName}(${strip1(a)})`;
449
+ } else if (op === AluOp.Sqrt) source = `sqrt(${strip1(a)})`;
450
450
  else if (op === AluOp.Reciprocal) source = `(1.0 / ${a})`;
451
+ else if (op === AluOp.Floor) source = `floor(${strip1(a)})`;
452
+ else if (op === AluOp.Ceil) source = `ceil(${strip1(a)})`;
451
453
  else if (op === AluOp.Cast) source = `${dtypeToWgsl(dtype)}(${strip1(a)})`;
452
454
  else if (op === AluOp.Bitcast) source = `bitcast<${dtypeToWgsl(dtype)}>(${strip1(a)})`;
453
455
  }
@@ -650,4 +652,4 @@ async function compileError(shaderModule, scope, code) {
650
652
 
651
653
  //#endregion
652
654
  export { WebGPUBackend };
653
- //# sourceMappingURL=webgpu-B3UVme6n.js.map
655
+ //# sourceMappingURL=webgpu-BGuG58KZ.js.map
@@ -1,4 +1,4 @@
1
- const require_backend = require('./backend-BbrKEB18.cjs');
1
+ const require_backend = require('./backend-DeVfWEFS.cjs');
2
2
 
3
3
  //#region src/backend/webgpu/builtins.ts
4
4
  const threefrySrc = `
@@ -436,18 +436,20 @@ function pipelineSource(device, kernel) {
436
436
  source = `inverseSqrt(${a})`;
437
437
  } else {
438
438
  const a = gen(src[0]);
439
- if (op === require_backend.AluOp.Sin) source = `sin(${a})`;
440
- else if (op === require_backend.AluOp.Cos) source = `cos(${a})`;
441
- else if (op === require_backend.AluOp.Asin) source = `asin(${a})`;
442
- else if (op === require_backend.AluOp.Atan) source = `atan(${a})`;
443
- else if (op === require_backend.AluOp.Exp) source = `exp(${a})`;
444
- else if (op === require_backend.AluOp.Log) source = `log(${a})`;
439
+ if (op === require_backend.AluOp.Sin) source = `sin(${require_backend.strip1(a)})`;
440
+ else if (op === require_backend.AluOp.Cos) source = `cos(${require_backend.strip1(a)})`;
441
+ else if (op === require_backend.AluOp.Asin) source = `asin(${require_backend.strip1(a)})`;
442
+ else if (op === require_backend.AluOp.Atan) source = `atan(${require_backend.strip1(a)})`;
443
+ else if (op === require_backend.AluOp.Exp) source = `exp(${require_backend.strip1(a)})`;
444
+ else if (op === require_backend.AluOp.Log) source = `log(${require_backend.strip1(a)})`;
445
445
  else if (op === require_backend.AluOp.Erf || op === require_backend.AluOp.Erfc) {
446
446
  const funcName = op === require_backend.AluOp.Erf ? "erf" : "erfc";
447
- if (dtype !== require_backend.DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${a})))`;
448
- else source = `${funcName}(${a})`;
449
- } else if (op === require_backend.AluOp.Sqrt) source = `sqrt(${a})`;
447
+ if (dtype !== require_backend.DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${require_backend.strip1(a)})))`;
448
+ else source = `${funcName}(${require_backend.strip1(a)})`;
449
+ } else if (op === require_backend.AluOp.Sqrt) source = `sqrt(${require_backend.strip1(a)})`;
450
450
  else if (op === require_backend.AluOp.Reciprocal) source = `(1.0 / ${a})`;
451
+ else if (op === require_backend.AluOp.Floor) source = `floor(${require_backend.strip1(a)})`;
452
+ else if (op === require_backend.AluOp.Ceil) source = `ceil(${require_backend.strip1(a)})`;
451
453
  else if (op === require_backend.AluOp.Cast) source = `${dtypeToWgsl(dtype)}(${require_backend.strip1(a)})`;
452
454
  else if (op === require_backend.AluOp.Bitcast) source = `bitcast<${dtypeToWgsl(dtype)}>(${require_backend.strip1(a)})`;
453
455
  }
@@ -650,4 +652,4 @@ async function compileError(shaderModule, scope, code) {
650
652
 
651
653
  //#endregion
652
654
  exports.WebGPUBackend = WebGPUBackend;
653
- //# sourceMappingURL=webgpu-DGYNVHma.cjs.map
655
+ //# sourceMappingURL=webgpu-CcGP160M.cjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jax-js/jax",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Numerical computing and ML in the browser",
5
5
  "keywords": [
6
6
  "machine learning",
@@ -35,19 +35,6 @@
35
35
  "types": "dist/index.d.ts",
36
36
  "module": "dist/index.js",
37
37
  "license": "MIT",
38
- "scripts": {
39
- "build": "tsdown",
40
- "build:watch": "TSDOWN_WATCH_MODE=1 tsdown",
41
- "check": "tsc",
42
- "docs": "tsx typedoc.ts",
43
- "format": "prettier --write .",
44
- "format:check": "prettier --check .",
45
- "lint": "eslint",
46
- "test": "vitest",
47
- "test:coverage": "vitest run --coverage && open coverage/index.html",
48
- "prepublishOnly": "pnpm build",
49
- "postpublish": "git tag jax/v$npm_package_version && git push --tags"
50
- },
51
38
  "devDependencies": {
52
39
  "@eslint/js": "^9.31.0",
53
40
  "@types/debug": "^4.1.12",
@@ -68,15 +55,9 @@
68
55
  "typescript-eslint": "^8.46.4",
69
56
  "vitest": "^4.0.9"
70
57
  },
71
- "packageManager": "pnpm@10.22.0",
72
58
  "engines": {
73
59
  "pnpm": ">=10.0.0"
74
60
  },
75
- "pnpm": {
76
- "overrides": {
77
- "@tensorflow/tfjs-core>@webgpu/types": "^0.1.68"
78
- }
79
- },
80
61
  "prettier": {
81
62
  "plugins": [
82
63
  "prettier-plugin-svelte"
@@ -92,5 +73,16 @@
92
73
  }
93
74
  ],
94
75
  "proseWrap": "always"
76
+ },
77
+ "scripts": {
78
+ "build": "tsdown",
79
+ "build:watch": "TSDOWN_WATCH_MODE=1 tsdown",
80
+ "check": "tsc",
81
+ "docs": "tsx typedoc.ts",
82
+ "format": "prettier --write .",
83
+ "format:check": "prettier --check .",
84
+ "lint": "eslint",
85
+ "test": "vitest",
86
+ "test:coverage": "vitest run --coverage && open coverage/index.html"
95
87
  }
96
- }
88
+ }