Converting float -> double, double -> float
Lukasz Stafiniak
lukstafi@gmail.com
Tue Apr 30 17:44:18 GMT 2024
Hi!
I know these conversions are prohibited, because I get errors like:
libgccjit.so: error: gcc_jit_context_new_binary_op: mismatching types for
binary op: a: (float)(float *)0x55f43a23ac00[...] (type: float) b:
(float)n4[...] + (float)((float *)&n28)[...] (type: double)
The error does not trigger at the gcc_jit_context_new_cast conversion point
(n4 is double), the result of the conversion behaves as if it's still
double.
Auto-generated indices omitted.
I read through the discussions throughout the mailing list's history:
"Clarifying the permitted type conversions"
"Improve doc and comments regarding type casts"
"Handle truncation and extension for casts"
But I didn't find hints of a solution.
How can I make the conversions? Are there builtin functions to invoke?
I use libgccjit via bindings to OCaml.
The bindings haven't been updated in a long time, but I maintain them
and will be happy to update if there's anything missing.
Regards,
Lukasz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/jit/attachments/20240430/4278ab58/attachment.htm>
More information about the Jit
mailing list