arduino / arduino/ArduinoCore-API
map() for float data type
- Lingua principale
- C++
- Stelle
- 306
- Fork
- 150
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia individuando il punto di ingresso esistente map() in ArduinoCore-API e verificando come gestisce gli input e gli output numerici. Il lavoro è completato quando un’API di mapping specifica per float conserva i valori frazionari degli argomenti float lasciando invariato il comportamento esistente di map().
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- api
- Tipo di issue
- Funzionalità
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 45/100