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

Negative number of fractional bits

Aperta
#311 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
julia
Ambito
data

Direzione di ricerca

Inizia esaminando il tipo Fixed esistente e i metodi che limitano il parametro dei bit frazionari a valori non negativi. Confronta il comportamento dimostrato con bit negativi e determina se il package debba generalizzare Fixed o introdurre un tipo separato di interi scalati; per considerare il lavoro completato sono necessari un design deciso e un comportamento supportato per i tipi richiesti.

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

Descrizione

add-on enhancement

With Fixed we can reduce the number of fractional bits to trade range for precision:

julia> Fixed{Int8, 2} .|> (typemin, typemax, eps)
(-32.0Q5f2, 31.75Q5f2, 0.25Q5f2)

julia> Fixed{Int8, 1} .|> (typemin, typemax, eps)
(-64.0Q6f1, 63.5Q6f1, 0.5Q6f1)

julia> Fixed{Int8, 0} .|> (typemin, typemax, eps)
(-128.0Q7f0, 127.0Q7f0, 1.0Q7f0)

However, currently support stops here. It would be useful to have a

julia> Fixed{Int8, -1} .|> (typemin, typemax, eps)
(-256.0Q8f-1, 254.0Q8f-1, 2.0Q8f-1)

and all the other types with a negative number of fractional bits available, when range demands are high, precision demands are low and you want to distribute the available values uniformly in the range or want to use integer arithmetic (so floating points are not an option).

This would not really match the packet's name as they are not really fixed-point numbers (with the "point" being outside of the represented bits). On the other hand, an implementation of these numbers (scaled integers) seems to be completely identical in representing the type (struct) and should cover both positive and negative numbers of fractional bits if some methods are generalized or their domain restrictions are relaxed.

So what would these scaled integers be? Would they use a slightly generalized version of Fixed, would they be a ScaledInteger within the FixedPointNumbers.jl package or would they be the topic of a ScaledIntegers.jl package?

Lingua principale
Julia
Stelle
95
Fork
38
Merge medio
19h 44m
PR unite (30g)
12

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 JuliaMath/FixedPointNumbers.jl

Tutte le issue di JuliaMath/FixedPointNumbers.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.