From: Nick Dokos <ndokos@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Calculator: no exponent, full number ?
Date: Thu, 06 Jun 2019 10:50:05 -0400 [thread overview]
Message-ID: <87muiurco2.fsf@alphaville.usersys.redhat.com> (raw)
In-Reply-To: 86tvd3sig6.fsf@zoho.eu
Emanuel Berg via help-gnu-emacs <help-gnu-emacs@gnu.org> writes:
> jonetsu wrote:
>
>> Emmanuel Berg: "Or use Lisp, create a file
>> and just type Lisp. With `format', you can
>> get the result look anyway you want."
>>
>> I must say that I do not know anything about
>> Lisp [...]
>
> If you want to do math with Lisp, it is much
> better to be good with math and bad at Lisp,
> than the other way around.
>
> Because it is very easy. Just understand the
> "fully parenthesized prefix notation" [1] and
> that will be it.
>
> So, the operator comes first:
> (+ 1 2 3 4) ; is 1 + 2 + 3 + 4 = 10
>
> And, the priority of operators is never an
> issue as _everything_ is parenthesized.
>
> That's it!
>
> For more advanced math, you'll probably need to
> find a math library with additional operators
> and constants, perhaps in on of the
> [M]ELPA packs, but for the basic stuff, it is
> as simple as it can be.
>
> Here, have a look:
>
>
> (defun hypotenuse (c1 c2)
> (sqrt (+ (* c1 c1) (* c2 c2))) )
>
>
> or, a little bit more advanced, involving
> a list and a set function:
>
>
> (defun mean-value (vs)
> (let*((sum (apply #'+ vs))
> (mean (/ sum (length vs) 1.0)) )
> mean) ) ; [2]
>
>
> Eval me: (mean-value '(1 2 3 4 5.5)) ; 3.1
>
>
> One of the advantages with this Lisp-file
> method is that you have every data item in the
> file. Nothing gets lost in the history of the
> calculator, and what you have you can change
> and instantly have the whole thing
> computed anew.
>
>
> [1] https://en.wikipedia.org/wiki/Lisp_(programming_language)
> [2] https://dataswamp.org/~incal/emacs-init/my-math.el
I'd like to put in a plug for Dave Gillespie's calc, that's part
of emacs. Just say
M-x calc
type `h i', read the manual (as much of it as you can possibly take:
it's big) and go calculate.
--
Nick
"There are only two hard problems in computer science: cache
invalidation, naming things, and off-by-one errors." -Martin Fowler
next prev parent reply other threads:[~2019-06-06 14:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-04 19:43 Calculator: no exponent, full number ? jonetsu
2019-06-04 22:42 ` Emanuel Berg via help-gnu-emacs
2019-06-05 11:15 ` Emanuel Berg via help-gnu-emacs
2019-06-05 4:11 ` Marcin Borkowski
2019-06-05 4:26 ` Emanuel Berg via help-gnu-emacs
2019-06-05 13:53 ` jonetsu
2019-06-05 23:47 ` Emanuel Berg via help-gnu-emacs
2019-06-06 14:50 ` Nick Dokos [this message]
2019-06-26 4:09 ` Xavier Maillard
2019-06-06 15:47 ` Marcin Borkowski
2019-06-06 16:50 ` Emanuel Berg via help-gnu-emacs
2019-06-06 17:04 ` tomas
2019-06-06 17:11 ` Emanuel Berg via help-gnu-emacs
2019-06-06 17:25 ` tomas
2019-06-07 19:36 ` Marcin Borkowski
2019-06-14 12:20 ` Van L
2019-06-14 13:26 ` Robert Pluim
2019-06-14 19:57 ` Stefan Monnier
2019-06-15 9:29 ` Van L
2019-06-14 19:43 ` Emanuel Berg via help-gnu-emacs
2019-06-15 9:23 ` Van L
-- strict thread matches above, loose matches on Subject: below --
2019-06-06 17:28 Joe Trivers via help-gnu-emacs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87muiurco2.fsf@alphaville.usersys.redhat.com \
--to=ndokos@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.