gpujs / gpujs/gpu.js

Uncaught Error: argument bit ratio not found

Open
#600 6 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.