mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Avoid ln(10) expression in calc units definition
* lisp/calc/calc-ext.el (calc-init-extensions): Autoload calc-math for math-ln-10. * lisp/calc/calc-units.el (math-standard-units): Use new ln10 constant instead of ln(10) in the decibel definition. (math-find-base-units-rec): Allow ln10 in expression. (math-to-standard-rec): Recognize the ln10 constant. (Bug#75861)
This commit is contained in:
parent
a8e8524379
commit
1639ad2814
2 changed files with 7 additions and 7 deletions
|
|
@ -877,7 +877,7 @@ calcFunc-tanh math-arccos-raw math-arcsin-raw math-arctan-raw
|
||||||
math-arctan2-raw math-cos-raw math-cot-raw math-csc-raw
|
math-arctan2-raw math-cos-raw math-cot-raw math-csc-raw
|
||||||
math-exp-minus-1-raw math-exp-raw
|
math-exp-minus-1-raw math-exp-raw
|
||||||
math-from-radians math-from-radians-2 math-hypot math-infinite-dir
|
math-from-radians math-from-radians-2 math-hypot math-infinite-dir
|
||||||
math-ln-raw math-nearly-equal math-nearly-equal-float
|
math-ln-10 math-ln-raw math-nearly-equal math-nearly-equal-float
|
||||||
math-nearly-zerop math-nearly-zerop-float math-nth-root
|
math-nearly-zerop math-nearly-zerop-float math-nth-root
|
||||||
math-sin-cos-raw math-sin-raw math-sqrt math-sqrt-float math-sqrt-raw
|
math-sin-cos-raw math-sin-raw math-sqrt math-sqrt-float math-sqrt-raw
|
||||||
math-tan-raw math-to-radians math-to-radians-2)
|
math-tan-raw math-to-radians math-to-radians-2)
|
||||||
|
|
|
||||||
|
|
@ -314,7 +314,8 @@
|
||||||
|
|
||||||
;; Logarithmic units
|
;; Logarithmic units
|
||||||
( Np nil "*Neper")
|
( Np nil "*Neper")
|
||||||
( dB "(ln(10)/20) Np" "decibel"))
|
( dB "(ln10/20) Np" "Decibel" nil
|
||||||
|
"(ln(10)/20) Np"))
|
||||||
"List of predefined units for Calc.
|
"List of predefined units for Calc.
|
||||||
|
|
||||||
Each element is (NAME DEF DESC TEMP-UNIT HUMAN-DEF), where:
|
Each element is (NAME DEF DESC TEMP-UNIT HUMAN-DEF), where:
|
||||||
|
|
@ -948,10 +949,9 @@ If COMP or STD is non-nil, put that in the units table instead."
|
||||||
((eq (car expr) '+)
|
((eq (car expr) '+)
|
||||||
(math-find-base-units-rec (nth 1 expr) pow))
|
(math-find-base-units-rec (nth 1 expr) pow))
|
||||||
((eq (car expr) 'var)
|
((eq (car expr) 'var)
|
||||||
(or (eq (nth 1 expr) 'pi)
|
(or (memq (nth 1 expr) '(pi ln10))
|
||||||
(error "Unknown name %s in defining expression for unit %s"
|
(error "Unknown name %s in defining expression for unit %s"
|
||||||
(nth 1 expr) (car math-fbu-entry))))
|
(nth 1 expr) (car math-fbu-entry))))
|
||||||
((equal expr '(calcFunc-ln 10)))
|
|
||||||
(t (error "Malformed defining expression for unit %s"
|
(t (error "Malformed defining expression for unit %s"
|
||||||
(car math-fbu-entry))))))
|
(car math-fbu-entry))))))
|
||||||
|
|
||||||
|
|
@ -1055,9 +1055,9 @@ If COMP or STD is non-nil, put that in the units table instead."
|
||||||
math-unit-prefixes))
|
math-unit-prefixes))
|
||||||
expr)))
|
expr)))
|
||||||
expr)
|
expr)
|
||||||
(if (eq base 'pi)
|
(cond ((eq base 'pi) (math-pi))
|
||||||
(math-pi)
|
((eq base 'ln10) (math-ln-10))
|
||||||
expr)))
|
(t expr))))
|
||||||
(if (or
|
(if (or
|
||||||
(Math-primp expr)
|
(Math-primp expr)
|
||||||
(and (eq (car-safe expr) 'calcFunc-subscr)
|
(and (eq (car-safe expr) 'calcFunc-subscr)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue