Files
c3c/lib/std/core/values.c3
Christoffer Lerno b508a43f8f Add lambdas.
2023-01-24 10:15:23 +01:00

18 lines
617 B
C

module std::core::values;
macro bool @is_int(#value) => types::is_int($typeof(#value));
macro bool @convertable_to(#a, #b) => $checks($typeof(#b) x = #a);
macro bool @is_floatlike(#value) => types::is_floatlike($typeof(#value));
macro bool @is_float(#value) => types::is_float($typeof(#value));
macro bool @is_promotable_to_floatlike(#value) => types::is_promotable_to_floatlike($typeof(#value));
macro bool @is_same_vector_type(#value1, #value2) => types::is_same_vector_type($typeof(#value1), $typeof(#value2));
macro promote_int(x)
{
$if (values::@is_int(x)):
return (double)x;
$else:
return x;
$endif;
}