{"id":13830865,"url":"https://github.com/Daninet/ginac-wasm","last_synced_at":"2025-07-09T12:34:22.553Z","repository":{"id":66140949,"uuid":"421096852","full_name":"Daninet/ginac-wasm","owner":"Daninet","description":"WebAssembly bindings for the GiNaC computer algebra system ","archived":false,"fork":false,"pushed_at":"2021-11-05T18:01:55.000Z","size":2259,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-23T02:28:00.706Z","etag":null,"topics":["algebra","calculator","cas","ginac","math","mathematics","symbolic","system","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://daninet.github.io/ginac-wasm","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Daninet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS"}},"created_at":"2021-10-25T16:14:36.000Z","updated_at":"2024-03-03T05:45:54.000Z","dependencies_parsed_at":"2023-03-14T12:30:32.591Z","dependency_job_id":null,"html_url":"https://github.com/Daninet/ginac-wasm","commit_stats":{"total_commits":65,"total_committers":1,"mean_commits":65.0,"dds":0.0,"last_synced_commit":"e610046db03d97f34b026bdab1a1e9163ef6810b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daninet%2Fginac-wasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daninet%2Fginac-wasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daninet%2Fginac-wasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daninet%2Fginac-wasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Daninet","download_url":"https://codeload.github.com/Daninet/ginac-wasm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225553258,"owners_count":17487293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algebra","calculator","cas","ginac","math","mathematics","symbolic","system","wasm","webassembly"],"created_at":"2024-08-04T10:01:10.890Z","updated_at":"2024-11-20T12:30:35.923Z","avatar_url":"https://github.com/Daninet.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# GiNaC-WASM\nWebAssembly bindings for the [GiNaC computer algebra system](https://www.ginac.de/)\n\nDemo frontend: https://daninet.github.io/ginac-wasm\n\n## Usage\n\n```js\nconst { initGiNaC, getFactory } = require('ginac-wasm');\n\n(async () =\u003e {\n  const GiNaC = await initGiNaC(require.resolve('ginac-wasm/dist/ginac.wasm'));\n  const g = getFactory();\n\n  console.log(\n    GiNaC([\n      // 2 * 3 = 6\n      g.mul(g.numeric('2'), g.numeric('3')),\n      // x + 2x = 3x\n      g.add(g.symbol('x'), g.mul(g.numeric('2'), g.symbol('x'))),\n      // (2*sin(x))' = 2*cos(x)\n      g.diff(g.mul(g.numeric('2'), g.sin(g.symbol('x'))), g.symbol('x')),\n      // internal parser of GiNaC\n      g.parse('x^3 + 3*x + 1') \n    ]),\n  );\n\n  console.log(\n    GiNaC([\n      g.numeric('2'),\n      g.numeric('3'),\n      // reference first and second items from the array =\u003e 2*3 = 6\n      g.mul(g.ref(0), g.ref(1))\n    ]),\n  );\n\n  // besides the string output format,\n  // it can also generate traversable json structures\n  console.dir(\n    GiNaC([\n      // 2*sin(x)\n      g.mul(g.numeric('2'), g.sin(g.symbol('x'))),\n    ], { json: true }),\n    { depth: null }\n  );\n})();\n\n```\n\nFor more details, see the [source code](https://github.com/Daninet/ginac-wasm/tree/master/demo) of the demo frontend app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDaninet%2Fginac-wasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDaninet%2Fginac-wasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDaninet%2Fginac-wasm/lists"}