You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|_, TFloat_ -> false(* casting float to an integral type always looses the decimals *)
284
-
|TFloat ((FFloat | FDouble | FLongDouble), _), TInt((IBool | IChar | IUChar | ISChar | IShort | IUShort), _) -> true(*resonably small integers can be stored in all fkinds *)
285
-
|TFloat ((FDouble | FLongDouble), _), TInt((IInt | IUInt | ILong | IULong), _) -> true(* values stored in between 16 and 32 bits can only be stored in at least doubles *)
286
-
|TFloat_, _ -> false(* all wider integers can not be completly put into a float, partially because our internal representation of long double is the same as for doubles *)
287
+
|TFloat (fk, _), TInt((IBool | IChar | IUChar | ISChar | IShort | IUShort), _) whennot (Cilfacade.isComplexFKind fk) -> true(*reasonably small integers can be stored in all fkinds *)
288
+
|TFloat ((FDouble | FLongDouble | FFloat128), _), TInt((IInt | IUInt | ILong | IULong), _) -> true(* values stored in between 16 and 32 bits can only be stored in at least doubles *)
289
+
|TFloat_, _ -> false(* all wider integers can not be completely put into a float, partially because our internal representation of long double is the same as for doubles *)
0 commit comments