Math.max and Math.min only accept two parameters
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- computer-graphics
Línea de trabajo
Comienza reproduciendo el ejemplo de kernel de GPU.js proporcionado con Math.max y Math.min usando tres o más argumentos; después, inspecciona cómo se traducen estas llamadas al shader de GPU. Se considera completado cuando las llamadas con múltiples argumentos compilan y devuelven el resultado esperado sin requerir workarounds anidados; verifica el ejemplo original y el caso de dos argumentos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción

What is wrong?
Using Math.max with more than two parameters causes the GPU kernel build to fail.
How do we replicate the issue?
const gpu = new GPU({ mode: 'gpu' });
const kernel = gpu.createKernel(function() {
return Math.max(0, 1, 2);
}).setOutput([1]);
kernel();
And observe the output error
gpu-browser.js:14913 Uncaught Error: Error compiling fragment shader: ERROR: 0:457: 'max' : no matching overloaded function found. Replacing 0, 1, 2 with 0, 1 (or any other two numbers) leads to the function behaving as expected. The same is true of Math.min.
JS Fiddle: https://jsfiddle.net/TomWyllie/opdg95kb/
GPU.js 2.9.4
GPU: NVIDIA GeForce GTX 1060 3GB
Nvidia Driver 446.14
Google Chrome Version 83.0.4103.97 (Official Build) (64-bit)
Windows 10
How important is this (1-5)?
2, it's very easy (but pretty messy) to workaround by using Math.max(x, Math.max(y, Math.max(z, t))); or similar, but that is pretty ugly. My understanding is that the spec allows arbitrarily many parameters.
Other Comments
I'm beginning to think there might be something deeper wrong with GPU.js on my machine given this issue and the other I filed several days ago (#617) must be very common use cases and surely lots of other people would be having these same problems... any thoughts appreciated.
- Lenguaje dominante
- JavaScript
- Estrellas
- 15.5k
- Forks
- 663
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de gpujs/gpu.js
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
WebGL backend silently returns all zeros for long-running kernels (no GL error, no context loss) Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Bitwise result not correct Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Todos los issues de gpujs/gpu.js
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
TheOdinProject/curriculum#31423 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
WGBH-MLA/dream-aapb#69 ·
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
openlayers/ol-cesium#1364 ·