Discrepancy: number comparison differs from Processing Java `(0.1 + 0.2 == 0.3)`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Ejecuta los sketches de Processing Java y mewnala Python proporcionados para confirmar los resultados diferentes. Después, rastrea el comportamiento de la evaluación numérica en la implementación de Rust y determina si la discrepancia debe corregirse o documentarse, con una prueba o actualización de la documentación que defina el comportamiento esperado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I don't know whether this is something that needs to be addressed or just documented.
I suppose this is related to the difference between float and double precision (?)
In Processing, this condition evaluates to true:
void setup() {
size(400, 400);
if (0.1 + 0.2 == 0.3) {
background(0, 255, 0);
circle(200, 200, 100);
}
}
The equivalent mewnala sketch evaluates the condition as false.
from mewnala import *
def setup():
size(200, 200)
if 0.1 + 0.2 == 0.3:
background(0, 255, 0)
circle(200, 200, 100)
run()
Note: size is reduced in mewnala to account for https://github.com/processing/libprocessing/issues/198
- Lenguaje dominante
- Rust
- Estrellas
- 69
- Forks
- 14
- Merge medio
- 15 d 22 h
- PR fusionados (30 d)
- 3
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 processing/libprocessing
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
processing/libprocessing#233 ·
-
Dropping Python 3.10 support Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
processing/libprocessing#229 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
processing/libprocessing#201 ·
-
Gate processing_midi for WASM Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
processing/libprocessing#194 ·
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
processing/libprocessing#146 · 1 comentario ·
Todos los issues de processing/libprocessing
Issues similares
-
has_tail_capacity wraps and get_writable_raw_unchecked commits raw_len before the bounds check Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stratum-mining/stratum#2404 ·
-
bug ci good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
Axis areas are always keyboard-focusable (Sense::drag), even with allow_axis_zoom_drag(false) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100