K iGPddlmZmZmZddlmZddlmZmZddl m Z ddl m Z m Z e dZe dZej!eedZej!eed Zej!e e d Zej!e ed Zej!e ed Zej!eed Zej!eedZej!e e dZej!e edZej!e edZy))ooInfinityNegativeInfinity)S)BasicExpr) Dispatcher)Interval FiniteSet_set_add_set_subcyNxys ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/sets/handlers/add.py_r c ||zSrrrs rrr Q3Jrct|j|jz|j|jz|jxs |j|jxs |jS)z` Additions in interval arithmetic https://en.wikipedia.org/wiki/Interval_arithmetic r startend left_open right_openrs rrrsO AGGagg%quuquu}KK.1;; 0L  NNrc|jtjurtt tSt tj hSr)rrrr rr rrs rrr$s4ww!$$$R  ajj\ ""rc|jtjurtt tSt tj hSr)rrrr rr rrs rrr*s5uu R  a(() **rcyrrrs rrr1rrc ||z Srrrs rrr6rrct|j|jz |j|jz |jxs |j|jxs |jS)zc Subtractions in interval arithmetic https://en.wikipedia.org/wiki/Interval_arithmetic rrs rrr;sN AGGaeeOQUUQWW_KK/1<<1L NNrc|jtjurtt tSt t Srrrrr rr rs rrrE/ww!$$$R  bS>rc|jtjurtt tSt t Srr&rs rrrKr'rN)sympy.core.numbersrrrsympy.core.singletonr sympy.corerrsympy.multipledispatchr sympy.setsr r r r registerrrrrr/s}==""-* j ! j ! 5% ! 4 8X&N'N 8X&#'#  8-.+/+  5% ! 4 8X&N'N 8X&'  8-./r