calc/calc-units.el (math-logunits-quant): Add support for
non-logarithmic units.
This commit is contained in:
parent
4ec28e14ba
commit
226590f8d1
2 changed files with 25 additions and 18 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-02-07 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc/calc-units.el (math-logunits-quant): Add support for
|
||||
non-logarithmic units.
|
||||
|
||||
2011-02-07 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* allout.el (allout-after-copy-or-kill-hook): New hook for
|
||||
|
|
|
@ -1737,26 +1737,28 @@ If EXPR is nil, return nil."
|
|||
(calc-binary-op "lu/" 'calcFunc-lupowerdiv arg)))))
|
||||
|
||||
(defun math-logunits-quant (val ref power)
|
||||
(let ((lunit (math-simplify (math-extract-logunits val))))
|
||||
(let* ((units (math-simplify (math-extract-units val)))
|
||||
(lunit (math-simplify (math-extract-logunits units))))
|
||||
(if (not (eq (car-safe lunit) 'var))
|
||||
(calc-record-why "*Improper logarithmic unit" lunit)
|
||||
(if (not (eq 1 (math-simplify (math-extract-units (math-div val lunit)))))
|
||||
(calc-record-why "*Inappropriate units" nil)
|
||||
(let ((coeff (math-simplify (math-div val lunit))))
|
||||
(if (equal lunit '(var dB var-dB))
|
||||
(math-mul
|
||||
ref
|
||||
(math-pow
|
||||
10
|
||||
(math-div
|
||||
coeff
|
||||
(if power 10 20))))
|
||||
(math-mul
|
||||
ref
|
||||
(calcFunc-exp
|
||||
(if power
|
||||
(math-mul 2 coeff)
|
||||
coeff)))))))))
|
||||
(let ((runits (math-simplify (math-div units lunit)))
|
||||
(coeff (math-simplify (math-div val units))))
|
||||
(math-mul
|
||||
(if (equal lunit '(var dB var-dB))
|
||||
(math-mul
|
||||
ref
|
||||
(math-pow
|
||||
10
|
||||
(math-div
|
||||
coeff
|
||||
(if power 10 20))))
|
||||
(math-mul
|
||||
ref
|
||||
(calcFunc-exp
|
||||
(if power
|
||||
(math-mul 2 coeff)
|
||||
coeff))))
|
||||
runits)))))
|
||||
|
||||
(defvar calc-logunits-field-reference)
|
||||
(defvar calc-logunits-power-reference)
|
||||
|
|
Loading…
Add table
Reference in a new issue