Modify mask operators to remove explicit mask where it isn't needed
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 50/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- performance
Línea de trabajo
Locate the mask operators that currently call from_builtin, along with the from_raw and from_prechecked_builtin entry points. Determine which operations preserve valid mask bits without extra masking, update only those conversions, and verify that operators such as complement still remove unwanted bits.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The compact mask is a plain integer, which may be bigger than the bits actually being masked (e.g., 64-bit value for a mask of 40 bits).
The operators call from_builtin to convert the output of the operation to a mask, and in doing so this explicitly masks off the unwanted bits of the mask to make sure that the extraneous bits don't have some unintended side-effect. For example, calling ~ will set some of the out-of-bound bits to 1, which can introduce subtle issues.
But some operators are guaranteed to produce a valid output provided the inputs are valid. For example, given two masks of 40 bits each, their internal values will not contain any bits beyond position 40. Performing an AND will produce an output which also is limited to 40 bits. In such a case, rather than calling from_builtin, an alternative from_raw (or from_prechecked_builtin) could be called which omits the extra AND operation to mask off unwanted bits. This would be opt-in - only operators known to generate valid bits would call this.
- Lenguaje dominante
- C++
- Estrellas
- 5
- Forks
- 2
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 20
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de intel/xvec
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
Los mantenedores suelen responder en 1 día
-
C++29 extension
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Los mantenedores suelen responder en 1 día
-
C++29 extension
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
intel/xvec#32 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de intel/xvec
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
champion good first issue remake source/qq
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
metasequoiaime/msime-windows#1025 ·
Los mantenedores suelen responder en 1 día
-
backlog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
EchoTools/nevr-runtime#653 ·
Los mantenedores suelen responder en 1 día
-
`--fail-require-skip` never fires: run_tests.py searches stdout, but the unittest binary writes the skip summary to stderrPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día