symengine 0.14.0__cp313-cp313t-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- symengine/lib/flint-19.dll +0 -0
- symengine/lib/libgcc_s_seh-1.dll +0 -0
- symengine/lib/libgmp-10.dll +0 -0
- symengine/lib/libmpc-3.dll +0 -0
- symengine/lib/libmpfr-6.dll +0 -0
- symengine/lib/libwinpthread-1.dll +0 -0
- symengine/lib/pywrapper.h +220 -0
- symengine/lib/symengine.pxd +955 -0
- symengine/lib/symengine_wrapper.cp313t-win_amd64.lib +0 -0
- symengine/lib/symengine_wrapper.cp313t-win_amd64.pyd +0 -0
- symengine/lib/symengine_wrapper.pxd +78 -0
- symengine/lib/zlib.dll +0 -0
- symengine/lib/zstd.dll +0 -0
- symengine-0.14.0.data/purelib/symengine/__init__.py +79 -0
- symengine-0.14.0.data/purelib/symengine/functions.py +10 -0
- symengine-0.14.0.data/purelib/symengine/lib/__init__.py +0 -0
- symengine-0.14.0.data/purelib/symengine/printing.py +33 -0
- symengine-0.14.0.data/purelib/symengine/sympy_compat.py +4 -0
- symengine-0.14.0.data/purelib/symengine/test_utilities.py +95 -0
- symengine-0.14.0.data/purelib/symengine/tests/__init__.py +0 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_arit.py +261 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_cse.py +17 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_dict_basic.py +28 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_eval.py +67 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_expr.py +28 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_functions.py +432 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_lambdify.py +863 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_logic.py +124 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_matrices.py +757 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_ntheory.py +254 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_number.py +186 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_pickling.py +59 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_printing.py +38 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_sage.py +175 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_series_expansion.py +22 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_sets.py +118 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_solve.py +25 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_subs.py +82 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_symbol.py +179 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_sympify.py +63 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_sympy_compat.py +200 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_sympy_conv.py +835 -0
- symengine-0.14.0.data/purelib/symengine/tests/test_var.py +68 -0
- symengine-0.14.0.data/purelib/symengine/utilities.py +280 -0
- symengine-0.14.0.dist-info/AUTHORS +40 -0
- symengine-0.14.0.dist-info/LICENSE +430 -0
- symengine-0.14.0.dist-info/METADATA +39 -0
- symengine-0.14.0.dist-info/RECORD +50 -0
- symengine-0.14.0.dist-info/WHEEL +5 -0
- symengine-0.14.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,124 @@
|
|
1
|
+
from symengine.test_utilities import raises
|
2
|
+
from symengine.lib.symengine_wrapper import (true, false, Eq, Ne, Ge, Gt, Le, Lt, Symbol,
|
3
|
+
I, And, Or, Not, Nand, Nor, Xor, Xnor, Piecewise,
|
4
|
+
Contains, Interval, FiniteSet, oo, log)
|
5
|
+
|
6
|
+
x = Symbol("x")
|
7
|
+
y = Symbol("y")
|
8
|
+
z = Symbol("z")
|
9
|
+
|
10
|
+
def test_relationals():
|
11
|
+
assert Eq(0) == true
|
12
|
+
assert Eq(1) == false
|
13
|
+
assert Eq(x, x) == true
|
14
|
+
assert Eq(0, 0) == true
|
15
|
+
assert Eq(1, 0) == false
|
16
|
+
assert Ne(0, 0) == false
|
17
|
+
assert Ne(1, 0) == true
|
18
|
+
assert Lt(0, 1) == true
|
19
|
+
assert Lt(1, 0) == false
|
20
|
+
assert Le(0, 1) == true
|
21
|
+
assert Le(1, 0) == false
|
22
|
+
assert Le(0, 0) == true
|
23
|
+
assert Gt(1, 0) == true
|
24
|
+
assert Gt(0, 1) == false
|
25
|
+
assert Ge(1, 0) == true
|
26
|
+
assert Ge(0, 1) == false
|
27
|
+
assert Ge(1, 1) == true
|
28
|
+
assert Eq(I, 2) == false
|
29
|
+
assert Ne(I, 2) == true
|
30
|
+
eq = Eq(x, y)
|
31
|
+
assert eq.func(*eq.args) == eq
|
32
|
+
ne = Ne(x, y)
|
33
|
+
assert ne.func(*ne.args) == ne
|
34
|
+
|
35
|
+
|
36
|
+
def test_rich_cmp():
|
37
|
+
assert (x < y) == Lt(x, y)
|
38
|
+
assert (x <= y) == Le(x, y)
|
39
|
+
assert (x > y) == Gt(x, y)
|
40
|
+
assert (x >= y) == Ge(x, y)
|
41
|
+
|
42
|
+
|
43
|
+
def test_And():
|
44
|
+
assert And() == true
|
45
|
+
assert And(True) == true
|
46
|
+
assert And(False) == false
|
47
|
+
assert And(True, True ) == true
|
48
|
+
assert And(True, False) == false
|
49
|
+
assert And(False, False) == false
|
50
|
+
assert And(True, True, True) == true
|
51
|
+
raises(TypeError, lambda: x < y and y < 1)
|
52
|
+
|
53
|
+
|
54
|
+
def test_Or():
|
55
|
+
assert Or() == false
|
56
|
+
assert Or(True) == true
|
57
|
+
assert Or(False) == false
|
58
|
+
assert Or(True, True ) == true
|
59
|
+
assert Or(True, False) == true
|
60
|
+
assert Or(False, False) == false
|
61
|
+
assert Or(True, False, False) == true
|
62
|
+
raises(TypeError, lambda: x < y or y < 1)
|
63
|
+
|
64
|
+
|
65
|
+
def test_Nor():
|
66
|
+
assert Nor() == true
|
67
|
+
assert Nor(True) == false
|
68
|
+
assert Nor(False) == true
|
69
|
+
assert Nor(True, True ) == false
|
70
|
+
assert Nor(True, False) == false
|
71
|
+
assert Nor(False, False) == true
|
72
|
+
assert Nor(True, True, True) == false
|
73
|
+
|
74
|
+
|
75
|
+
def test_Nand():
|
76
|
+
assert Nand() == false
|
77
|
+
assert Nand(True) == false
|
78
|
+
assert Nand(False) == true
|
79
|
+
assert Nand(True, True) == false
|
80
|
+
assert Nand(True, False) == true
|
81
|
+
assert Nand(False, False) == true
|
82
|
+
assert Nand(True, True, True) == false
|
83
|
+
|
84
|
+
|
85
|
+
def test_Not():
|
86
|
+
assert Not(True) == false
|
87
|
+
assert Not(False) == true
|
88
|
+
|
89
|
+
|
90
|
+
def test_Xor():
|
91
|
+
assert Xor() == false
|
92
|
+
assert Xor(True) == true
|
93
|
+
assert Xor(False) == false
|
94
|
+
assert Xor(True, True ) == false
|
95
|
+
assert Xor(True, False) == true
|
96
|
+
assert Xor(False, False) == false
|
97
|
+
assert Xor(True, False, False) == true
|
98
|
+
|
99
|
+
|
100
|
+
def test_Xnor():
|
101
|
+
assert Xnor() == true
|
102
|
+
assert Xnor(True) == false
|
103
|
+
assert Xnor(False) == true
|
104
|
+
assert Xnor(True, True ) == true
|
105
|
+
assert Xnor(True, False) == false
|
106
|
+
assert Xnor(False, False) == true
|
107
|
+
assert Xnor(True, False, False) == false
|
108
|
+
|
109
|
+
|
110
|
+
def test_Piecewise():
|
111
|
+
assert Piecewise((x, x < 1), (0, True)) == Piecewise((x, x < 1), (0, True))
|
112
|
+
int1 = Interval(1, 2, True, False)
|
113
|
+
int2 = Interval(2, 5, True, False)
|
114
|
+
int3 = Interval(5, 10, True, False)
|
115
|
+
p = Piecewise((x, Contains(x, int1)), (y, Contains(x, int2)), (x + y, Contains(x, int3)))
|
116
|
+
q = Piecewise((1, Contains(x, int1)), (0, Contains(x, int2)), (1, Contains(x, int3)))
|
117
|
+
assert p.diff(x) == q
|
118
|
+
|
119
|
+
|
120
|
+
def test_Contains():
|
121
|
+
assert Contains(x, FiniteSet(0)) != false
|
122
|
+
assert Contains(x, Interval(1, 1)) != false
|
123
|
+
assert Contains(oo, Interval(-oo, oo)) == false
|
124
|
+
assert Contains(-oo, Interval(-oo, oo)) == false
|