Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
+ static const char template[] = + "%s %s(%s x)\n" + "{\n" + " %s expPos, expNeg, combined;" + " expPos = exp(x);\n" + " expNeg = exp(-x);\n" + " combined = %s;\n" + " return combined / 2;\n" + "}\n"; + static const char fn_name_sinh[] = "sinh"; + static const char fn_name_cosh[] = "cosh"; + static const char combiner_sinh[] = "expPos - expNeg"; + static const char combiner_cosh[] = "expPos + expNeg"; + + type = params->args[0]->data_type; + type = hlsl_get_numeric_type(ctx, type->class, HLSL_TYPE_FLOAT, type->dimx, type->dimy); We probably want intrinsic_float_convert_arg() instead.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/740#note_66305