Commit 8c1295c
Add missing builtins (#1133)
I added a bunch of WMA builtins that aren't in Mathics yet:
- NumberDigit
- BellB
- EulerE
- JacobiSymbol
- KroneckerSymbol
- LucasL
- PolygonalNumber
- SquaresR
- LinearRecurrence
- ~~RootSum~~ I think this one needs some more work for converting to
sympy
- SeriesCoefficient
- DivisorSigma
- DivisorSum
- IntegerPart
- IntegerPartitions
- MersennePrimeExponent
- MoebiusMu
- PowersRepresentations
- HypergeometricU
- LambertW
- Subfactorial
- PolyLog
- ReverseSort
I also expanded the functionality of a few existing builtins to match
the behaviour of WMA:
- handle non-integer bounds in Sum
- fixed a bug in RealDigits where it would report the wrong number of
digits for powers of 10 (or whatever base is specified)
- support Fibonacci polynomials
- support symbolic bounds in Table (and other IterationFunctions)
- support providing SeriesData to CoefficientList
- added the listable attribute to a few functions
- allow supplying a precision when calling `N[]` on a complex number
I can split some of these out into separate PRs if they need more work
to merge.
I've started setting up some automated tests to pull all the Mathematica
programs listed in OEIS and check that Mathics can evaluate them to the
correct sequence values - these are all just the low hanging fruit that
fell out of doing that for the first couple of hundred sequences.
---------
Co-authored-by: Juan Mauricio Matera <matera@fisica.unlp.edu.ar>1 parent 744cbe0 commit 8c1295c
16 files changed
Lines changed: 354 additions & 35 deletions
File tree
- mathics
- builtin
- atomic
- intfns
- list
- numbers
- specialfns
- core
- test/builtin
- drawing
- list
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
12 | 37 | | |
13 | 38 | | |
14 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
959 | 959 | | |
960 | 960 | | |
961 | 961 | | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
962 | 970 | | |
963 | 971 | | |
964 | 972 | | |
| |||
1020 | 1028 | | |
1021 | 1029 | | |
1022 | 1030 | | |
1023 | | - | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
1024 | 1036 | | |
1025 | 1037 | | |
1026 | 1038 | | |
| |||
1029 | 1041 | | |
1030 | 1042 | | |
1031 | 1043 | | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
1035 | 1048 | | |
1036 | 1049 | | |
1037 | 1050 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
| |||
376 | 378 | | |
377 | 379 | | |
378 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
379 | 408 | | |
380 | 409 | | |
381 | 410 | | |
| |||
420 | 449 | | |
421 | 450 | | |
422 | 451 | | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
423 | 455 | | |
424 | 456 | | |
425 | 457 | | |
| |||
445 | 477 | | |
446 | 478 | | |
447 | 479 | | |
448 | | - | |
| 480 | + | |
449 | 481 | | |
450 | 482 | | |
451 | 483 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
| |||
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
| 44 | + | |
| 45 | + | |
42 | 46 | | |
43 | 47 | | |
44 | 48 | | |
| |||
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
50 | 59 | | |
51 | 60 | | |
52 | 61 | | |
| |||
73 | 82 | | |
74 | 83 | | |
75 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
76 | 110 | | |
77 | 111 | | |
78 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
| 525 | + | |
525 | 526 | | |
526 | 527 | | |
527 | 528 | | |
| |||
536 | 537 | | |
537 | 538 | | |
538 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
539 | 548 | | |
540 | 549 | | |
541 | 550 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
901 | 901 | | |
902 | 902 | | |
903 | 903 | | |
| 904 | + | |
| 905 | + | |
904 | 906 | | |
905 | 907 | | |
906 | 908 | | |
| |||
914 | 916 | | |
915 | 917 | | |
916 | 918 | | |
917 | | - | |
| 919 | + | |
918 | 920 | | |
919 | 921 | | |
920 | 922 | | |
| |||
937 | 939 | | |
938 | 940 | | |
939 | 941 | | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
940 | 954 | | |
941 | 955 | | |
942 | 956 | | |
| |||
953 | 967 | | |
954 | 968 | | |
955 | 969 | | |
956 | | - | |
957 | | - | |
| 970 | + | |
958 | 971 | | |
959 | 972 | | |
960 | 973 | | |
| |||
964 | 977 | | |
965 | 978 | | |
966 | 979 | | |
967 | | - | |
968 | | - | |
| 980 | + | |
969 | 981 | | |
970 | 982 | | |
971 | 983 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
1731 | 1732 | | |
1732 | 1733 | | |
1733 | 1734 | | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
| 1766 | + | |
| 1767 | + | |
| 1768 | + | |
| 1769 | + | |
| 1770 | + | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
1734 | 1779 | | |
1735 | 1780 | | |
1736 | 1781 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
561 | 583 | | |
562 | 584 | | |
563 | 585 | | |
| |||
0 commit comments