mirror of
https://github.com/searxng/searxng.git
synced 2025-07-12 07:49:22 +02:00
[feat] calculator: add some operations (mod, shifts, bitwise and/or)
This commit is contained in:
parent
39c50dc013
commit
a0fca8c21b
1 changed files with 6 additions and 2 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue