processing / processing/libprocessing
Discrepancy: number comparison differs from Processing Java `(0.1 + 0.2 == 0.3)`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Rust
- Estrellas
- 69
- Forks
- 14
- Merge medio
- 15 d 22 h
- PR fusionados (30 d)
- 3
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
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.
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.
Evaluación
- Stack tecnológico
- java, python, rust
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 45/100