Initialisation du repository de Beta

This commit is contained in:
Mathis 2026-02-06 22:23:20 +01:00
commit 14985f6dbb
9469 changed files with 1903273 additions and 0 deletions

View file

@ -0,0 +1,79 @@
from sympy.core.numbers import oo, Infinity, NegativeInfinity
from sympy.core.singleton import S
from sympy.core import Basic, Expr
from sympy.multipledispatch import Dispatcher
from sympy.sets import Interval, FiniteSet
# XXX: The functions in this module are clearly not tested and are broken in a
# number of ways.
_set_add = Dispatcher('_set_add')
_set_sub = Dispatcher('_set_sub')
@_set_add.register(Basic, Basic)
def _(x, y):
return None
@_set_add.register(Expr, Expr)
def _(x, y):
return x+y
@_set_add.register(Interval, Interval)
def _(x, y):
"""
Additions in interval arithmetic
https://en.wikipedia.org/wiki/Interval_arithmetic
"""
return Interval(x.start + y.start, x.end + y.end,
x.left_open or y.left_open, x.right_open or y.right_open)
@_set_add.register(Interval, Infinity)
def _(x, y):
if x.start is S.NegativeInfinity:
return Interval(-oo, oo)
return FiniteSet({S.Infinity})
@_set_add.register(Interval, NegativeInfinity)
def _(x, y):
if x.end is S.Infinity:
return Interval(-oo, oo)
return FiniteSet({S.NegativeInfinity})
@_set_sub.register(Basic, Basic)
def _(x, y):
return None
@_set_sub.register(Expr, Expr)
def _(x, y):
return x-y
@_set_sub.register(Interval, Interval)
def _(x, y):
"""
Subtractions in interval arithmetic
https://en.wikipedia.org/wiki/Interval_arithmetic
"""
return Interval(x.start - y.end, x.end - y.start,
x.left_open or y.right_open, x.right_open or y.left_open)
@_set_sub.register(Interval, Infinity)
def _(x, y):
if x.start is S.NegativeInfinity:
return Interval(-oo, oo)
return FiniteSet(-oo)
@_set_sub.register(Interval, NegativeInfinity)
def _(x, y):
if x.start is S.NegativeInfinity:
return Interval(-oo, oo)
return FiniteSet(-oo)