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; } ```