help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Elisp function that performs numeric computations


From: fatiparty
Subject: Elisp function that performs numeric computations
Date: Fri, 21 Jan 2022 09:23:36 +0100 (CET)

Jan 21, 2022, 10:53 by sorganov@gmail.com:

> fatiparty--- via Users list for the GNU Emacs text editor
> <help-gnu-emacs@gnu.org> writes:
>
>> Jan 19, 2022, 23:29 by mbork@mbork.pl:
>>
>>>
>>> (defun test (depth maxdepth rptdepth)
>>>
>>>> "Compute depth to use."
>>>>  (interactive)
>>>>  
>>>>  (let* ( (j rptdepth)
>>>>  (w (- maxdepth j))
>>>>  (p (+ w 1))
>>>>  (r (mod (- depth maxdepth 1) p) )
>>>>  (o (+ j r)) )
>>>>  o))
>>>>
>> I would like to adapt the function a little bit more.   If depth <= maxdepth
>> I want to set o=depth instead of performing the computation shown for the
>> variable o.
>>
>
> Did I get it right, I wonder?
>
> (defun test (depth maxdepth rptdepth)
>  (if (<= depth maxdepth)
>  depth
>  (+ rptdepth
>  (mod (- depth maxdepth 1)
>  (- maxdepth rptdepth -1)))))
>
> Is it how true (E)Lisp'er would write it?
>
> -- Sergey Organov
>

What you have done is good.  But although you have got to a simple solution, I 
want
to code the more complicated solution for the case where let* is involved 
(within which
local variables are defined).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]