• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/emacs-93/emacs/lisp/calc/

Lines Matching +defs:calc +defs:fin +defs:irr

0 ;;; calc-fin.el --- financial functions for Calc
30 ;; This file is autoloaded from calc-ext.el.
32 (require 'calc-ext)
33 (require 'calc-macs)
37 (defun calc-fin-pv ()
39 (calc-slow-wrapper
40 (if (calc-is-hyperbolic)
41 (calc-enter-result 3 "pvl" (cons 'calcFunc-pvl (calc-top-list-n 3)))
42 (if (calc-is-inverse)
43 (calc-enter-result 3 "pvb" (cons 'calcFunc-pvb (calc-top-list-n 3)))
44 (calc-enter-result 3 "pv" (cons 'calcFunc-pv (calc-top-list-n 3)))))))
46 (defun calc-fin-npv (arg)
48 (calc-slow-wrapper
49 (if (calc-is-inverse)
50 (calc-vector-op "npvb" 'calcFunc-npvb (1+ arg))
51 (calc-vector-op "npv" 'calcFunc-npv (1+ arg)))))
53 (defun calc-fin-fv ()
55 (calc-slow-wrapper
56 (if (calc-is-hyperbolic)
57 (calc-enter-result 3 "fvl" (cons 'calcFunc-fvl (calc-top-list-n 3)))
58 (if (calc-is-inverse)
59 (calc-enter-result 3 "fvb" (cons 'calcFunc-fvb (calc-top-list-n 3)))
60 (calc-enter-result 3 "fv" (cons 'calcFunc-fv (calc-top-list-n 3)))))))
62 (defun calc-fin-pmt ()
64 (calc-slow-wrapper
65 (if (calc-is-hyperbolic)
66 (calc-enter-result 3 "fvl" (cons 'calcFunc-fvl (calc-top-list-n 3)))
67 (if (calc-is-inverse)
68 (calc-enter-result 3 "pmtb" (cons 'calcFunc-pmtb (calc-top-list-n 3)))
69 (calc-enter-result 3 "pmt" (cons 'calcFunc-pmt (calc-top-list-n 3)))))))
71 (defun calc-fin-nper ()
73 (calc-slow-wrapper
74 (if (calc-is-hyperbolic)
75 (calc-enter-result 3 "nprl" (cons 'calcFunc-nperl (calc-top-list-n 3)))
76 (if (calc-is-inverse)
77 (calc-enter-result 3 "nprb" (cons 'calcFunc-nperb
78 (calc-top-list-n 3)))
79 (calc-enter-result 3 "nper" (cons 'calcFunc-nper
80 (calc-top-list-n 3)))))))
82 (defun calc-fin-rate ()
84 (calc-slow-wrapper
85 (calc-pop-push-record 3
86 (if (calc-is-hyperbolic) "ratl"
87 (if (calc-is-inverse) "ratb" "rate"))
88 (calc-to-percentage
89 (calc-normalize
90 (cons (if (calc-is-hyperbolic) 'calcFunc-ratel
91 (if (calc-is-hyperbolic) 'calcFunc-rateb
93 (calc-top-list-n 3)))))))
95 (defun calc-fin-irr (arg)
97 (calc-slow-wrapper
98 (if (calc-is-inverse)
99 (calc-vector-op "irrb" 'calcFunc-irrb arg)
100 (calc-vector-op "irr" 'calcFunc-irr arg))))
102 (defun calc-fin-sln ()
104 (calc-slow-wrapper
105 (calc-enter-result 3 "sln" (cons 'calcFunc-sln (calc-top-list-n 3)))))
107 (defun calc-fin-syd ()
109 (calc-slow-wrapper
110 (calc-enter-result 4 "syd" (cons 'calcFunc-syd (calc-top-list-n 4)))))
112 (defun calc-fin-ddb ()
114 (calc-slow-wrapper
115 (calc-enter-result 4 "ddb" (cons 'calcFunc-ddb (calc-top-list-n 4)))))
118 (defun calc-to-percentage (x)
125 (cons 'vec (mapcar 'calc-to-percentage (cdr x))))
128 (defun calc-convert-percent ()
130 (calc-slow-wrapper
131 (calc-pop-push-record 1 "c%" (calc-to-percentage (calc-top-n 1)))))
133 (defun calc-percent-change ()
135 (calc-slow-wrapper
136 (let ((res (calc-normalize (cons 'calcFunc-relch (calc-top-list 2)))))
137 (calc-pop-push-record 2 "%ch" (calc-to-percentage res)))))
334 (defun calcFunc-irr (&rest vecs)
335 (math-compute-irr vecs 'calcFunc-npv))
338 (math-compute-irr vecs 'calcFunc-npvb))
340 (defun math-compute-irr (vecs func)
413 (provide 'calc-fin)
416 ;;; calc-fin.el ends here