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

[General]: FP87::Round drops the explicit integer bit on significand carry

Cerrado Apto para principiantes
#75 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo

Línea de trabajo

Comienza con la definición FP87::Round enlazada en el issue y revisa su carry branch publicado, usando como contexto el commit fijado de definitions.xml.gz. Reproduce el caso Binary80 proporcionado con el exponente 0x3fff, una mantisa con todos sus bits a uno, R=1 y S=1; se considera terminado cuando el resultado es 0x4000:8000000000000000 y se conserva la indicación carry/rounded-up.

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

Descripción

Executable specification issue

Problem

When rounding increments an all-ones significand, Round increments the exponent and writes a zero significand. Binary80 stores its integer bit explicitly, so this creates an unsupported unnormal encoding instead of the next normal number.

Concrete case

Call Round on a positive normal F80 value with exponent 0x3fff and mantissa 0xffffffffffffffff, using round-to-nearest and round/sticky inputs R=1, S=1. The rounding decision is upward. Expected result: exponent 0x4000, mantissa 0x8000000000000000 (2). The source returns exponent 0x4000, mantissa zero.

Expected behavior and references

References use Intel SDM 325462-093, checked on 2026-10-01. PDF page numbers below refer to the combined manual.

Source

Source checked at Intel SDM repository commit b5218b0f1cf512304d4b3cb364433a08fcee47cb.

The helper links are the readable current pages. Their reviewed definitions are in the compressed definition database at the pinned commit.

Suggested correction

Set the explicit integer bit when a significand carry increments the exponent. Preserve the carry/rounded-up indication.

Evidence

Direct calculation from the published carry branch with the input above produces exponent 0x4000 and significand zero. In the binary80 encoding table, a nonzero finite exponent with a clear explicit integer bit is unsupported. Setting that bit produces 0x4000:8000000000000000, the normal encoding of the required result 2.

AI disclosure

Assisted by Codex

Lenguaje dominante
HTML
Estrellas
57
Forks
4
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 intel/SDM

Todos los issues de intel/SDM

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.