Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#3,260 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 5 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
70/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cpp
Área
backend

Línea de trabajo

Abre cpp/base/f16.hpp y lee la especialización std::numeric_limits<base::f16>: deriva de numeric_limits<storage_type> y solo sobrescribe quiet_NaN()/signaling_NaN(). Añade sobrescrituras para min(), lowest(), max(), epsilon() y round_error() que devuelvan base::f16, convirtiendo desde las implementaciones base del storage_type. Como no se reporta ningún caller, añade un static_assert o una pequeña prueba de C++ en la suite de pruebas de cpp que afirme que esos miembros devuelven base::f16; hecho significa que compila y que las aserciones pasan.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
C++
Estrellas
9.2k
Forks
726
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de activeloopai/deeplake

Todos los issues de activeloopai/deeplake

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.