Add signum function (#7526)

* Add signum function

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add typehints for functions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update signum.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
This commit is contained in:
Arjit Arora 2022-10-23 16:47:30 +05:30 committed by GitHub
parent a0cbc2056e
commit 1bbb0092f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

34
maths/signum.py Normal file
View File

@ -0,0 +1,34 @@
"""
Signum function -- https://en.wikipedia.org/wiki/Sign_function
"""
def signum(num: float) -> int:
"""
Applies signum function on the number
>>> signum(-10)
-1
>>> signum(10)
1
>>> signum(0)
0
"""
if num < 0:
return -1
return 1 if num else 0
def test_signum() -> None:
"""
Tests the signum function
"""
assert signum(5) == 1
assert signum(-5) == -1
assert signum(0) == 0
if __name__ == "__main__":
print(signum(12))
print(signum(-12))
print(signum(0))