Skip to content

leaf.unevaluate -> unevaluated_leaves[leaf] in expression.evaluate_next #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 268 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
59ff4b3
Add colophon listing versions used to build doc
rocky Aug 4, 2021
012ff28
Map `Cuboid` with 2d coordinates to `Rectangle`
TiagoCavalcante Aug 4, 2021
30db9db
Merge pull request #1522 from mathics/add-latex-colophon
rocky Aug 4, 2021
c51d7d9
Merge pull request #1523 from TiagoCavalcanteTrindade/add-2d-cuboid
rocky Aug 4, 2021
f0146f2
Multiply pointSize by 0.5 to follow the new API
TiagoCavalcante Aug 5, 2021
597b7f4
Merge pull request #1525 from TiagoCavalcanteTrindade/update-point-si…
rocky Aug 5, 2021
adf9f6b
Merge pull request #1526 from mathics/update-point-size-calculation
rocky Aug 5, 2021
4c0695b
Add transformation functions...
rocky Aug 6, 2021
6b63d33
Merge pull request #1528 from mathics/add-transformation-fns
rocky Aug 6, 2021
04d439c
Add section summaries for date & time chapter
rocky Aug 6, 2021
a53179f
Merge pull request #1529 from mathics/add-date-and-time-summary-text
rocky Aug 6, 2021
acdf5d0
Add summary text for Procedural Programming fns
rocky Aug 7, 2021
89ed483
Merge pull request #1530 from mathics/summary-for-procedural-fns
rocky Aug 7, 2021
86bd345
Formatting on TimeConstrained
rocky Aug 7, 2021
0c4e67b
Make a pass over Bessel fns
rocky Aug 7, 2021
7fde04b
Merge pull request #1531 from mathics/special-fns
rocky Aug 7, 2021
49781a5
Add more spherical Bessel Functions
rocky Aug 7, 2021
54dc9a5
Merge pull request #1532 from mathics/spherical-bessel-fns
rocky Aug 7, 2021
ed4a1d4
All ENV settings for DOC paths
rocky Aug 8, 2021
0f68aaf
Merge pull request #1533 from mathics/allow-env-for-doc-paths
rocky Aug 8, 2021
1a54c5e
Tweak last commit
rocky Aug 8, 2021
d424213
Useful LaTeX doc tweaks
rocky Aug 8, 2021
dd5d666
Merge pull request #1534 from mathics/doc-build-tweaks
rocky Aug 8, 2021
d27d7c0
Add ability to filter doc making by section
rocky Aug 9, 2021
a692711
Add GudermannianRules
rocky Aug 9, 2021
af36515
Merge pull request #1536 from mathics/add-GudermannianRules
rocky Aug 9, 2021
0b92840
Merge pull request #1535 from mathics/selective-doc-sections
rocky Aug 9, 2021
bcb9c80
Was using wrong default for a,b,c,d...
rocky Aug 10, 2021
e74e3f0
Add one more Quantile example
rocky Aug 10, 2021
f8f1bbd
Merge pull request #1541 from mathics/correct-quantile
rocky Aug 10, 2021
2bb5120
Beef up Quantile doc
rocky Aug 10, 2021
0e1c80c
Merge pull request #1542 from mathics/correct-quantile
rocky Aug 10, 2021
125c723
Update Quantile doc again
rocky Aug 10, 2021
e9d1488
Tag Asymptote RectangleBox
rocky Aug 11, 2021
7c0e222
Add PolyGamma and Stieltjes functions
rocky Aug 11, 2021
f79a447
Merge pull request #1543 from mathics/add-polygamma
rocky Aug 11, 2021
f2214c8
WIP - redo BezierCurveBox
rocky Aug 12, 2021
29d00e3
Fixes to BezierCurve and tweaks to examples
rocky Aug 13, 2021
2ff44a3
Fixes to BezierCurve and tweaks to examples
rocky Aug 13, 2021
ae659cc
Merge branch 'correct-asy-bezier-curves' of github.com:mathics/Mathic…
rocky Aug 13, 2021
9596d7c
Merge pull request #1544 from mathics/correct-asy-bezier-curves
rocky Aug 13, 2021
93896ad
BezierCurve for Asy is closer to MMA spec
rocky Aug 13, 2021
6a4cbee
Update CHANGES.rst
rocky Aug 13, 2021
d13bb09
Merge pull request #1546 from mathics/more-bezier-work
rocky Aug 13, 2021
e605221
WIP - first cut at UniformPolyhedra
rocky Jul 29, 2021
45643c2
First working version.
rocky Aug 14, 2021
ae3c7ec
Closer, but still far no edge lengths and centers
rocky Aug 14, 2021
c47a6f0
"faceColor" -> "color"
rocky Aug 14, 2021
7ed66d4
typo: Isohedron -> Icosohedron
rocky Aug 14, 2021
93a4382
Rename `rgb_color` to `color`
TiagoCavalcante Aug 14, 2021
bdf7ea6
Merge pull request #1548 from TiagoCavalcanteTrindade/upstream/unifor…
rocky Aug 14, 2021
b89535a
Convert 3d primitives's for loop to nested list
TiagoCavalcante Aug 14, 2021
417330e
Convert `convert_coord_collection`'s for loop to nested list
TiagoCavalcante Aug 14, 2021
31c03ed
Remove the use of the old to_json
TiagoCavalcante Aug 14, 2021
4983537
Remove unnecessary variable declaration
TiagoCavalcante Aug 14, 2021
cfdb1b5
Remove unnecessary variable declaration
TiagoCavalcante Aug 14, 2021
b91a82f
Merge pull request #1549 from TiagoCavalcanteTrindade/upstream/unifor…
rocky Aug 14, 2021
4f51893
Use `convert_coord_collection` in `uniform_polyhedron_3d_box`
TiagoCavalcante Aug 14, 2021
4bd0c55
Move polyhedron's name check to right place
TiagoCavalcante Aug 14, 2021
f797828
Fix typo
TiagoCavalcante Aug 14, 2021
008bd95
Do `UniformPolyhedron` works
TiagoCavalcante Aug 14, 2021
3f25537
Merge pull request #1550 from TiagoCavalcanteTrindade/upstream/unifor…
rocky Aug 14, 2021
edca3c0
lint vis flake8.
rocky Aug 14, 2021
2dd5a2a
Add rules for edge length. More varied examples.
rocky Aug 14, 2021
4e62c4c
Add axes and correct spelling typo
rocky Aug 14, 2021
62d6213
Another typo
rocky Aug 14, 2021
ad69159
Merge pull request #1547 from mathics/uniformpolyhedra
rocky Aug 15, 2021
0c111c8
Mark modules that don't get documented.
rocky Aug 15, 2021
7571f4a
Merge pull request #1551 from mathics/more-doc-tagging
rocky Aug 15, 2021
b2885a0
Add timing decorator that can be used in profiling
rocky Aug 15, 2021
c60dc5f
Merge pull request #1552 from mathics/add-timing-fn
rocky Aug 15, 2021
0fea8b6
Mostly cosmetic revision of numeric.py
rocky Aug 21, 2021
16d0e1a
Merge pull request #1554 from mathics/go-over-numeric-functions
rocky Aug 21, 2021
8158359
Symmetric Rationalize
rocky Aug 21, 2021
48fc04b
Merge pull request #1555 from mathics/symmetric-rationalize
rocky Aug 21, 2021
f6188b0
Rationalize result that are an integer stay int
rocky Aug 22, 2021
19cb001
Merge pull request #1556 from mathics/symmetric-rationalize
rocky Aug 22, 2021
cfd2054
Pull out read_check_options
rocky May 8, 2021
6da7feb
WIP - pull out another fn
rocky May 8, 2021
142e354
Pull out more code read_get_name_from_channel
rocky May 8, 2021
1abdce8
Merge conflict
rocky Jul 31, 2021
358fc00
Move and rename stuff
rocky May 8, 2021
4a91fa8
move out reader() from Read[]
rocky May 8, 2021
dfbd09e
Move internal Read[] code out of files.py
rocky May 8, 2021
abe8af4
Merge conflicts
rocky Jul 31, 2021
fb19ee5
mathics_open -> MathicsOpen; class conventions
rocky May 8, 2021
9e087cf
Isolate read_types code into a function
rocky May 8, 2021
1b07dd3
More refactoring
rocky May 8, 2021
4434cc5
Last refactor before we move *forward*
rocky May 8, 2021
0cfec45
Almost there...
rocky May 8, 2021
de583d9
Add read_from_stream() in mathics.core.read
rocky Jul 31, 2021
0893873
WIP read_in_stream not completely working...
rocky Jul 31, 2021
3b6d899
Read[] marginally working...
rocky Aug 8, 2021
faf0027
Revert ReadList and Read a little bit...
rocky Aug 23, 2021
415072f
Merge pull request #1510 from mathics/ReadList-refactor
rocky Aug 23, 2021
fd0edea
Move one more routine out of files.py
rocky Aug 23, 2021
6b43084
Merge pull request #1557 from mathics/ReadList-refactor
rocky Aug 23, 2021
94556f8
Move reader() into core/read
rocky Aug 23, 2021
463b4b0
Merge pull request #1558 from mathics/ReadList-refactor
rocky Aug 23, 2021
b605aab
Move more stritcly non-builtin code to core.read
rocky Aug 23, 2021
7cfa65d
Merge pull request #1559 from mathics/ReadList-refactor
rocky Aug 23, 2021
25ee1d5
adding some quick pattern tests for PatternTest
mmatera Aug 25, 2021
7716c43
fixup: Format Python code with Black
rocky Aug 25, 2021
8a90e51
Merge pull request #1564 from mathics/quickpatterntest
rocky Aug 25, 2021
c7e9f17
clean ListQ and NumericQ pattern tests
mmatera Aug 25, 2021
fe6b5dc
clean StringQ
mmatera Aug 25, 2021
5e8d74d
revert some cases...
mmatera Aug 25, 2021
7f47483
fixup: Format Python code with Black
rocky Aug 25, 2021
e389341
improving quick_pattern_tests
mmatera Aug 25, 2021
dc801fe
fixup: Format Python code with Black
rocky Aug 25, 2021
1e96d36
fix cylinder
mmatera Aug 25, 2021
fb56830
fixup: Format Python code with Black
rocky Aug 25, 2021
fbfa15f
adding types
mmatera Aug 25, 2021
870fbbf
Merge branch 'quickpatterntest' of https://github.com/mathics/Mathics…
mmatera Aug 25, 2021
1f0acd0
datetime
mmatera Aug 26, 2021
58dc698
Merge pull request #1565 from mathics/quickpatterntest
rocky Aug 29, 2021
478735b
Improve Rational performance
TiagoCavalcante Sep 1, 2021
d929af3
Merge pull request #1570 from TiagoCavalcante/improve-rational-perfor…
rocky Sep 1, 2021
aa3331d
trying to improve performance for NumericQ/NumberQ tests
mmatera Aug 31, 2021
1aa72ba
fixing CHANGES.rst
mmatera Sep 4, 2021
6e09568
Fix 2d cuboid
TiagoCavalcante Sep 4, 2021
2cd07ac
Tolerate Unicode DifferentialD
rocky Sep 4, 2021
68db2b0
_numeric_evaluation_with_prec -> apply_N
mmatera Sep 5, 2021
33a2b69
fixup: Format Python code with Black
rocky Sep 5, 2021
bab67e4
Merge pull request #1572 from mathics/faster_numericq
rocky Sep 6, 2021
181483e
More rule tweaks
TiagoCavalcante Aug 25, 2021
f6178aa
Improve `quick_pattern_test` readability
TiagoCavalcante Aug 31, 2021
178aa81
Improve ElementData performance
TiagoCavalcante Aug 31, 2021
fcf7058
Merge pull request #1573 from TiagoCavalcante/add-2d-cuboid
rocky Sep 6, 2021
0c64d1a
Merge pull request #1577 from mathics/quickpatterntest
rocky Sep 6, 2021
c5141e5
first try: implementing <<precompiled>> Dispatch tables
mmatera May 3, 2021
c5eef7d
Merge pull request #1578 from mathics/add-2d-cuboid
rocky Sep 6, 2021
48ab7be
Improve MakeBoxes performance by rewriting some rules
TiagoCavalcante Sep 4, 2021
9b51b57
Merge pull request #1579 from mathics/improve-make-boxes-performance
rocky Sep 6, 2021
05453c9
Merge pull request #1347 from mathics/Dispatch2
rocky Sep 6, 2021
b984aa5
Merge pull request #1575 from mathics/DifferentialD-adjust
rocky Sep 11, 2021
c1b73a8
mathics/Mathics -> Mathics3/mathics-core
rocky Sep 11, 2021
4e71d95
Update AUTHORS.txt
TiagoCavalcante Sep 11, 2021
278cdee
Replace _Graphics3DElement by InstanceableBuiltin
TiagoCavalcante Sep 13, 2021
bebafe0
Replace array by tuple for 3d primitives' coordinates
TiagoCavalcante Sep 13, 2021
29d46f0
Remove useless return values for 3d primitives builtins
TiagoCavalcante Sep 13, 2021
0fb098e
Clear `_roundbox`
TiagoCavalcante Sep 13, 2021
0575f3d
Clear `Graphics3DBox`
TiagoCavalcante Sep 13, 2021
9d86f34
Change 3d graphics protocol revision to 1.1
TiagoCavalcante Sep 13, 2021
5926495
Add `Tube`
TiagoCavalcante Sep 13, 2021
dbcfa62
Update CHANGES.rst
TiagoCavalcante Sep 13, 2021
a9f9150
Clear `Coords3D`
TiagoCavalcante Sep 14, 2021
35af6c3
Stop checking whether 3d coordinates are instance of `Coords3D`
TiagoCavalcante Sep 14, 2021
b0eb993
Stop checking whether the colors are None
TiagoCavalcante Sep 14, 2021
5232ce5
Fix `StringSplit`'s missing whitespaces
TiagoCavalcante Sep 14, 2021
eea4f21
Merge pull request #2 from Mathics3/improve-graphics3d-performance
TiagoCavalcante Sep 14, 2021
6296bdf
Add cone primitive
TiagoCavalcante Sep 13, 2021
5227977
Remove checking whether the coordinates are `Coords3D`
TiagoCavalcante Sep 13, 2021
7afd415
Improve the performance according to `improve-graphics3d-performance`
TiagoCavalcante Sep 13, 2021
b3c8b25
Add WL tests, revise doc
rocky Sep 16, 2021
87d42be
Add summary text for more strings operations
rocky Sep 16, 2021
87fa63b
One more quote removal
rocky Sep 16, 2021
c69795b
Merge pull request #8 from Mathics3/more-StringSplit-tests-and-doc
rocky Sep 16, 2021
70309a2
Merge pull request #5 from Mathics3/fix-StringSplit
rocky Sep 16, 2021
dd0898b
Add clean-cython target
rocky Sep 16, 2021
ed3cdd2
Also remove .c files in clean Cython
rocky Sep 16, 2021
255011e
Merge pull request #9 from Mathics3/add-cython-clean-target
rocky Sep 16, 2021
0f0973a
Use Builtin class summary_text in `?`
rocky Sep 17, 2021
2f65192
Add tests for `?` and `??`
TiagoCavalcante Sep 17, 2021
d9068b4
Merge pull request #10 from Mathics3/show-information-summary-text
TiagoCavalcante Sep 17, 2021
1747dc8
Use `apply_N` more intensively
TiagoCavalcante Sep 19, 2021
292a13c
Merge pull request #12 from Mathics3/use-applyn-intensively
TiagoCavalcante Sep 19, 2021
4953aff
Add more type annotations
TiagoCavalcante Sep 21, 2021
806835d
Set syntax tweaks
TiagoCavalcante Sep 21, 2021
4582220
Revove duplicated function
TiagoCavalcante Sep 21, 2021
7cce563
Remove duplicated function: create_css
TiagoCavalcante Sep 21, 2021
e635193
Remove useless sort
TiagoCavalcante Sep 21, 2021
b042382
Remove useless argument
TiagoCavalcante Sep 21, 2021
96f46d2
Remove useless None checking
TiagoCavalcante Sep 21, 2021
75cf17c
Stop converting color into list
TiagoCavalcante Sep 21, 2021
66142da
get_style_class() -> style_class
TiagoCavalcante Sep 21, 2021
8fe5a33
Remove useless check
TiagoCavalcante Sep 21, 2021
0b86c1d
Remove useless imports
TiagoCavalcante Sep 21, 2021
aff3eea
Remove useless None checking
TiagoCavalcante Sep 21, 2021
f9f41d2
Merge pull request #14 from Mathics3/small-tweaks
TiagoCavalcante Sep 22, 2021
046859b
first cut
mmatera Sep 25, 2021
f815aa1
fix all the imports
mmatera Sep 26, 2021
acb1966
fix gs test
mmatera Sep 26, 2021
635d623
removing redefinitions of variables
mmatera Sep 26, 2021
82d9780
SymbolMakeBoxes goes into symbols.py
mmatera Sep 26, 2021
12fc916
move systemsymbols used in symbols.py to symbols.py
mmatera Sep 26, 2021
d4ef462
improving handling of circular reference
mmatera Sep 26, 2021
98e184a
flake8
mmatera Sep 26, 2021
d4deb5b
flake8
mmatera Sep 26, 2021
b0176f7
Merge pull request #17 from Mathics3/split-core-expression
rocky Sep 26, 2021
76de7d1
Additional import splitting
rocky Sep 26, 2021
e806c5d
More import reorganization
rocky Sep 26, 2021
cdaa12d
Narrow description to just the mathics-core...
rocky Sep 27, 2021
b51b115
Merge pull request #19 from Mathics3/update-readme
rocky Sep 27, 2021
4b47e09
Splitting different cases and organize calls from a dictionary
mmatera Sep 26, 2021
981d0f1
Update setup.py
mmatera Sep 28, 2021
47ceb84
Merge pull request #1 from Mathics3/add-cone
rocky Oct 1, 2021
7500679
Merge pull request #3 from Mathics3/add-tube
rocky Oct 1, 2021
fd14f62
Merge pull request #18 from Mathics3/split-core-expression-additional…
rocky Oct 1, 2021
d86e704
List overhaul
mmatera Oct 3, 2021
174776d
fix import
mmatera Oct 3, 2021
086c37f
removing SymbolN, SymbolNull from systemsymbols
mmatera Oct 3, 2021
d2e7eae
Add a traced version of rules.py ...
rocky Oct 3, 2021
7226720
fixup: Format Python code with Black
rocky Oct 3, 2021
7554be3
Update setup.py
mmatera Oct 3, 2021
2f2adf2
Allow a developer to overide to running Cython
rocky Oct 3, 2021
5113a88
Go over CHANGE.rst (note NO_CYTHON)
rocky Oct 3, 2021
9c15fba
Remove Cython except once on Ubuntu 3.9
rocky Oct 3, 2021
df84df5
Go over workflows, and extensions
rocky Oct 4, 2021
6e2dbbb
Merge pull request #29 from Mathics3/optional-cython
rocky Oct 4, 2021
e9d0dbc
Merge pull request #27 from Mathics3/parts_to_algorithm
mmatera Oct 4, 2021
0abb647
Merge remote-tracking branch 'origin/master' into assign-refactory
mmatera Oct 4, 2021
f8c51b7
Only sets build_ext to Cython when NO_CYTHON isn't set
TiagoCavalcante Oct 4, 2021
a5977c3
Merge pull request #31 from Mathics3/optional-cython-tweaks
TiagoCavalcante Oct 5, 2021
3568fc0
Add TraceBuiltins.
TiagoCavalcante Oct 5, 2021
7ba4f89
Add the option SortBy to TracedBuiltins
TiagoCavalcante Oct 6, 2021
7bb0ef8
Add $TraceBuiltins
TiagoCavalcante Oct 7, 2021
2c4cd98
Add PrintTrace
TiagoCavalcante Oct 7, 2021
3b1d137
Add ClearTrace
TiagoCavalcante Oct 7, 2021
3394be8
Merge pull request #23 from Mathics3/assign-refactory
rocky Oct 9, 2021
07c50a4
Comment out PrintTrace and ClearTrace for now...
rocky Oct 9, 2021
5e41989
fixup: Format Python code with Black
rocky Oct 9, 2021
52a9d31
Merge pull request #32 from Mathics3/tracing-tweaks2
rocky Oct 9, 2021
3e6d138
Add to CHANGES.rst
rocky Oct 9, 2021
6efe6c6
Merge pull request #28 from Mathics3/Builtin-tracing
rocky Oct 9, 2021
2bbc1fd
Go over docs for Buitin-Function tracing...
rocky Oct 10, 2021
32997bd
Adjust tests so they pass
rocky Oct 10, 2021
176361a
Improve the documentaion of $TraceBuiltins
TiagoCavalcante Oct 10, 2021
7f372ba
Change the tests of PrintTrace so them check for the message
TiagoCavalcante Oct 10, 2021
88b0c56
Improve the warning when setting $TraceBuiltins to a non-bool value
TiagoCavalcante Oct 10, 2021
770ed75
Fix warning when the sort option doesn't exist in PrintTrace
TiagoCavalcante Oct 10, 2021
4697518
Fix tests
TiagoCavalcante Oct 11, 2021
a5b6416
Allow SortBy in PrintTrace
TiagoCavalcante Oct 11, 2021
9e6fa0e
Merge pull request #34 from Mathics3/doc-tracing
TiagoCavalcante Oct 11, 2021
cc93e4a
Improve the looking of PrintTrace's docs
TiagoCavalcante Oct 11, 2021
26236b7
Merge pull request #38 from Mathics3/printtrace-tweaks
rocky Oct 11, 2021
ac085e6
Improve the looking of PrintTrace's docs
TiagoCavalcante Oct 11, 2021
08d89b7
Merge pull request #39 from Mathics3/printtrace-tweaks
rocky Oct 11, 2021
251526f
Start to split out assignments into its own module
rocky Oct 17, 2021
26a663b
Split out assignment upvalies and clear operations
rocky Oct 17, 2021
04ab8f4
Go over summary text for clear ...
rocky Oct 17, 2021
ab68395
Split off Assignment information functions
rocky Oct 17, 2021
e6741e3
Split off assignment plus binary operator
rocky Oct 17, 2021
eeab285
Split out Types of Values in Assignments
rocky Oct 17, 2021
5a195e4
Merge pull request #43 from Mathics3/assignments-module
rocky Oct 17, 2021
0b3b375
remove trailing exit() from debugging (#45)
mmatera Oct 19, 2021
5483326
Singletonize (#47)
mmatera Oct 25, 2021
9a46bb9
Replace from_python by a more specific function in some places
TiagoCavalcante Oct 25, 2021
bf7806e
Merge pull request #53 from Mathics3/use-less-from_python
TiagoCavalcante Oct 25, 2021
461c8a2
leaf.unevaluate -> unevaluated_leaves[leaf] in expression.evaluate_next
mmatera Nov 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = tab
indent_size = 4

[*.yml]
indent_style = space
indent_size = 2

[*.py]
indent_style = space
indent_size = 4
3 changes: 2 additions & 1 deletion .github/workflows/osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:

jobs:
build:
env:
NO_CYTHON: 1
runs-on: macos-latest
strategy:
matrix:
Expand All @@ -29,5 +31,4 @@ jobs:
make develop-full
- name: Test Mathics
run: |
pip install -r requirements-dev.txt
make -j3 check
30 changes: 30 additions & 0 deletions .github/workflows/ubuntu-cython.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Mathics (ubuntu full with Cython)

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.9]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev
python -m pip install --upgrade pip
- name: Install Mathics with full dependencies
run: |
make develop-full-cython
- name: Test Mathics
run: |
make -j3 check
3 changes: 2 additions & 1 deletion .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:

jobs:
build:
env:
NO_CYTHON: 1
runs-on: ubuntu-20.04
strategy:
matrix:
Expand All @@ -27,5 +29,4 @@ jobs:
make develop-full
- name: Test Mathics
run: |
pip install -r requirements-dev.txt
make -j3 check
5 changes: 3 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:

jobs:
build:
env:
NO_CYTHON: 1
runs-on: windows-latest
strategy:
matrix:
Expand All @@ -31,7 +33,6 @@ jobs:
python setup.py install
- name: Test Mathics
run: |
pip install -e .[full]
pip install -r requirements-dev.txt
pip install -e .[dev,full]
set PYTEST_WORKERS="-n3"
make check
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.0.0
rev: v4.0.1
hooks:
- id: debug-statements
- id: end-of-file-fixer
- repo: https://github.com/psf/black
rev: 21.6b0
rev: 21.8b0
hooks:
- id: black
language_version: python3
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Additional contributions were made by:
- Сухарик @suhr
- Pablo Emilio Escobar Gaviria @GarkGarcia
- Rocky Bernstein @rocky
- Tiago Cavalcante Trindade @TiagoCavalcante

Thanks to the authors of all projects that are used in Mathics:
- Django
Expand Down
71 changes: 71 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,77 @@
CHANGES
=======

Internals
=========

* To speed up the Mathics ``Expression`` manipulation code, `Symbol`s objects are now a singleton class. This avoids a lot of unnecesary string comparisons, and calls to ``ensure_context``.
* To speed up development, you can set ``NO_CYTHON`` to skip Cythonizing Python modules
* ``Expression.is_numeric()`` accepts an ``Evaluation`` object as a parameter; the definitions attribute of that is used.
* ``apply_N`` was introduced in module ``mathics.builtin.numeric`` was used to speed up critically used built-in function ``N``. Its use reduces the use of
``Expression("N", expr, prec).evaluate(evaluation)`` which is slower.
* A bug was fixed relating to the order in which ``mathics.core.definitions`` stores the rules


4.0.1
-----

New builtins
++++++++++++

* ``Guidermannian``
* ``Cone``
* ``Tube``

Tensor functions:

* ``RotationTransform``
* ``ScalingTransform``
* ``ShearingTransform``
* ``TransformationFunction``
* ``TranslationTransform``

Spherical Bessel functions:

* ``SphericalBesselJ``
* ``SphericalBesselY``
* ``SphericalHankelH1``
* ``SphericalHankelH2``

Gamma functions:

* ``PolyGamma``
* ``Stieltjes``

Uniform Polyhedron
* ``Dodecahedron``
* ``Icosahedron``
* ``Octahedron``
* ``TetraHedron``
* ``UniformPolyedron``

Mathics-specific

* ``TraceBuiltin[]``, ``$TraceBuiltins``, ``ClearTrace[]``, ``PrintTrace[]``

These collect builtin-function call counts and elapsed time in the routines.
``TraceBuiltin[expr]`` collects information for just *expr*. Whereas
setting ``$TraceBuiltins`` to True will accumulate results of evaluations
``PrintTrace[]`` dumps the statistics and ``ClearTrace[]`` clears the statistics data.

``mathics -T/--trace-builtin`` is about the same as setting
``$TraceBuiltins = True`` on entry and runs ``PrintTrace[]`` on exit.


Bugs
++++

* Fix and document better behavior of ``Quantile``
* Improve Asymptote ``BezierCurve``implementation
* ``Rationalize`` gives symmetric results for +/- like MMA does. If
the result is an integer, it stays that way.
* stream processing was redone. ``InputStream``, ``OutputStream`` and
``StringToStream`` should all open, close, and assign stream numbers now

4.0.0
-----

Expand Down
18 changes: 13 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PIP ?= pip3
RM ?= rm

.PHONY: all build \
check clean \
check clean clean-cython \
develop dist doctest doc-data djangotest \
gstest pytest \
rmChangeLog \
Expand All @@ -35,11 +35,15 @@ build:

#: Set up to run from the source tree
develop:
$(PIP) install -e .
$(PIP) install -e .[dev]

#: Set up to run from the source tree with full dependencies
develop-full:
$(PIP) install -e .[full]
$(PIP) install -e .[dev,full]

#: Set up to run from the source tree with full dependencies and Cython
develop-full-cython:
$(PIP) install -e .[dev,full,cython]


#: Make distirbution: wheels, eggs, tarball
Expand All @@ -53,9 +57,13 @@ install:
check: pytest gstest doctest


#: Remove Cython-derived files
clean-cython:
find mathics -name "*.so" -type f -delete; \
find mathics -name "*.c" -type f -delete

#: Remove derived files
clean:
rm mathics/*/*.so; \
clean: clean-cython
for dir in mathics/doc ; do \
($(MAKE) -C "$$dir" clean); \
done; \
Expand Down
28 changes: 9 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,28 +1,18 @@
Welcome to Mathics!
===================
Welcome to Mathics Core!
========================

|Pypi Installs| |Latest Version| |Supported Python Versions| |Travis|_ |SlackStatus|_
|Pypi Installs| |Latest Version| |Supported Python Versions| |SlackStatus|_

|Packaging status|


Mathics is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica. It is free both as in "free beer" and as in "freedom".
Mathics is a general-purpose computer algebra system (CAS).

The home page of Mathics is https://mathics.org.
However this repository contains just the Python modules for WL Built-in functions, variables, core primitives, e.g. Symbol, a parser to create Expressions, and an evaluator to execute them.

The home page for Mathics is https://mathics.org where you will find a list of screenshots and components making up the system.

ScreenShots
-----------

mathicsscript: a text interface
+++++++++++++++++++++++++++++++

|mathicsscript|

mathicsserver: a Django-based Web interface
+++++++++++++++++++++++++++++++++++++++++++

|mathicssserver|
If you want to install everything locally, see the `Mathics omnibus repository <https://github.com/Mathics3/mathics-omnibus>`_.


Installing and Running
Expand All @@ -43,8 +33,8 @@ Mathics is released under the GNU General Public License Version 3 (GPL3).

.. |SlackStatus| image:: https://mathics-slackin.herokuapp.com/badge.svg
.. _SlackStatus: https://mathics-slackin.herokuapp.com/
.. |Travis| image:: https://secure.travis-ci.org/mathics/Mathics.svg?branch=master
.. _Travis: https://travis-ci.org/mathics/Mathics
.. |Travis| image:: https://secure.travis-ci.org/Mathics3/mathics-core.svg?branch=master
.. _Travis: https://travis-ci.org/Mathics3/mathics-core
.. _PyPI: https://pypi.org/project/Mathics/
.. |mathicsscript| image:: https://github.com/Mathics3/mathicsscript/blob/master/screenshots/mathicsscript1.gif
.. |mathicssserver| image:: https://mathics.org/images/mathicsserver.png
Expand Down
2 changes: 0 additions & 2 deletions examples/symbolic_logic/gries_schneider/test_gs.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
# -*- coding: utf-8 -*-


import unittest
from mathics.core.expression import Expression, Integer, Rational, Symbol
from mathics.core.definitions import Definitions
from mathics.core.evaluation import Evaluation
from mathics.core.parser import MathicsSingleLineFeeder, parse
Expand Down
15 changes: 0 additions & 15 deletions mathics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,6 @@
import numpy

from mathics.version import __version__
from mathics.core.expression import (
Expression,
Symbol,
String,
Number,
Integer,
Real,
Complex,
Rational,
from_python,
MachineReal,
PrecisionReal,
)
from mathics.core.convert import from_sympy


version_info = {
"mathics": __version__,
Expand Down
8 changes: 0 additions & 8 deletions mathics/algorithm/clusters.py
Original file line number Diff line number Diff line change
Expand Up @@ -1188,14 +1188,6 @@ def _squared_euclidean_distance(a, b):
return s


def _clusters(x, a, k):
clusters = [[] for _ in range(k)]
add = [c.append for c in clusters]
for i, j in enumerate(a):
add[j](x[i])
return clusters


def kmeans(x, x_repr, k, mode, seed, epsilon):
assert len(x) == len(x_repr)

Expand Down
Loading