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.