Mercurial > emacs
comparison lisp/calc/calc-ext.el @ 90054:f2ebccfa87d4
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-74
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-709
Update from CVS: src/indent.c (Fvertical_motion): Fix last change.
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-710
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-715
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-716
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-74
Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Wed, 08 Dec 2004 05:02:30 +0000 |
parents | b637c617432f 599d383ee37d |
children | fb79180b618d |
comparison
equal
deleted
inserted
replaced
90053:fff5f1a61d92 | 90054:f2ebccfa87d4 |
---|---|
24 | 24 |
25 ;;; Commentary: | 25 ;;; Commentary: |
26 | 26 |
27 ;;; Code: | 27 ;;; Code: |
28 | 28 |
29 (provide 'calc-ext) | |
30 (require 'calc) | 29 (require 'calc) |
31 | |
32 (setq calc-extensions-loaded t) | |
33 | |
34 ;;; This function is the autoload "hook" to cause this file to be loaded. | |
35 ;;;###autoload | |
36 (defun calc-extensions () | |
37 "This function is part of the autoload linkage for parts of Calc." | |
38 t) | |
39 | |
40 ;;; Auto-load calc.el part, in case this part was loaded first. | |
41 (if (fboundp 'calc-dispatch) | |
42 (and (eq (car-safe (symbol-function 'calc-dispatch)) 'autoload) | |
43 (load (nth 1 (symbol-function 'calc-dispatch)))) | |
44 (if (fboundp 'calc) | |
45 (and (eq (car-safe (symbol-function 'calc)) 'autoload) | |
46 (load (nth 1 (symbol-function 'calc)))) | |
47 (error "Main part of Calc must be present in order to load this file"))) | |
48 | |
49 (require 'calc-macs) | 30 (require 'calc-macs) |
50 | 31 |
51 (defvar math-simplifying nil) | 32 (defvar math-simplifying nil) |
52 (defvar math-living-dangerously nil) ; true if unsafe simplifications are okay. | 33 (defvar math-living-dangerously nil) ; true if unsafe simplifications are okay. |
53 (defvar math-integrating nil) | 34 (defvar math-integrating nil) |
666 (mapcar (function (lambda (x) | 647 (mapcar (function (lambda (x) |
667 (mapcar (function (lambda (func) | 648 (mapcar (function (lambda (func) |
668 (autoload func (car x)))) (cdr x)))) | 649 (autoload func (car x)))) (cdr x)))) |
669 '( | 650 '( |
670 | 651 |
671 ("calc-alg" calc-Need-calc-alg calc-has-rules | 652 ("calc-alg" calc-has-rules math-defsimplify |
672 calc-modify-simplify-mode calcFunc-collect calcFunc-esimplify | 653 calc-modify-simplify-mode calcFunc-collect calcFunc-esimplify |
673 calcFunc-islin calcFunc-islinnt calcFunc-lin calcFunc-linnt | 654 calcFunc-islin calcFunc-islinnt calcFunc-lin calcFunc-linnt |
674 calcFunc-simplify calcFunc-subst math-beforep | 655 calcFunc-simplify calcFunc-subst math-beforep |
675 math-build-polynomial-expr math-expand-formula math-expr-contains | 656 math-build-polynomial-expr math-expand-formula math-expr-contains |
676 math-expr-contains-count math-expr-depends math-expr-height | 657 math-expr-contains-count math-expr-depends math-expr-height |
677 math-expr-subst math-expr-weight math-integer-plus math-is-linear | 658 math-expr-subst math-expr-weight math-integer-plus math-is-linear |
678 math-is-multiple math-is-polynomial math-linear-in math-multiple-of | 659 math-is-multiple math-is-polynomial math-linear-in math-multiple-of |
679 math-need-std-simps math-poly-depends math-poly-mix math-poly-mul | 660 math-poly-depends math-poly-mix math-poly-mul |
680 math-poly-simplify math-poly-zerop math-polynomial-base | 661 math-poly-simplify math-poly-zerop math-polynomial-base |
681 math-polynomial-p math-recompile-eval-rules math-simplify | 662 math-polynomial-p math-recompile-eval-rules math-simplify |
682 math-simplify-exp math-simplify-extended math-simplify-sqrt | 663 math-simplify-exp math-simplify-extended math-simplify-sqrt |
683 math-to-simple-fraction) | 664 math-to-simple-fraction) |
684 | 665 |
685 ("calcalg2" calc-Need-calc-alg-2 calcFunc-asum calcFunc-deriv | 666 ("calcalg2" calcFunc-asum calcFunc-deriv |
686 calcFunc-ffinv calcFunc-finv calcFunc-fsolve calcFunc-gpoly | 667 calcFunc-ffinv calcFunc-finv calcFunc-fsolve calcFunc-gpoly |
687 calcFunc-integ calcFunc-poly calcFunc-prod calcFunc-roots | 668 calcFunc-integ calcFunc-poly calcFunc-prod calcFunc-roots |
688 calcFunc-solve calcFunc-sum calcFunc-table calcFunc-taylor | 669 calcFunc-solve calcFunc-sum calcFunc-table calcFunc-taylor |
689 calcFunc-tderiv math-expr-calls math-integral-q02 math-integral-q12 | 670 calcFunc-tderiv math-expr-calls math-integral-q02 math-integral-q12 |
690 math-integral-rational-funcs math-lcm-denoms math-looks-evenp | 671 math-integral-rational-funcs math-lcm-denoms math-looks-evenp |
691 math-poly-all-roots math-prod-rec math-reject-solution math-solve-eqn | 672 math-poly-all-roots math-prod-rec math-reject-solution math-solve-eqn |
692 math-solve-for math-sum-rec math-try-integral) | 673 math-solve-for math-sum-rec math-try-integral) |
693 | 674 |
694 ("calcalg3" calc-Need-calc-alg-3 calcFunc-efit calcFunc-fit | 675 ("calcalg3" calcFunc-efit calcFunc-fit |
695 calcFunc-fitdummy calcFunc-fitparam calcFunc-fitvar | 676 calcFunc-fitdummy calcFunc-fitparam calcFunc-fitvar |
696 calcFunc-hasfitparams calcFunc-hasfitvars calcFunc-maximize | 677 calcFunc-hasfitparams calcFunc-hasfitvars calcFunc-maximize |
697 calcFunc-minimize calcFunc-ninteg calcFunc-polint calcFunc-ratint | 678 calcFunc-minimize calcFunc-ninteg calcFunc-polint calcFunc-ratint |
698 calcFunc-root calcFunc-wmaximize calcFunc-wminimize calcFunc-wroot | 679 calcFunc-root calcFunc-wmaximize calcFunc-wminimize calcFunc-wroot |
699 calcFunc-xfit math-find-minimum math-find-root math-ninteg-evaluate | 680 calcFunc-xfit math-find-minimum math-find-root math-ninteg-evaluate |
700 math-ninteg-midpoint math-ninteg-romberg math-poly-interp) | 681 math-ninteg-midpoint math-ninteg-romberg math-poly-interp) |
701 | 682 |
702 ("calc-arith" calc-Need-calc-arith calcFunc-abs calcFunc-abssqr | 683 ("calc-arith" calcFunc-abs calcFunc-abssqr |
703 calcFunc-add calcFunc-ceil calcFunc-decr calcFunc-deven calcFunc-dimag | 684 calcFunc-add calcFunc-ceil calcFunc-decr calcFunc-deven calcFunc-dimag |
704 calcFunc-dint calcFunc-div calcFunc-dnatnum calcFunc-dneg | 685 calcFunc-dint calcFunc-div calcFunc-dnatnum calcFunc-dneg |
705 calcFunc-dnonneg calcFunc-dnonzero calcFunc-dnumint calcFunc-dodd | 686 calcFunc-dnonneg calcFunc-dnonzero calcFunc-dnumint calcFunc-dodd |
706 calcFunc-dpos calcFunc-drange calcFunc-drat calcFunc-dreal | 687 calcFunc-dpos calcFunc-drange calcFunc-drat calcFunc-dreal |
707 calcFunc-dscalar calcFunc-fceil calcFunc-ffloor calcFunc-float | 688 calcFunc-dscalar calcFunc-fceil calcFunc-ffloor calcFunc-float |
723 math-neg-float math-okay-neg math-possible-signs math-possible-types | 704 math-neg-float math-okay-neg math-possible-signs math-possible-types |
724 math-pow-fancy math-pow-mod math-pow-of-zero math-pow-zero | 705 math-pow-fancy math-pow-mod math-pow-of-zero math-pow-zero |
725 math-quarter-integer math-round math-setup-declarations math-sqr | 706 math-quarter-integer math-round math-setup-declarations math-sqr |
726 math-sqr-float math-trunc-fancy math-trunc-special) | 707 math-sqr-float math-trunc-fancy math-trunc-special) |
727 | 708 |
728 ("calc-bin" calc-Need-calc-bin calcFunc-and calcFunc-ash | 709 ("calc-bin" calcFunc-and calcFunc-ash |
729 calcFunc-clip calcFunc-diff calcFunc-lsh calcFunc-not calcFunc-or | 710 calcFunc-clip calcFunc-diff calcFunc-lsh calcFunc-not calcFunc-or |
730 calcFunc-rash calcFunc-rot calcFunc-rsh calcFunc-xor math-clip | 711 calcFunc-rash calcFunc-rot calcFunc-rsh calcFunc-xor math-clip |
731 math-compute-max-digits math-convert-radix-digits math-float-parts | 712 math-compute-max-digits math-convert-radix-digits math-float-parts |
732 math-format-bignum-binary math-format-bignum-hex | 713 math-format-bignum-binary math-format-bignum-hex |
733 math-format-bignum-octal math-format-bignum-radix math-format-binary | 714 math-format-bignum-octal math-format-bignum-radix math-format-binary |
734 math-format-radix math-format-radix-float math-integer-log2 | 715 math-format-radix math-format-radix-float math-integer-log2 |
735 math-power-of-2 math-radix-float-power) | 716 math-power-of-2 math-radix-float-power) |
736 | 717 |
737 ("calc-comb" calc-Need-calc-comb calc-report-prime-test | 718 ("calc-comb" calc-report-prime-test |
738 calcFunc-choose calcFunc-dfact calcFunc-egcd calcFunc-fact | 719 calcFunc-choose calcFunc-dfact calcFunc-egcd calcFunc-fact |
739 calcFunc-gcd calcFunc-lcm calcFunc-moebius calcFunc-nextprime | 720 calcFunc-gcd calcFunc-lcm calcFunc-moebius calcFunc-nextprime |
740 calcFunc-perm calcFunc-prevprime calcFunc-prfac calcFunc-prime | 721 calcFunc-perm calcFunc-prevprime calcFunc-prfac calcFunc-prime |
741 calcFunc-random calcFunc-shuffle calcFunc-stir1 calcFunc-stir2 | 722 calcFunc-random calcFunc-shuffle calcFunc-stir1 calcFunc-stir2 |
742 calcFunc-totient math-init-random-base math-member math-prime-test | 723 calcFunc-totient math-init-random-base math-member math-prime-test |
743 math-random-base) | 724 math-random-base) |
744 | 725 |
745 ("calccomp" calc-Need-calc-comp calcFunc-cascent calcFunc-cdescent | 726 ("calccomp" calcFunc-cascent calcFunc-cdescent |
746 calcFunc-cheight calcFunc-cwidth math-comp-ascent math-comp-descent | 727 calcFunc-cheight calcFunc-cwidth math-comp-ascent math-comp-descent |
747 math-comp-height math-comp-width math-compose-expr | 728 math-comp-height math-comp-width math-compose-expr |
748 math-composition-to-string math-stack-value-offset-fancy | 729 math-composition-to-string math-stack-value-offset-fancy |
749 math-vector-is-string math-vector-to-string) | 730 math-vector-is-string math-vector-to-string) |
750 | 731 |
751 ("calc-cplx" calc-Need-calc-cplx calcFunc-arg calcFunc-conj | 732 ("calc-cplx" calcFunc-arg calcFunc-conj |
752 calcFunc-im calcFunc-polar calcFunc-re calcFunc-rect math-complex | 733 calcFunc-im calcFunc-polar calcFunc-re calcFunc-rect math-complex |
753 math-fix-circular math-imaginary math-imaginary-i math-normalize-polar | 734 math-fix-circular math-imaginary math-imaginary-i math-normalize-polar |
754 math-polar math-want-polar) | 735 math-polar math-want-polar) |
755 | 736 |
756 ("calc-embed" calc-Need-calc-embed calc-do-embedded | 737 ("calc-embed" calc-do-embedded |
757 calc-do-embedded-activate calc-embedded-evaluate-expr | 738 calc-do-embedded-activate calc-embedded-evaluate-expr |
758 calc-embedded-modes-change calc-embedded-var-change) | 739 calc-embedded-modes-change calc-embedded-var-change) |
759 | 740 |
760 ("calc-fin" calc-Need-calc-fin calc-to-percentage calcFunc-ddb | 741 ("calc-fin" calc-to-percentage calcFunc-ddb |
761 calcFunc-fv calcFunc-fvb calcFunc-fvl calcFunc-irr calcFunc-irrb | 742 calcFunc-fv calcFunc-fvb calcFunc-fvl calcFunc-irr calcFunc-irrb |
762 calcFunc-nper calcFunc-nperb calcFunc-nperl calcFunc-npv calcFunc-npvb | 743 calcFunc-nper calcFunc-nperb calcFunc-nperl calcFunc-npv calcFunc-npvb |
763 calcFunc-pmt calcFunc-pmtb calcFunc-pv calcFunc-pvb calcFunc-pvl | 744 calcFunc-pmt calcFunc-pmtb calcFunc-pv calcFunc-pvb calcFunc-pvl |
764 calcFunc-rate calcFunc-rateb calcFunc-ratel calcFunc-sln calcFunc-syd) | 745 calcFunc-rate calcFunc-rateb calcFunc-ratel calcFunc-sln calcFunc-syd) |
765 | 746 |
766 ("calc-forms" calc-Need-calc-forms calcFunc-badd calcFunc-bsub | 747 ("calc-forms" calcFunc-badd calcFunc-bsub |
767 calcFunc-date calcFunc-day calcFunc-dsadj calcFunc-hms | 748 calcFunc-date calcFunc-day calcFunc-dsadj calcFunc-hms |
768 calcFunc-holiday calcFunc-hour calcFunc-incmonth calcFunc-incyear | 749 calcFunc-holiday calcFunc-hour calcFunc-incmonth calcFunc-incyear |
769 calcFunc-intv calcFunc-julian calcFunc-makemod calcFunc-minute | 750 calcFunc-intv calcFunc-julian calcFunc-makemod calcFunc-minute |
770 calcFunc-month calcFunc-newmonth calcFunc-newweek calcFunc-newyear | 751 calcFunc-month calcFunc-newmonth calcFunc-newweek calcFunc-newyear |
771 calcFunc-now calcFunc-pwday calcFunc-sdev calcFunc-second | 752 calcFunc-now calcFunc-pwday calcFunc-sdev calcFunc-second |
776 math-make-mod math-make-sdev math-mod-intv math-normalize-hms | 757 math-make-mod math-make-sdev math-mod-intv math-normalize-hms |
777 math-normalize-mod math-parse-date math-read-angle-brackets | 758 math-normalize-mod math-parse-date math-read-angle-brackets |
778 math-setup-add-holidays math-setup-holidays math-setup-year-holidays | 759 math-setup-add-holidays math-setup-holidays math-setup-year-holidays |
779 math-sort-intv math-to-business-day math-to-hms) | 760 math-sort-intv math-to-business-day math-to-hms) |
780 | 761 |
781 ("calc-frac" calc-Need-calc-frac calc-add-fractions | 762 ("calc-frac" calc-add-fractions |
782 calc-div-fractions calc-mul-fractions calcFunc-fdiv calcFunc-frac | 763 calc-div-fractions calc-mul-fractions calcFunc-fdiv calcFunc-frac |
783 math-make-frac) | 764 math-make-frac) |
784 | 765 |
785 ("calc-funcs" calc-Need-calc-funcs calc-prob-dist calcFunc-bern | 766 ("calc-funcs" calc-prob-dist calcFunc-bern |
786 calcFunc-besJ calcFunc-besY calcFunc-beta calcFunc-betaB | 767 calcFunc-besJ calcFunc-besY calcFunc-beta calcFunc-betaB |
787 calcFunc-betaI calcFunc-erf calcFunc-erfc calcFunc-euler | 768 calcFunc-betaI calcFunc-erf calcFunc-erfc calcFunc-euler |
788 calcFunc-gamma calcFunc-gammaG calcFunc-gammaP calcFunc-gammaQ | 769 calcFunc-gamma calcFunc-gammaG calcFunc-gammaP calcFunc-gammaQ |
789 calcFunc-gammag calcFunc-ltpb calcFunc-ltpc calcFunc-ltpf | 770 calcFunc-gammag calcFunc-ltpb calcFunc-ltpc calcFunc-ltpf |
790 calcFunc-ltpn calcFunc-ltpp calcFunc-ltpt calcFunc-utpb calcFunc-utpc | 771 calcFunc-ltpn calcFunc-ltpp calcFunc-ltpt calcFunc-utpb calcFunc-utpc |
791 calcFunc-utpf calcFunc-utpn calcFunc-utpp calcFunc-utpt | 772 calcFunc-utpf calcFunc-utpn calcFunc-utpp calcFunc-utpt |
792 math-bernoulli-number math-gammap1-raw) | 773 math-bernoulli-number math-gammap1-raw) |
793 | 774 |
794 ("calc-graph" calc-Need-calc-graph calc-graph-show-tty) | 775 ("calc-graph" calc-graph-show-tty) |
795 | 776 |
796 ("calc-help" calc-Need-calc-help) | 777 ("calc-incom" calc-digit-dots) |
797 | 778 |
798 ("calc-incom" calc-Need-calc-incom calc-digit-dots) | 779 ("calc-keypd" calc-do-keypad |
799 | |
800 ("calc-keypd" calc-Need-calc-keypd calc-do-keypad | |
801 calc-keypad-x-left-click calc-keypad-x-middle-click | 780 calc-keypad-x-left-click calc-keypad-x-middle-click |
802 calc-keypad-x-right-click) | 781 calc-keypad-x-right-click) |
803 | 782 |
804 ("calc-lang" calc-Need-calc-lang calc-set-language | 783 ("calc-lang" calc-set-language |
805 math-read-big-balance math-read-big-rec) | 784 math-read-big-balance math-read-big-rec) |
806 | 785 |
807 ("calc-map" calc-Need-calc-map calc-get-operator calcFunc-accum | 786 ("calc-map" calc-get-operator calcFunc-accum |
808 calcFunc-afixp calcFunc-anest calcFunc-apply calcFunc-call | 787 calcFunc-afixp calcFunc-anest calcFunc-apply calcFunc-call |
809 calcFunc-fixp calcFunc-inner calcFunc-map calcFunc-mapa calcFunc-mapc | 788 calcFunc-fixp calcFunc-inner calcFunc-map calcFunc-mapa calcFunc-mapc |
810 calcFunc-mapd calcFunc-mapeq calcFunc-mapeqp calcFunc-mapeqr | 789 calcFunc-mapd calcFunc-mapeq calcFunc-mapeqp calcFunc-mapeqr |
811 calcFunc-mapr calcFunc-nest calcFunc-outer calcFunc-raccum | 790 calcFunc-mapr calcFunc-nest calcFunc-outer calcFunc-raccum |
812 calcFunc-reduce calcFunc-reducea calcFunc-reducec calcFunc-reduced | 791 calcFunc-reduce calcFunc-reducea calcFunc-reducec calcFunc-reduced |
813 calcFunc-reducer calcFunc-rreduce calcFunc-rreducea calcFunc-rreducec | 792 calcFunc-reducer calcFunc-rreduce calcFunc-rreducea calcFunc-rreducec |
814 calcFunc-rreduced calcFunc-rreducer math-build-call | 793 calcFunc-rreduced calcFunc-rreducer math-build-call |
815 math-calcFunc-to-var math-multi-subst math-multi-subst-rec | 794 math-calcFunc-to-var math-multi-subst math-multi-subst-rec |
816 math-var-to-calcFunc) | 795 math-var-to-calcFunc) |
817 | 796 |
818 ("calc-mtx" calc-Need-calc-mat calcFunc-det calcFunc-lud calcFunc-tr | 797 ("calc-mtx" calcFunc-det calcFunc-lud calcFunc-tr |
819 math-col-matrix math-lud-solve math-matrix-inv-raw math-matrix-lud | 798 math-col-matrix math-lud-solve math-matrix-inv-raw math-matrix-lud |
820 math-mul-mat-vec math-mul-mats math-row-matrix) | 799 math-mul-mat-vec math-mul-mats math-row-matrix) |
821 | 800 |
822 ("calc-math" calc-Need-calc-math calcFunc-alog calcFunc-arccos | 801 ("calc-math" calcFunc-alog calcFunc-arccos |
823 calcFunc-arccosh calcFunc-arcsin calcFunc-arcsincos calcFunc-arcsinh | 802 calcFunc-arccosh calcFunc-arcsin calcFunc-arcsincos calcFunc-arcsinh |
824 calcFunc-arctan calcFunc-arctan2 calcFunc-arctanh calcFunc-cos | 803 calcFunc-arctan calcFunc-arctan2 calcFunc-arctanh calcFunc-cos |
825 calcFunc-cosh calcFunc-deg calcFunc-exp calcFunc-exp10 calcFunc-expm1 | 804 calcFunc-cosh calcFunc-deg calcFunc-exp calcFunc-exp10 calcFunc-expm1 |
826 calcFunc-hypot calcFunc-ilog calcFunc-isqrt calcFunc-ln calcFunc-lnp1 | 805 calcFunc-hypot calcFunc-ilog calcFunc-isqrt calcFunc-ln calcFunc-lnp1 |
827 calcFunc-log calcFunc-log10 calcFunc-nroot calcFunc-rad calcFunc-sin | 806 calcFunc-log calcFunc-log10 calcFunc-nroot calcFunc-rad calcFunc-sin |
832 math-isqrt-small math-ln-raw math-nearly-equal math-nearly-equal-float | 811 math-isqrt-small math-ln-raw math-nearly-equal math-nearly-equal-float |
833 math-nearly-zerop math-nearly-zerop-float math-nth-root | 812 math-nearly-zerop math-nearly-zerop-float math-nth-root |
834 math-sin-cos-raw math-sin-raw math-sqrt math-sqrt-float math-sqrt-raw | 813 math-sin-cos-raw math-sin-raw math-sqrt math-sqrt-float math-sqrt-raw |
835 math-tan-raw math-to-radians math-to-radians-2) | 814 math-tan-raw math-to-radians math-to-radians-2) |
836 | 815 |
837 ("calc-mode" calc-Need-calc-mode math-get-modes-vec) | 816 ("calc-mode" math-get-modes-vec) |
838 | 817 |
839 ("calc-poly" calc-Need-calc-poly calcFunc-apart calcFunc-expand | 818 ("calc-poly" calcFunc-apart calcFunc-expand |
840 calcFunc-expandpow calcFunc-factor calcFunc-factors calcFunc-nrat | 819 calcFunc-expandpow calcFunc-factor calcFunc-factors calcFunc-nrat |
841 calcFunc-pcont calcFunc-pdeg calcFunc-pdiv calcFunc-pdivide | 820 calcFunc-pcont calcFunc-pdeg calcFunc-pdiv calcFunc-pdivide |
842 calcFunc-pdivrem calcFunc-pgcd calcFunc-plead calcFunc-pprim | 821 calcFunc-pdivrem calcFunc-pgcd calcFunc-plead calcFunc-pprim |
843 calcFunc-prem math-accum-factors math-atomic-factorp | 822 calcFunc-prem math-accum-factors math-atomic-factorp |
844 math-div-poly-const math-div-thru math-expand-power math-expand-term | 823 math-div-poly-const math-div-thru math-expand-power math-expand-term |
847 math-factor-protect math-mul-thru math-padded-polynomial | 826 math-factor-protect math-mul-thru math-padded-polynomial |
848 math-partial-fractions math-poly-degree math-poly-deriv-coefs | 827 math-partial-fractions math-poly-degree math-poly-deriv-coefs |
849 math-poly-gcd-frac-list math-poly-modulus-rec math-ratpoly-p | 828 math-poly-gcd-frac-list math-poly-modulus-rec math-ratpoly-p |
850 math-to-ratpoly math-to-ratpoly-rec) | 829 math-to-ratpoly math-to-ratpoly-rec) |
851 | 830 |
852 ("calc-prog" calc-Need-calc-prog calc-default-formula-arglist | 831 ("calc-prog" calc-default-formula-arglist |
853 calc-execute-kbd-macro calc-finish-user-syntax-edit | 832 calc-execute-kbd-macro calc-finish-user-syntax-edit |
854 calc-fix-token-name calc-fix-user-formula calc-read-parse-table | 833 calc-fix-token-name calc-fix-user-formula calc-read-parse-table |
855 calc-read-parse-table-part calc-subsetp calc-write-parse-table | 834 calc-read-parse-table-part calc-subsetp calc-write-parse-table |
856 calc-write-parse-table-part calcFunc-constant calcFunc-eq calcFunc-geq | 835 calc-write-parse-table-part calcFunc-constant calcFunc-eq calcFunc-geq |
857 calcFunc-gt calcFunc-if calcFunc-in calcFunc-integer calcFunc-istrue | 836 calcFunc-gt calcFunc-if calcFunc-in calcFunc-integer calcFunc-istrue |
860 calcFunc-refers calcFunc-rmeq calcFunc-typeof calcFunc-variable | 839 calcFunc-refers calcFunc-rmeq calcFunc-typeof calcFunc-variable |
861 math-body-refers-to math-break math-composite-inequalities | 840 math-body-refers-to math-break math-composite-inequalities |
862 math-do-defmath math-handle-for math-handle-foreach | 841 math-do-defmath math-handle-for math-handle-foreach |
863 math-normalize-logical-op math-return) | 842 math-normalize-logical-op math-return) |
864 | 843 |
865 ("calc-rewr" calc-Need-calc-rewr calcFunc-match calcFunc-matches | 844 ("calc-rewr" calcFunc-match calcFunc-matches |
866 calcFunc-matchnot calcFunc-rewrite calcFunc-vmatches | 845 calcFunc-matchnot calcFunc-rewrite calcFunc-vmatches |
867 math-apply-rewrites math-compile-patterns math-compile-rewrites | 846 math-apply-rewrites math-compile-patterns math-compile-rewrites |
868 math-flatten-lands math-match-patterns math-rewrite | 847 math-flatten-lands math-match-patterns math-rewrite |
869 math-rewrite-heads) | 848 math-rewrite-heads) |
870 | 849 |
871 ("calc-rules" calc-CommuteRules calc-DistribRules calc-FactorRules | 850 ("calc-rules" calc-CommuteRules calc-DistribRules calc-FactorRules |
872 calc-FitRules calc-IntegAfterRules calc-InvertRules calc-JumpRules | 851 calc-FitRules calc-IntegAfterRules calc-InvertRules calc-JumpRules |
873 calc-MergeRules calc-Need-calc-rules calc-NegateRules | 852 calc-MergeRules calc-NegateRules |
874 calc-compile-rule-set) | 853 calc-compile-rule-set) |
875 | 854 |
876 ("calc-sel" calc-Need-calc-sel calc-auto-selection | 855 ("calc-sel" calc-auto-selection |
877 calc-delete-selection calc-encase-atoms calc-find-assoc-parent-formula | 856 calc-delete-selection calc-encase-atoms calc-find-assoc-parent-formula |
878 calc-find-parent-formula calc-find-sub-formula calc-prepare-selection | 857 calc-find-parent-formula calc-find-sub-formula calc-prepare-selection |
879 calc-preserve-point calc-replace-selections calc-replace-sub-formula | 858 calc-preserve-point calc-replace-selections calc-replace-sub-formula |
880 calc-roll-down-with-selections calc-roll-up-with-selections | 859 calc-roll-down-with-selections calc-roll-up-with-selections |
881 calc-sel-error) | 860 calc-sel-error) |
882 | 861 |
883 ("calcsel2" calc-Need-calc-sel-2) | 862 ("calc-stat" calc-vector-op calcFunc-agmean |
884 | |
885 ("calc-stat" calc-Need-calc-stat calc-vector-op calcFunc-agmean | |
886 calcFunc-vcorr calcFunc-vcount calcFunc-vcov calcFunc-vflat | 863 calcFunc-vcorr calcFunc-vcount calcFunc-vcov calcFunc-vflat |
887 calcFunc-vgmean calcFunc-vhmean calcFunc-vmax calcFunc-vmean | 864 calcFunc-vgmean calcFunc-vhmean calcFunc-vmax calcFunc-vmean |
888 calcFunc-vmeane calcFunc-vmedian calcFunc-vmin calcFunc-vpcov | 865 calcFunc-vmeane calcFunc-vmedian calcFunc-vmin calcFunc-vpcov |
889 calcFunc-vprod calcFunc-vpsdev calcFunc-vpvar calcFunc-vsdev | 866 calcFunc-vprod calcFunc-vpsdev calcFunc-vpvar calcFunc-vsdev |
890 calcFunc-vsum calcFunc-vvar math-flatten-many-vecs) | 867 calcFunc-vsum calcFunc-vvar math-flatten-many-vecs) |
891 | 868 |
892 ("calc-store" calc-Need-calc-store calc-read-var-name | 869 ("calc-store" calc-read-var-name |
893 calc-store-value calc-var-name) | 870 calc-store-value calc-var-name) |
894 | 871 |
895 ("calc-stuff" calc-Need-calc-stuff calc-explain-why calcFunc-clean | 872 ("calc-stuff" calc-explain-why calcFunc-clean |
896 calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) | 873 calcFunc-pclean calcFunc-pfloat calcFunc-pfrac) |
897 | 874 |
898 ("calc-trail" calc-Need-calc-trail) | 875 ("calc-units" calcFunc-usimplify |
899 | |
900 ("calc-undo" calc-Need-calc-undo) | |
901 | |
902 ("calc-units" calc-Need-calc-units calcFunc-usimplify | |
903 math-build-units-table math-build-units-table-buffer | 876 math-build-units-table math-build-units-table-buffer |
904 math-check-unit-name math-convert-temperature math-convert-units | 877 math-check-unit-name math-convert-temperature math-convert-units |
905 math-extract-units math-remove-units math-simplify-units | 878 math-extract-units math-remove-units math-simplify-units |
906 math-single-units-in-expr-p math-to-standard-units | 879 math-single-units-in-expr-p math-to-standard-units |
907 math-units-in-expr-p) | 880 math-units-in-expr-p) |
908 | 881 |
909 ("calc-vec" calc-Need-calc-vec calcFunc-append calcFunc-appendrev | 882 ("calc-vec" calcFunc-append calcFunc-appendrev |
910 calcFunc-arrange calcFunc-cnorm calcFunc-cons calcFunc-cross | 883 calcFunc-arrange calcFunc-cnorm calcFunc-cons calcFunc-cross |
911 calcFunc-ctrn calcFunc-cvec calcFunc-diag calcFunc-find | 884 calcFunc-ctrn calcFunc-cvec calcFunc-diag calcFunc-find |
912 calcFunc-getdiag calcFunc-grade calcFunc-head calcFunc-histogram | 885 calcFunc-getdiag calcFunc-grade calcFunc-head calcFunc-histogram |
913 calcFunc-idn calcFunc-index calcFunc-mcol calcFunc-mdims | 886 calcFunc-idn calcFunc-index calcFunc-mcol calcFunc-mdims |
914 calcFunc-mrcol calcFunc-mrow calcFunc-mrrow calcFunc-pack | 887 calcFunc-mrcol calcFunc-mrow calcFunc-mrrow calcFunc-pack |
923 calcFunc-vxor math-check-for-commas math-clean-set math-copy-matrix | 896 calcFunc-vxor math-check-for-commas math-clean-set math-copy-matrix |
924 math-dimension-error math-dot-product math-flatten-vector math-map-vec | 897 math-dimension-error math-dot-product math-flatten-vector math-map-vec |
925 math-map-vec-2 math-mat-col math-mimic-ident math-prepare-set | 898 math-map-vec-2 math-mat-col math-mimic-ident math-prepare-set |
926 math-read-brackets math-reduce-cols math-reduce-vec math-transpose) | 899 math-read-brackets math-reduce-cols math-reduce-vec math-transpose) |
927 | 900 |
928 ("calc-yank" calc-Need-calc-yank calc-alg-edit calc-clean-newlines | 901 ("calc-yank" calc-alg-edit calc-clean-newlines |
929 calc-do-grab-rectangle calc-do-grab-region calc-finish-stack-edit | 902 calc-do-grab-rectangle calc-do-grab-region calc-finish-stack-edit |
930 calc-force-refresh calc-locate-cursor-element calc-show-edit-buffer) | 903 calc-force-refresh calc-locate-cursor-element calc-show-edit-buffer) |
931 | 904 |
932 )) | 905 )) |
933 | 906 |
1173 | 1146 |
1174 | 1147 |
1175 | 1148 |
1176 | 1149 |
1177 ;;;; Miscellaneous. | 1150 ;;;; Miscellaneous. |
1151 | |
1152 ;; calc-command-flags is declared in calc.el | |
1153 (defvar calc-command-flags) | |
1178 | 1154 |
1179 (defun calc-clear-command-flag (f) | 1155 (defun calc-clear-command-flag (f) |
1180 (setq calc-command-flags (delq f calc-command-flags))) | 1156 (setq calc-command-flags (delq f calc-command-flags))) |
1181 | 1157 |
1182 | 1158 |
1340 (message "Floating-point precision is %d digits" calc-internal-prec))) | 1316 (message "Floating-point precision is %d digits" calc-internal-prec))) |
1341 | 1317 |
1342 | 1318 |
1343 (defun calc-inverse (&optional n) | 1319 (defun calc-inverse (&optional n) |
1344 (interactive "P") | 1320 (interactive "P") |
1345 (calc-fancy-prefix 'calc-inverse-flag "Inverse..." n)) | 1321 (let* ((hyp-flag (if (or |
1322 (eq major-mode 'calc-keypad-mode) | |
1323 (eq major-mode 'calc-trail-mode)) | |
1324 (with-current-buffer calc-main-buffer | |
1325 calc-hyperbolic-flag) | |
1326 calc-hyperbolic-flag)) | |
1327 (msg (if hyp-flag | |
1328 "Inverse Hyperbolic..." | |
1329 "Inverse..."))) | |
1330 (calc-fancy-prefix 'calc-inverse-flag msg n))) | |
1346 | 1331 |
1347 (defconst calc-fancy-prefix-map | 1332 (defconst calc-fancy-prefix-map |
1348 (let ((map (make-sparse-keymap))) | 1333 (let ((map (make-sparse-keymap))) |
1349 (define-key map [t] 'calc-fancy-prefix-other-key) | 1334 (define-key map [t] 'calc-fancy-prefix-other-key) |
1350 (define-key map (vector meta-prefix-char t) 'calc-fancy-prefix-other-key) | 1335 (define-key map (vector meta-prefix-char t) 'calc-fancy-prefix-other-key) |
1408 (defun calc-is-inverse () | 1393 (defun calc-is-inverse () |
1409 calc-inverse-flag) | 1394 calc-inverse-flag) |
1410 | 1395 |
1411 (defun calc-hyperbolic (&optional n) | 1396 (defun calc-hyperbolic (&optional n) |
1412 (interactive "P") | 1397 (interactive "P") |
1413 (calc-fancy-prefix 'calc-hyperbolic-flag "Hyperbolic..." n)) | 1398 (let* ((inv-flag (if (or |
1399 (eq major-mode 'calc-keypad-mode) | |
1400 (eq major-mode 'calc-trail-mode)) | |
1401 (with-current-buffer calc-main-buffer | |
1402 calc-inverse-flag) | |
1403 calc-inverse-flag)) | |
1404 (msg (if inv-flag | |
1405 "Inverse Hyperbolic..." | |
1406 "Hyperbolic..."))) | |
1407 (calc-fancy-prefix 'calc-hyperbolic-flag msg n))) | |
1414 | 1408 |
1415 (defun calc-hyperbolic-func () | 1409 (defun calc-hyperbolic-func () |
1416 (save-excursion | 1410 (save-excursion |
1417 (calc-select-buffer) | 1411 (calc-select-buffer) |
1418 (setq calc-inverse-flag (calc-is-inverse) | 1412 (setq calc-inverse-flag (calc-is-inverse) |
1652 (if (calc-is-hyperbolic) 'calcFunc-float 'calcFunc-pfloat) | 1646 (if (calc-is-hyperbolic) 'calcFunc-float 'calcFunc-pfloat) |
1653 arg))) | 1647 arg))) |
1654 | 1648 |
1655 | 1649 |
1656 (defvar calc-gnuplot-process nil) | 1650 (defvar calc-gnuplot-process nil) |
1657 | 1651 (defvar calc-gnuplot-input) |
1652 (defvar calc-gnuplot-buffer) | |
1658 | 1653 |
1659 (defun calc-gnuplot-alive () | 1654 (defun calc-gnuplot-alive () |
1660 (and calc-gnuplot-process | 1655 (and calc-gnuplot-process |
1661 calc-gnuplot-buffer | 1656 calc-gnuplot-buffer |
1662 (buffer-name calc-gnuplot-buffer) | 1657 (buffer-name calc-gnuplot-buffer) |
1668 | 1663 |
1669 | 1664 |
1670 | 1665 |
1671 (defun calc-load-everything () | 1666 (defun calc-load-everything () |
1672 (interactive) | 1667 (interactive) |
1673 (calc-need-macros) ; calc-macs.el | 1668 (require 'calc-aent) |
1674 (calc-record-list nil) ; calc-misc.el | 1669 (require 'calc-alg) |
1675 (math-read-exprs "0") ; calc-aent.el | 1670 (require 'calc-arith) |
1676 | 1671 (require 'calc-bin) |
1677 ;;;; (Loads here) | 1672 (require 'calc-comb) |
1678 (calc-Need-calc-alg-2) | 1673 (require 'calc-cplx) |
1679 (calc-Need-calc-alg-3) | 1674 (require 'calc-embed) |
1680 (calc-Need-calc-alg) | 1675 (require 'calc-fin) |
1681 (calc-Need-calc-arith) | 1676 (require 'calc-forms) |
1682 (calc-Need-calc-bin) | 1677 (require 'calc-frac) |
1683 (calc-Need-calc-comb) | 1678 (require 'calc-funcs) |
1684 (calc-Need-calc-comp) | 1679 (require 'calc-graph) |
1685 (calc-Need-calc-cplx) | 1680 (require 'calc-help) |
1686 (calc-Need-calc-embed) | 1681 (require 'calc-incom) |
1687 (calc-Need-calc-fin) | 1682 (require 'calc-keypd) |
1688 (calc-Need-calc-forms) | 1683 (require 'calc-lang) |
1689 (calc-Need-calc-frac) | 1684 (require 'calc-macs) |
1690 (calc-Need-calc-funcs) | 1685 (require 'calc-map) |
1691 (calc-Need-calc-graph) | 1686 (require 'calc-math) |
1692 (calc-Need-calc-help) | 1687 (require 'calc-misc) |
1693 (calc-Need-calc-incom) | 1688 (require 'calc-mode) |
1694 (calc-Need-calc-keypd) | 1689 (require 'calc-mtx) |
1695 (calc-Need-calc-lang) | 1690 (require 'calc-poly) |
1696 (calc-Need-calc-map) | 1691 (require 'calc-prog) |
1697 (calc-Need-calc-mat) | 1692 (require 'calc-rewr) |
1698 (calc-Need-calc-math) | 1693 (require 'calc-rules) |
1699 (calc-Need-calc-mode) | 1694 (require 'calc-sel) |
1700 (calc-Need-calc-poly) | 1695 (require 'calc-stat) |
1701 (calc-Need-calc-prog) | 1696 (require 'calc-store) |
1702 (calc-Need-calc-rewr) | 1697 (require 'calc-stuff) |
1703 (calc-Need-calc-rules) | 1698 (require 'calc-trail) |
1704 (calc-Need-calc-sel-2) | 1699 (require 'calc-undo) |
1705 (calc-Need-calc-sel) | 1700 (require 'calc-units) |
1706 (calc-Need-calc-stat) | 1701 (require 'calc-vec) |
1707 (calc-Need-calc-store) | 1702 (require 'calc-yank) |
1708 (calc-Need-calc-stuff) | 1703 (require 'calcalg2) |
1709 (calc-Need-calc-trail) | 1704 (require 'calcalg3) |
1710 (calc-Need-calc-undo) | 1705 (require 'calccomp) |
1711 (calc-Need-calc-units) | 1706 (require 'calcsel2) |
1712 (calc-Need-calc-vec) | |
1713 (calc-Need-calc-yank) | |
1714 | 1707 |
1715 (message "All parts of Calc are now loaded")) | 1708 (message "All parts of Calc are now loaded")) |
1716 | 1709 |
1717 | 1710 |
1718 ;;; Vector commands. | 1711 ;;; Vector commands. |
2214 (math-evaluate-expr b)))))) | 2207 (math-evaluate-expr b)))))) |
2215 ((or (integerp (car a)) (consp (car a))) | 2208 ((or (integerp (car a)) (consp (car a))) |
2216 (if (null (cdr a)) | 2209 (if (null (cdr a)) |
2217 (math-normalize (car a)) | 2210 (math-normalize (car a)) |
2218 (error "Can't use multi-valued function in an expression"))))) | 2211 (error "Can't use multi-valued function in an expression"))))) |
2212 | |
2213 ;; The variable math-normalize-a is local to math-normalize in calc.el, | |
2214 ;; but is used by math-normalize-nonstandard, which is called by | |
2215 ;; math-normalize. | |
2216 (defvar math-normalize-a) | |
2219 | 2217 |
2220 (defun math-normalize-nonstandard () | 2218 (defun math-normalize-nonstandard () |
2221 (if (consp calc-simplify-mode) | 2219 (if (consp calc-simplify-mode) |
2222 (progn | 2220 (progn |
2223 (setq calc-simplify-mode 'none | 2221 (setq calc-simplify-mode 'none |
2589 (if (Math-primp x) | 2587 (if (Math-primp x) |
2590 x | 2588 x |
2591 (cons (car x) (mapcar 'math-evaluate-expr-rec (cdr x)))))) | 2589 (cons (car x) (mapcar 'math-evaluate-expr-rec (cdr x)))))) |
2592 x)) | 2590 x)) |
2593 | 2591 |
2594 (defmacro math-defsimplify (funcs &rest code) | |
2595 (append '(progn (math-need-std-simps)) | |
2596 (mapcar (function | |
2597 (lambda (func) | |
2598 (list 'put (list 'quote func) ''math-simplify | |
2599 (list 'nconc | |
2600 (list 'get (list 'quote func) ''math-simplify) | |
2601 (list 'list | |
2602 (list 'function | |
2603 (append '(lambda (math-simplify-expr)) | |
2604 code))))))) | |
2605 (if (symbolp funcs) (list funcs) funcs)))) | |
2606 (put 'math-defsimplify 'lisp-indent-hook 1) | |
2607 | |
2608 (defun math-any-floats (expr) | 2592 (defun math-any-floats (expr) |
2609 (if (Math-primp expr) | 2593 (if (Math-primp expr) |
2610 (math-floatp expr) | 2594 (math-floatp expr) |
2611 (while (and (setq expr (cdr expr)) (not (math-any-floats (car expr))))) | 2595 (while (and (setq expr (cdr expr)) (not (math-any-floats (car expr))))) |
2612 expr)) | 2596 expr)) |
2654 (or (and (symbolp (nth 2 expr)) | 2638 (or (and (symbolp (nth 2 expr)) |
2655 (boundp (nth 2 expr)) | 2639 (boundp (nth 2 expr)) |
2656 (eq (car-safe (symbol-value (nth 2 expr))) 'special-const)) | 2640 (eq (car-safe (symbol-value (nth 2 expr))) 'special-const)) |
2657 (memq (nth 2 expr) '(var-inf var-uinf var-nan))))) | 2641 (memq (nth 2 expr) '(var-inf var-uinf var-nan))))) |
2658 | 2642 |
2643 ;; The variable math-integral-cache is originally declared in calcalg2.el, | |
2644 ;; but is set by math-defintegral and math-definitegral2. | |
2645 (defvar math-integral-cache) | |
2646 | |
2659 (defmacro math-defintegral (funcs &rest code) | 2647 (defmacro math-defintegral (funcs &rest code) |
2660 (setq math-integral-cache nil) | 2648 (setq math-integral-cache nil) |
2661 (append '(progn) | 2649 (append '(progn) |
2662 (mapcar (function | 2650 (mapcar (function |
2663 (lambda (func) | 2651 (lambda (func) |
2884 | 2872 |
2885 ;;; Expression parsing. | 2873 ;;; Expression parsing. |
2886 | 2874 |
2887 (defvar math-expr-data) | 2875 (defvar math-expr-data) |
2888 | 2876 |
2877 (defvar math-read-replacement-list | |
2878 '(;; Misc symbols | |
2879 ("±" "+/-") ; plus or minus | |
2880 ("×" "*") ; multiplication sign | |
2881 ("÷" ":") ; division sign | |
2882 ("−" "-") ; subtraction sign | |
2883 ("∕" "/") ; division sign | |
2884 ("∗" "*") ; asterisk multiplication | |
2885 ("∞" "inf") ; infinity symbol | |
2886 ("≤" "<=") | |
2887 ("≥" ">=") | |
2888 ("≦" "<=") | |
2889 ("≧" ">=") | |
2890 ;; fractions | |
2891 ("¼" "(1:4)") ; 1/4 | |
2892 ("½" "(1:2)") ; 1/2 | |
2893 ("¾" "(3:4)") ; 3/4 | |
2894 ("⅓" "(1:3)") ; 1/3 | |
2895 ("⅔" "(2:3)") ; 2/3 | |
2896 ("⅕" "(1:5)") ; 1/5 | |
2897 ("⅖" "(2:5)") ; 2/5 | |
2898 ("⅗" "(3:5)") ; 3/5 | |
2899 ("⅘" "(4:5)") ; 4/5 | |
2900 ("⅙" "(1:6)") ; 1/6 | |
2901 ("⅚" "(5:6)") ; 5/6 | |
2902 ("⅛" "(1:8)") ; 1/8 | |
2903 ("⅜" "(3:8)") ; 3/8 | |
2904 ("⅝" "(5:8)") ; 5/8 | |
2905 ("⅞" "(7:8)") ; 7/8 | |
2906 ("⅟" "1:") ; 1/... | |
2907 ;; superscripts | |
2908 ("⁰" "0") ; 0 | |
2909 ("¹" "1") ; 1 | |
2910 ("²" "2") ; 2 | |
2911 ("³" "3") ; 3 | |
2912 ("⁴" "4") ; 4 | |
2913 ("⁵" "5") ; 5 | |
2914 ("⁶" "6") ; 6 | |
2915 ("⁷" "7") ; 7 | |
2916 ("⁸" "8") ; 8 | |
2917 ("⁹" "9") ; 9 | |
2918 ("⁺" "+") ; + | |
2919 ("⁻" "-") ; - | |
2920 ("⁽" "(") ; ( | |
2921 ("⁾" ")") ; ) | |
2922 ("ⁿ" "n") ; n | |
2923 ("ⁱ" "i")) ; i | |
2924 "A list whose elements (old new) indicate replacements to make | |
2925 in Calc algebraic input.") | |
2926 | |
2927 (defvar math-read-superscripts | |
2928 "⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁽⁾ⁿⁱ" ; 0123456789+-()ni | |
2929 "A string consisting of the superscripts allowed by Calc.") | |
2930 | |
2931 (defun math-read-preprocess-string (str) | |
2932 "Replace some substrings of STR by Calc equivalents." | |
2933 (setq str | |
2934 (replace-regexp-in-string (concat "[" math-read-superscripts "]+") | |
2935 "^(\\&)" str)) | |
2936 (let ((rep-list math-read-replacement-list)) | |
2937 (while rep-list | |
2938 (setq str | |
2939 (replace-regexp-in-string (nth 0 (car rep-list)) | |
2940 (nth 1 (car rep-list)) str)) | |
2941 (setq rep-list (cdr rep-list)))) | |
2942 str) | |
2943 | |
2889 (defun math-read-expr (math-exp-str) | 2944 (defun math-read-expr (math-exp-str) |
2890 (let ((math-exp-pos 0) | 2945 (let ((math-exp-pos 0) |
2891 (math-exp-old-pos 0) | 2946 (math-exp-old-pos 0) |
2892 (math-exp-keep-spaces nil) | 2947 (math-exp-keep-spaces nil) |
2893 math-exp-token math-expr-data) | 2948 math-exp-token math-expr-data) |
2949 (setq math-exp-str (math-read-preprocess-string math-exp-str)) | |
2894 (while (setq math-exp-token (string-match "\\.\\.\\([^.]\\|.[^.]\\)" math-exp-str)) | 2950 (while (setq math-exp-token (string-match "\\.\\.\\([^.]\\|.[^.]\\)" math-exp-str)) |
2895 (setq math-exp-str (concat (substring math-exp-str 0 math-exp-token) "\\dots" | 2951 (setq math-exp-str (concat (substring math-exp-str 0 math-exp-token) "\\dots" |
2896 (substring math-exp-str (+ math-exp-token 2))))) | 2952 (substring math-exp-str (+ math-exp-token 2))))) |
2897 (math-build-parse-table) | 2953 (math-build-parse-table) |
2898 (math-read-token) | 2954 (math-read-token) |
2941 (calc-language-option nil) | 2997 (calc-language-option nil) |
2942 (math-expr-opers (get 'tex 'math-oper-table)) | 2998 (math-expr-opers (get 'tex 'math-oper-table)) |
2943 (math-expr-function-mapping (get 'tex 'math-function-table)) | 2999 (math-expr-function-mapping (get 'tex 'math-function-table)) |
2944 (math-expr-variable-mapping (get 'tex 'math-variable-table))) | 3000 (math-expr-variable-mapping (get 'tex 'math-variable-table))) |
2945 (math-read-expr str))) | 3001 (math-read-expr str))) |
2946 (let ((lines nil) | 3002 (let ((math-read-big-lines nil) |
2947 (pos 0) | 3003 (pos 0) |
2948 (width 0) | 3004 (width 0) |
2949 (err-msg nil) | 3005 (math-read-big-err-msg nil) |
2950 the-baseline the-h2 | 3006 math-read-big-baseline math-read-big-h2 |
2951 new-pos p) | 3007 new-pos p) |
2952 (while (setq new-pos (string-match "\n" str pos)) | 3008 (while (setq new-pos (string-match "\n" str pos)) |
2953 (setq lines (cons (substring str pos new-pos) lines) | 3009 (setq math-read-big-lines |
3010 (cons (substring str pos new-pos) math-read-big-lines) | |
2954 pos (1+ new-pos))) | 3011 pos (1+ new-pos))) |
2955 (setq lines (nreverse (cons (substring str pos) lines)) | 3012 (setq math-read-big-lines |
2956 p lines) | 3013 (nreverse (cons (substring str pos) math-read-big-lines)) |
3014 p math-read-big-lines) | |
2957 (while p | 3015 (while p |
2958 (setq width (max width (length (car p))) | 3016 (setq width (max width (length (car p))) |
2959 p (cdr p))) | 3017 p (cdr p))) |
2960 (if (math-read-big-bigp lines) | 3018 (if (math-read-big-bigp math-read-big-lines) |
2961 (or (catch 'syntax | 3019 (or (catch 'syntax |
2962 (math-read-big-rec 0 0 width (length lines))) | 3020 (math-read-big-rec 0 0 width (length math-read-big-lines))) |
2963 err-msg | 3021 math-read-big-err-msg |
2964 '(error 0 "Syntax error")) | 3022 '(error 0 "Syntax error")) |
2965 (math-read-expr str))))) | 3023 (math-read-expr str))))) |
2966 | 3024 |
2967 (defun math-read-big-bigp (lines) | 3025 (defun math-read-big-bigp (math-read-big-lines) |
2968 (and (cdr lines) | 3026 (and (cdr math-read-big-lines) |
2969 (let ((matrix nil) | 3027 (let ((matrix nil) |
2970 (v 0) | 3028 (v 0) |
2971 (height (if (> (length (car lines)) 0) 1 0))) | 3029 (height (if (> (length (car math-read-big-lines)) 0) 1 0))) |
2972 (while (and (cdr lines) | 3030 (while (and (cdr math-read-big-lines) |
2973 (let* ((i 0) | 3031 (let* ((i 0) |
2974 j | 3032 j |
2975 (l1 (car lines)) | 3033 (l1 (car math-read-big-lines)) |
2976 (l2 (nth 1 lines)) | 3034 (l2 (nth 1 math-read-big-lines)) |
2977 (len (min (length l1) (length l2)))) | 3035 (len (min (length l1) (length l2)))) |
2978 (if (> (length l2) 0) | 3036 (if (> (length l2) 0) |
2979 (setq height (1+ height))) | 3037 (setq height (1+ height))) |
2980 (while (and (< i len) | 3038 (while (and (< i len) |
2981 (or (memq (aref l1 i) '(?\ ?\- ?\_)) | 3039 (or (memq (aref l1 i) '(?\ ?\- ?\_)) |
2982 (memq (aref l2 i) '(?\ ?\-)) | 3040 (memq (aref l2 i) '(?\ ?\-)) |
2983 (and (memq (aref l1 i) '(?\| ?\,)) | 3041 (and (memq (aref l1 i) '(?\| ?\,)) |
2984 (= (aref l2 i) (aref l1 i))) | 3042 (= (aref l2 i) (aref l1 i))) |
2985 (and (eq (aref l1 i) ?\[) | 3043 (and (eq (aref l1 i) ?\[) |
2986 (eq (aref l2 i) ?\[) | 3044 (eq (aref l2 i) ?\[) |
2987 (let ((h2 (length l1))) | 3045 (let ((math-rb-h2 (length l1))) |
2988 (setq j (math-read-big-balance | 3046 (setq j (math-read-big-balance |
2989 (1+ i) v "["))) | 3047 (1+ i) v "["))) |
2990 (setq i (1- j))))) | 3048 (setq i (1- j))))) |
2991 (setq i (1+ i))) | 3049 (setq i (1+ i))) |
2992 (or (= i len) | 3050 (or (= i len) |
2993 (and (eq (aref l1 i) ?\[) | 3051 (and (eq (aref l1 i) ?\[) |
2994 (eq (aref l2 i) ?\[) | 3052 (eq (aref l2 i) ?\[) |
2995 (setq matrix t) | 3053 (setq matrix t) |
2996 nil)))) | 3054 nil)))) |
2997 (setq lines (cdr lines) | 3055 (setq math-read-big-lines (cdr math-read-big-lines) |
2998 v (1+ v))) | 3056 v (1+ v))) |
2999 (or (and (> height 1) | 3057 (or (and (> height 1) |
3000 (not (cdr lines))) | 3058 (not (cdr math-read-big-lines))) |
3001 matrix)))) | 3059 matrix)))) |
3002 | 3060 |
3003 ;;; Nontrivial "flat" formatting. | 3061 ;;; Nontrivial "flat" formatting. |
3004 | 3062 |
3005 (defvar math-format-hash-args nil) | 3063 (defvar math-format-hash-args nil) |
3286 list containing a numeric entry string, or nil. | 3344 list containing a numeric entry string, or nil. |
3287 A key may contain additional specs for Inverse, Hyperbolic, and Inv+Hyp.") | 3345 A key may contain additional specs for Inverse, Hyperbolic, and Inv+Hyp.") |
3288 | 3346 |
3289 (run-hooks 'calc-ext-load-hook) | 3347 (run-hooks 'calc-ext-load-hook) |
3290 | 3348 |
3349 (provide 'calc-ext) | |
3350 | |
3291 ;;; arch-tag: 1814ba7f-a390-49dc-9e25-a5adc205e97e | 3351 ;;; arch-tag: 1814ba7f-a390-49dc-9e25-a5adc205e97e |
3292 ;;; calc-ext.el ends here | 3352 ;;; calc-ext.el ends here |