Il sito funziona meglio con JavaScript.
Home
Esplora
Aiuto
Registrati
Accedi
SisMaker
/
jiffy
Segui
1
Vota
0
Forka
0
Codice
Problemi
0
Pull Requests
0
Projects
0
Rilasci
62
Wiki
Attività
Sfoglia il codice sorgente
issue
#31
: encode floating point numbers with less precision if possible. fails a few etap tests, though I believe it's due to the specific values expected
pull/32/head
Ryan Flynn
12 anni fa
parent
3b6a1327d4
commit
b045a37391
1 ha cambiato i file
con
7 aggiunte
e
1 eliminazioni
Visualizzazione separata
Opzioni Diff
Mostra statistiche
Scarica il file Patch
Scarica il file Diff
+7
-1
c_src/encoder.c
+ 7
- 1
c_src/encoder.c
Vedi File
@ -4,6 +4,7 @@
#
include
<assert.h>
#
include
<stdio.h>
#
include
<string.h>
#
include
<float.h>
#
include
"erl_nif.h"
#
include
"jiffy.h"
@ -401,7 +402,12 @@ enc_double(Encoder* e, double val)
start
=
&
(
e
-
>
p
[
e
-
>
i
]
)
;
sprintf
(
start
,
"
%0.20g
"
,
val
)
;
/
/
try
to
encode
doubles
using
the
fewest
digits
possible
.
.
.
if
(
snprintf
(
start
,
32
,
"
%.*g
"
,
DBL_DIG
,
val
)
>
FLT_DIG
)
{
/
/
.
.
.
fall
back
to
full
expansion
to
be
safe
snprintf
(
start
,
32
,
"
%.*g
"
,
LDBL_DIG
,
val
)
;
}
len
=
strlen
(
start
)
;
/
/
Check
if
we
have
a
decimal
point
Scrivi
Anteprima
Caricamento…
Annulla
Salva