Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
324 commits
Select commit Hold shift + click to select a range
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
ce2cce8
Allow white 3d points
TiagoCavalcante Oct 10, 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
9e8ae2e
support for Normal[SeriesData[...]]
mmatera Oct 25, 2021
4682ac0
clear[s] in docstring. Improving the text in the docstring
mmatera Oct 26, 2021
389e30b
CHANGES
mmatera Oct 26, 2021
885c407
Improve cylinders drawing
TiagoCavalcante Nov 9, 2021
fff4aca
ShowSteps
mmatera Nov 11, 2021
a0cb1a4
accelerate find context
mmatera Nov 12, 2021
4e2e437
faster access to attributes
mmatera Nov 12, 2021
b0dc87e
faster Expression.get_attributes
mmatera Nov 12, 2021
74e60e7
fix
mmatera Nov 13, 2021
b4b32a9
Follow StackOverflow anwswer more carefully
rocky Nov 14, 2021
392781b
Stop importing __version__
TiagoCavalcante Nov 15, 2021
0eacc60
Remove duplicated import of Asymptote's solids
TiagoCavalcante Nov 16, 2021
172429a
rgb -> pen
rocky Nov 16, 2021
6f05071
Merge pull request #68 from Mathics3/fixes-to-fix-cylinders
rocky Nov 16, 2021
1fdcfc7
Merge pull request #60 from Mathics3/fix-cylinders
TiagoCavalcante Nov 16, 2021
9c11bcf
Merge pull request #69 from Mathics3/remove-version-checking
TiagoCavalcante Nov 16, 2021
5e4f305
Fix the distortion in Plot3D
TiagoCavalcante Nov 16, 2021
258fad6
Revert changes that mess with axes scaling
rocky Nov 16, 2021
bf2bd9f
Merge pull request #71 from Mathics3/fix-plot3d-distortion
TiagoCavalcante Nov 17, 2021
7e6a50a
Update CHANGES.rst for Asy Cylinder[] addition
rocky Nov 17, 2021
6b741f0
* small fix in the plot routine, that numerify the expression (#66)
mmatera Nov 17, 2021
5aa7f6b
Merge branch 'master' into series-normal
rocky Nov 19, 2021
8fec4ab
Adjust Series documentation.
rocky Nov 19, 2021
6d33a67
Merge branch 'series-normal' of github.com:Mathics3/mathics-core into…
rocky Nov 19, 2021
bc2a34b
Merge pull request #55 from Mathics3/series-normal
rocky Nov 19, 2021
1a75771
Tweak `Series` fix in CHANGES.rst
rocky Nov 19, 2021
208dc7f
Add section description for Calculus functions
rocky Nov 19, 2021
18595ab
Merge pull request #77 from Mathics3/add-calculus-summaries
rocky Nov 19, 2021
ea023b8
Improving pattern matching (#4)
mmatera Nov 19, 2021
df63a8b
Merge pull request #35 from Mathics3/improve-point3d
rocky Nov 20, 2021
582c7af
Rule hack is separate and is in a separate PR
rocky Nov 22, 2021
d3a9ba5
Change `ShowSteps` to `$ShowSteps` and add new `ShowSteps` (a function)
TiagoCavalcante Nov 23, 2021
2dbed09
Remove SymbolShowSteps
TiagoCavalcante Nov 23, 2021
1f211a7
Change parent of ShowStepsVariable from Predefined to Builtin
TiagoCavalcante Nov 23, 2021
712da05
Blacken tedium
rocky Nov 23, 2021
7adb968
restoring bessel from master
mmatera Nov 25, 2021
eff7cf3
Merge remote-tracking branch 'origin/master' into step-by-step
mmatera Nov 25, 2021
a8b2204
print->print_out
mmatera Nov 25, 2021
d886728
indenting
mmatera Nov 25, 2021
6c7fa9c
* Indenting expressions\n*avoiding infinite loop in format\n*Adding H…
mmatera Nov 25, 2021
f5ba33b
extra indenting for symbols
mmatera Nov 25, 2021
20d1100
restoring print-> evaluation.print_out
mmatera Nov 25, 2021
3bd2ed6
adding mathics.builtin.box to module subdirs
mmatera Nov 25, 2021
cb4d6b2
faster access to Context and ContextPath
mmatera Nov 25, 2021
df1ba8d
Fixing docstrings. Moving property show_steps from Evaluation to Defi…
mmatera Nov 25, 2021
85abc9e
fix doctest
mmatera Nov 25, 2021
d69069a
fix tests
mmatera Nov 25, 2021
91c8aa9
fix typo
mmatera Nov 25, 2021
02510db
merge
mmatera Nov 25, 2021
0a22058
List fullform (#57)
mmatera Nov 26, 2021
cfeec97
fix Series test (#79)
mmatera Nov 26, 2021
3c6eb6b
Merge pull request #63 from Mathics3/step-by-step
rocky Nov 26, 2021
1af364e
Merge pull request #62 from Mathics3/load-builtin-box
rocky Nov 26, 2021
d7e23e1
Merge branch 'master' into faster_context
rocky Nov 26, 2021
c5354aa
Merge pull request #78 from Mathics3/faster_context
rocky Nov 26, 2021
3f4d24d
merge
mmatera Nov 28, 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
88 changes: 88 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,94 @@
CHANGES
=======

New Builtins
============
* ``ShowStep=True`` makes that every step in the evaluation is printed out. If it is set to ``False`` the standard behaviour is recovered.


Internals
=========

* To speed up the lookup of symbols names, `Definitions` object now have two properties: `current_context` and `context_path`. These properties stores the values of the corresponding symbols in the `builtin` definitions.
* Definitions for symbols ``CurrentContext`` and ``ContextPath[]`` are mirrored in the ``mathics.core.definitions.Definitions`` object for faster access.
* ``FullForm[List[...]]`` now is shown as ``{...}`` according to the WL standard.
* ``Expression.is_numeric()`` accepts an ``Evaluation`` object as a parameter; the definitions attribute of that is used.
* To numerify expressions, the function ``apply_N`` was introduced in module ``mathics.builtin.numeric`` to speed up the critical built-in function
``N``. Its use instead of the idiom ``Expression("N", expr, prec).evaluate(evaluation)`` makes the evaluation faster.
* A bug was fixed relating to the order in which ``mathics.core.definitions`` stores the rules.
* A bug comming from a failure in the order in which `mathics.core.definitions` stores the rules was fixed.
* `any`/`all` calls were unrolled as loops in Cythonized modules: this avoids the overhead of a function call replacing it by a (C) for loop, which is faster.
* `BaseExpression.get_head` now avoids building a symbol and then look for its name. It saves two function calls.
* Now, ``SameQ`` first checks type, then ``id``s, and then names in symbols.
* In `mathics.builtin.patterns.PatternTest`, if the condition is one of the most used tests (``NumberQ``, ``NumericQ``, ``StringQ``, etc) the `match` method is overwritten to specialized versions that avoid function calls.
* in the same aim, `mathics.core.patterns.AtomPattern` now specializes the comparison depending of the `Atom` type.
* 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
* A bug was fixed relating to the order in which ``mathics.core.definitions`` stores the rules
* Improved support for ``Series`` Issue #46
* ``Cylinder`` rendering is implemented in Asymptote

4.0.1
-----

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

* ``Guidermannian``
* ``Cone``
* ``Tube``
* ``Normal`` now have a basic support for ``SeriesData``

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