Averages/Root mean square: Difference between revisions
Content added Content deleted
(Added solution for Action!) |
m (Emacs Lisp: Simplify solution, omit cl-lib version for lack of benefit using cl-map) |
||
Line 689: | Line 689: | ||
=={{header|Emacs Lisp}}== |
=={{header|Emacs Lisp}}== |
||
<Lang lisp> |
<Lang lisp>(defun rms (nums) |
||
(defun rms (nums) |
|||
;; `/' returns a float only when given floats |
|||
(setq nums (mapcar 'float nums)) |
|||
(sqrt (/ (apply '+ (mapcar (lambda (x) (* x x)) nums)) |
(sqrt (/ (apply '+ (mapcar (lambda (x) (* x x)) nums)) |
||
(float (length nums))))) |
|||
</lang> |
|||
⚫ | |||
or, if using Emacs's Common Lisp library <code>cl-lib.el</code> to use <code>cl-map</code>: |
|||
<Lang lisp> |
|||
(defun rms (nums) |
|||
(setq nums (mapcar 'float nums)) |
|||
(sqrt (/ (apply '+ (cl-map 'list '* nums nums)) |
|||
(length nums)))) |
|||
{{out}} |
|||
⚫ | |||
</lang> |
|||
<pre>6.2048368229954285</pre> |
<pre>6.2048368229954285</pre> |
||