aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Cprint.ml
diff options
context:
space:
mode:
Diffstat (limited to 'cparser/Cprint.ml')
-rw-r--r--cparser/Cprint.ml20
1 files changed, 10 insertions, 10 deletions
diff --git a/cparser/Cprint.ml b/cparser/Cprint.ml
index 2924c3d4..2548f3b9 100644
--- a/cparser/Cprint.ml
+++ b/cparser/Cprint.ml
@@ -45,16 +45,16 @@ let const pp = function
| IUInt -> fprintf pp "U"
| _ -> ()
end
- | CFloat(v, fk, s) ->
- if s <> "" then
- fprintf pp "%s" s
- else begin
- fprintf pp "%.18g" v;
- match fk with
- | FFloat -> fprintf pp "F"
- | FLongDouble -> fprintf pp "L"
- | _ -> ()
- end
+ | CFloat(v, fk) ->
+ if v.hex then
+ fprintf pp "0x%s.%sP%s" v.intPart v.fracPart v.exp
+ else
+ fprintf pp "%s.%sE%s" v.intPart v.fracPart v.exp;
+ begin match fk with
+ | FFloat -> fprintf pp "F"
+ | FLongDouble -> fprintf pp "L"
+ | FDouble -> ()
+ end
| CStr s ->
fprintf pp "\"";
for i = 0 to String.length s - 1 do