Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] numeric_limits for f16 inherits storage-type return values

Aperta Adatta ai principianti
#3,260 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
70/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
backend

Direzione di ricerca

Apri cpp/base/f16.hpp e leggi la specializzazione std::numeric_limits<base::f16>: deriva da numeric_limits<storage_type> e sovrascrive solo quiet_NaN()/signaling_NaN(). Aggiungi override per min(), lowest(), max(), epsilon() e round_error() che restituiscano base::f16, convertendo dalle implementazioni di base del storage_type. Poiché non è segnalato alcun chiamante, aggiungi uno static_assert o un piccolo test C++ nella suite di test cpp che asserisca che quei membri restituiscono base::f16; fatto significa che compila e che le asserzioni passano.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Affected code

cpp/base/f16.hpp, std::numeric_limits<base::f16<T>>

Behavior

The specialization derives from std::numeric_limits<base::f16<T>::storage_type> and overrides only quiet_NaN() and signaling_NaN() to return base::f16<T>. Other value-returning members such as min(), lowest(), max(), epsilon(), and round_error() are inherited with the storage type as their return type, rather than base::f16<T> as required by the numeric_limits<T> interface. This makes the public specialization's signatures inconsistent with its advertised type even if an implicit conversion is available at a call site.

This is based on the visible specialization; no C++ build or test was run. There is no tracked caller demonstrating the downstream compile/runtime impact.

Lingua principale
C++
Stelle
9.2k
Fork
725
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di activeloopai/deeplake

Tutte le issue di activeloopai/deeplake

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.