mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
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:
parent
a0cbc2056e
commit
1bbb0092f3
34
maths/signum.py
Normal file
34
maths/signum.py
Normal 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))
|
Loading…
Reference in New Issue
Block a user