Lines Matching defs:half_caster
2067 …ename U,std::float_round_style R=(std::float_round_style)(HALF_ROUND_STYLE)> struct half_caster {}; struct
2068 template<typename U,std::float_round_style R> struct half_caster<half,U,R> struct
2074 static half cast(U arg) { return cast_impl(arg, is_float<U>()); }; in cast()
2077 static half cast_impl(U arg, true_type) { return half(binary, float2half<R>(arg)); } in cast_impl()
2078 static half cast_impl(U arg, false_type) { return half(binary, int2half<R>(arg)); } in cast_impl()
2080 template<typename T,std::float_round_style R> struct half_caster<T,half,R> struct
2086 static T cast(half arg) { return cast_impl(arg, is_float<T>()); } in cast()
2089 static T cast_impl(half arg, true_type) { return half2float<T>(arg.data_); } in cast_impl()
2090 static T cast_impl(half arg, false_type) { return half2int<R,T>(arg.data_); } in cast_impl()
2092 template<typename T,std::float_round_style R> struct half_caster<T,expr,R> struct
2098 static T cast(expr arg) { return cast_impl(arg, is_float<T>()); } in cast()
2101 static T cast_impl(float arg, true_type) { return static_cast<T>(arg); } in cast_impl()
2102 static T cast_impl(half arg, false_type) { return half2int<R,T>(arg.data_); } in cast_impl()
2104 template<std::float_round_style R> struct half_caster<half,half,R> struct
2106 static half cast(half arg) { return arg; } in cast()
2108 template<std::float_round_style R> struct half_caster<half,expr,R> : half_caster<half,half,R> {}; struct