On Thursday, 28 July 2022 at 12:13:31 UTC, Antonio wrote:
Use isFloating!T and isIntegral!T traits. The standard library **sng** function is a good example: https://dlang.org/library/std/math/traits/sgn.html
```d
import std.traits : isFloatingPoint, isIntegral;
int sgn(T)(T x) if (isFloatingPoint!T || isIntegral!T)
{
if(x<0)
return -1;
else if(x>0)
return 1;
else
return 0;
}
void main()
{
import std.stdio;
writeln(sgn(-1234));
sgn(-1213.32).writeln;
1234.sgn.writeln;
}
```
