arduino / arduino/ArduinoCore-API
map() for float data type
- Lenguaje dominante
- C++
- Estrellas
- 306
- Forks
- 150
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
If a `float` argument is passed to the `map()` function, it truncates them to integer values. This provides erroneous output that may not be immediately noticed. This does not produce a compiler warning.
Please add a `float` variant of `map()`:
```cpp
float mapf(float value, float istart, float istop, float ostart, float ostop) {
return ostart + (ostop - ostart) * ((value - istart) / (istop - istart));
}
```
### Additional context
#### Additional reports
- https://dicks-photon-arduino.blogspot.com/2016/05/40-arduino-c-map-function-vs.html
#### Related
- https://github.com/arduino/Arduino/issues/288
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza localizando el punto de entrada existente map() en ArduinoCore-API y revisando cómo gestiona las entradas y salidas numéricas. Se considera terminado cuando una API de mapeo específica para float conserva los valores fraccionarios de los argumentos float, sin modificar el comportamiento existente de map().
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- api
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 45/100