I wrote a simple ps macro to work like CL's log. It seems like a candidate for inclusion in PS itself.
Daniel
(defpsmacro log (number &optional base) (cond ((null base) `(*math.log ,number)) ((= base 10) `(* (log ,number) *math.*log10e*)) (t `(/ (log ,number) (log ,base)))))
Daniel Gackle wrote:
I wrote a simple ps macro to work like CL's log. It seems like a candidate for inclusion in PS itself.
(defpsmacro log (number &optional base) (cond ((null base) `(*math.log ,number)) ((= base 10) `(* (log ,number) *math.*log10e*)) (t `(/ (log ,number) (log ,base)))))
Hi Daniel--
I added a LOG psmacro along these lines to the repository. Note that base could be any PS expression, so you can't assume that it is a number at compile-time.
I also pushed a more CL-like version of ATAN and the missing SQRT function.
Cheers,
-- Travis
< Note that base could be any PS expression, so you can't assume that it is a number at compile-time. >
You're absolutely right. Thanks! I was using PS's = in a CL expression.
Dan
On Mon, Mar 31, 2008 at 4:56 PM, Travis Cross travis@travislists.com wrote:
Daniel Gackle wrote:
I wrote a simple ps macro to work like CL's log. It seems like a candidate for inclusion in PS itself.
(defpsmacro log (number &optional base) (cond ((null base) `(*math.log ,number)) ((= base 10) `(* (log ,number) *math.*log10e*)) (t `(/ (log ,number) (log ,base)))))
Hi Daniel--
I added a LOG psmacro along these lines to the repository. Note that base could be any PS expression, so you can't assume that it is a number at compile-time.
I also pushed a more CL-like version of ATAN and the missing SQRT function.
Cheers,
-- Travis
parenscript-devel@common-lisp.net