mirror of
https://github.com/searxng/searxng.git
synced 2025-07-09 03:04:26 -04:00
[feat] calculator: add some operations (mod, shifts, bitwise and/or)
This commit is contained in:
parent
39c50dc013
commit
a0fca8c21b
@ -1,6 +1,5 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Calculate mathematical expressions using :py:obj:`ast.parse` (mode="eval").
|
"""Calculate mathematical expressions using :py:obj:`ast.parse` (mode="eval")."""
|
||||||
"""
|
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
import typing
|
import typing
|
||||||
@ -93,7 +92,12 @@ operators: dict[type, typing.Callable] = {
|
|||||||
ast.Div: operator.truediv,
|
ast.Div: operator.truediv,
|
||||||
ast.Pow: operator.pow,
|
ast.Pow: operator.pow,
|
||||||
ast.BitXor: operator.xor,
|
ast.BitXor: operator.xor,
|
||||||
|
ast.BitOr: operator.or_,
|
||||||
|
ast.BitAnd: operator.and_,
|
||||||
ast.USub: operator.neg,
|
ast.USub: operator.neg,
|
||||||
|
ast.RShift: operator.rshift,
|
||||||
|
ast.LShift: operator.lshift,
|
||||||
|
ast.Mod: operator.mod,
|
||||||
}
|
}
|
||||||
|
|
||||||
# with multiprocessing.get_context("fork") we are ready for Py3.14 (by emulating
|
# with multiprocessing.get_context("fork") we are ready for Py3.14 (by emulating
|
||||||
|
Loading…
x
Reference in New Issue
Block a user