This change exposes the asin library function for HLSL scalar types,
excluding long long doubles. Asin is supported for all scalar, vector,
and matrix types. This patch only adds a subset of scalar type support.
Long long double support is missing in this patch because that type
doesn't exist in HLSL.
The full documentation of the HLSL asin function is available here:
https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-asin