arduino / arduino/ArduinoCore-API

map() for float data type

Abierto
#71 18 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.