Uncaught Error: argument bit ratio not found
- Dominant language
- JavaScript
- Stars
- 15.5k
- Forks
- 663
- PR merge metrics
- No merged PRs in 30d
Description
## *What* is wrong?
Adding certain custom functions causes the error: `Uncaught Error: argument bit ratio not found`
## *Where* does it happen?
Not system specific
## *How* do we replicate the issue?
```html
const gpu = new GPU()
gpu.addFunction(function f(x, y) {
return y[0]
})
const test = gpu.createKernel(function (a) {
f(1, a)
}).setOutput([4, 4]).setGraphical(true)
test([0])
```
Setting `setGraphical(true)` causes the *error* for some reason
## *How* important is this (1-5)?
3 or 4 maybe?
## Expected behavior (i.e. solution)
No error
## Other Comments
In `FunctionBuilder.assignArgumentBitRatio`, replacing `calleeNode.argumentBitRatios[i]` with `calleeNode.argumentBitRatios[argumentIndex]` should fix the problem.
Also, why does having a blank `return` statement cause an error
```js
const test = gpu.createKernel(function () {
// stuff
return
}).setOutput([4, 4]).setGraphical(true)
test() // Uncaught Error: Unexpected return statement on ...
```
when there is no error with having no `return` statements
```js
const test = gpu.createKernel(function () {
// stuff
}).setOutput([4, 4]).setGraphical(true)
test()
```
Contributor guide
Assessment
This issue has not been assessed yet.