|
@@ -1032,6 +1032,16 @@ let rec eval_to ctx e (t:ttype) =
|
|
let r = alloc_tmp ctx t in
|
|
let r = alloc_tmp ctx t in
|
|
op ctx (OFloat (r,alloc_float ctx (Int32.to_float i)));
|
|
op ctx (OFloat (r,alloc_float ctx (Int32.to_float i)));
|
|
r
|
|
r
|
|
|
|
+ | TConst (TInt i), HF32 ->
|
|
|
|
+ let r = alloc_tmp ctx t in
|
|
|
|
+ let bits = Int32.bits_of_float (Int32.to_float i) in
|
|
|
|
+ op ctx (OFloat (r,alloc_float ctx (Int64.float_of_bits (Int64.of_int32 bits))));
|
|
|
|
+ r
|
|
|
|
+ | TConst (TFloat f), HF32 ->
|
|
|
|
+ let r = alloc_tmp ctx t in
|
|
|
|
+ let bits = Int32.bits_of_float (float_of_string f) in
|
|
|
|
+ op ctx (OFloat (r,alloc_float ctx (Int64.float_of_bits (Int64.of_int32 bits))));
|
|
|
|
+ r
|
|
| _ ->
|
|
| _ ->
|
|
let r = eval_expr ctx e in
|
|
let r = eval_expr ctx e in
|
|
cast_to ctx r t e.epos
|
|
cast_to ctx r t e.epos
|