<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Procyon+ember</id>
	<title>WikEmacs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Procyon+ember"/>
	<link rel="alternate" type="text/html" href="https://wikemacs.org/wiki/Special:Contributions/Procyon_ember"/>
	<updated>2026-04-19T09:45:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikemacs.org/index.php?title=Calc&amp;diff=47237</id>
		<title>Calc</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Calc&amp;diff=47237"/>
		<updated>2016-02-22T01:57:17Z</updated>

		<summary type="html">&lt;p&gt;Procyon ember: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Calc comes with [[GNU Emacs]] starting with version 22.&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/emacs/manual/html_mono/calc.html The GNU Emacs Calculator]&lt;br /&gt;
&lt;br /&gt;
[http://www.emacswiki.org/emacs/CategoryCalculators Category Calculators -Emacs Wiki-]&lt;br /&gt;
&lt;br /&gt;
== from emacs lisp via calc-eval ==&lt;br /&gt;
&lt;br /&gt;
Calc may be invoked from [[Emacs_Lisp]] via [https://www.gnu.org/software/emacs/manual/html_node/calc/Calling-Calc-from-Your-Programs.html#Calling-Calc-from-Your-Programs calc-eval]. Try these examples in a ''*scratch*'' or [[IELM]] buffer, or via a shell one-liner in [https://www.gnu.org/software/emacs/manual/html_node/emacs/Initial-Options.html#Initial-Options batch mode].&lt;br /&gt;
&lt;br /&gt;
=== using calc-eval ===&lt;br /&gt;
&lt;br /&gt;
''calc-eval'' accepts a string containing an [https://www.gnu.org/software/emacs/manual/html_node/calc/Algebraic-Entry.html#Algebraic-Entry algebraic expression] as its first argument, and returns the result of evaluating the expression in a string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;sqrt(2 ^ 16)&amp;quot;))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;256&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;sqrt(2 ^ 16)&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 256&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== floating point numbers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Floats.html#Floats Floats] default to 12 digits of [https://www.gnu.org/software/emacs/manual/html_node/calc/Precision.html#Precision precision], with the final digit rounded.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval (calc-eval &amp;quot;2 / 3&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;0.666666666667&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2 / 3&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 0.666666666667&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The shell examples use ''message'' to cause the evaluation result to be printed. In emacs lisp, printing is a [https://en.wikipedia.org/wiki/Side_effect_%28computer_science%29 side effect] which only occurs when you ask for it. ''IELM'' displays the result as a convenience, and ''*scratch*'' only inserts then result depending on how you invoke it (such as with [https://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Interaction.html#Lisp-Interaction eval-print-last-sexp]). ''message'' doesn't preserve quotation marks around strings because its output is intended for humans, not the lisp reader. In ''-batch'' mode, ''message'' prints to standard error, but ''print'' could be used to direct results to standard output.&lt;br /&gt;
&lt;br /&gt;
=== lists ===&lt;br /&gt;
&lt;br /&gt;
If the string is a comma-delimited list of expressions, then a comma-delimited list of results will be returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;9 / 5, trunc(9 / 5), 9 % 5&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;1.8, 1, 4&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;9 / 5, trunc(9 / 5), 9 % 5&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 1.8, 1, 4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== random numbers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Random-Numbers.html#Random-Numbers Calc's random number generator] is seeded from the system time when calc is started. ''random(N)'' returns a non-negative integer less than ''N''. Your results should vary from the examples below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;1 + random(6), 1 + random(6), 1 + random(6)&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;1, 4, 3&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;1 + random(6), 1 + random(6)&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 5, 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fractions ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Fractions.html#Fractions Fractions] are written as ''NUMERATOR:DENOMINATOR'' to distinguish them from divison operations. Mixed fractions may be entered as ''WHOLE:NUMERATOR:DENOMINATOR''. Fraction results are reduced to lowest terms, and may be improper fractions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;2:1:4 + 1:2&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;11:4&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2:1:4 + 1:2&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 11:4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== entering non-decimal integers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Integers.html#Integers integers] may be entered as ''RADIX#VALUE'', where ''RADIX'' may range from 2 to 36 inclusive.&lt;br /&gt;
&lt;br /&gt;
'''Caution!''' This is '''not''' the same [https://www.gnu.org/software/emacs/manual/html_node/elisp/Integer-Basics.html#Integer-Basics notation used by emacs lisp].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;2#10 * 8#10&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;16&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2#10 * 8#10&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 16&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== advanced calc-eval ==&lt;br /&gt;
&lt;br /&gt;
If the first argument to ''calc-eval'' is a list, then the first element of the list should be an algebraic expression in a string. Remaining elements of the list are zero or more ''NAME VALUE'' pairs which specify [https://www.gnu.org/software/emacs/manual/html_node/calc/Mode-Settings.html#Mode-Settings mode settings]. &lt;br /&gt;
&lt;br /&gt;
'''Important:''' In emacs lisp &amp;lt;nowiki&amp;gt;'(foo)&amp;lt;/nowiki&amp;gt; is a [https://www.gnu.org/software/emacs/manual/html_node/elisp/Quoting.html#Quoting quoted] list, but &amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; (apostrophe) is special to the shell. Lisp expressions in previous shell examples were wrapped in &amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; (apostrophe) symbols to prevent the shell from interpreting them. In the following shell examples, ''(quote (foo bar))'' makes a quoted list without breaking the [https://www.gnu.org/software/bash/manual/html_node/Quoting.html#Quoting shell quoting].&lt;br /&gt;
&lt;br /&gt;
=== non-decimal integer results ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;2 * 8&amp;quot; calc-number-radix 16))&lt;br /&gt;
;;  ==&amp;gt; &amp;quot;16#10&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;20&amp;quot; calc-number-radix 16))))'&lt;br /&gt;
# ==&amp;gt; 16#14&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setting numeric precision ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;2 / 3&amp;quot; calc-internal-prec 20))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;0.66666666666666666667&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;2 / 3&amp;quot; calc-internal-prec 20))))'&lt;br /&gt;
# ==&amp;gt; 0.66666666666666666667&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setting angular mode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;arctan2(0, -1)&amp;quot; calc-internal-prec 20 calc-angle-mode rad))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;3.1415926535897932385&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;arctan2(0, -1)&amp;quot; calc-angle-mode rad))))'&lt;br /&gt;
# ==&amp;gt; 3.14159265359&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Procyon ember</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Regexp_Search&amp;diff=47235</id>
		<title>Regexp Search</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Regexp_Search&amp;diff=47235"/>
		<updated>2016-02-22T01:05:51Z</updated>

		<summary type="html">&lt;p&gt;Procyon ember: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{CommandKeys|C-M-s|isearch-forward-regexp}} : incremental forward search matching regexp&lt;br /&gt;
# {{CommandKeys|C-M-r|isearch-backward-regexp}} :   incremental backward search matching regexp&lt;br /&gt;
&lt;br /&gt;
=== alternative ===&lt;br /&gt;
&lt;br /&gt;
# invoke incremental search by either '''C-s''' (isearch-forward) or '''C-r''' (isearch-backward)&lt;br /&gt;
# note the ''I-search:'' prompt in the echo area&lt;br /&gt;
# type '''M-r'''&lt;br /&gt;
# note the ''Pending regexp I-search:'' prompt in the echo area&lt;br /&gt;
&lt;br /&gt;
[[Category:Search]]&lt;/div&gt;</summary>
		<author><name>Procyon ember</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Calc&amp;diff=47233</id>
		<title>Calc</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Calc&amp;diff=47233"/>
		<updated>2016-02-21T19:54:48Z</updated>

		<summary type="html">&lt;p&gt;Procyon ember: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Calc comes with [[GNU Emacs]] starting with version 22.&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/emacs/manual/html_mono/calc.html The GNU Emacs Calculator]&lt;br /&gt;
&lt;br /&gt;
[http://www.emacswiki.org/emacs/CategoryCalculators Category Calculators -Emacs Wiki-]&lt;br /&gt;
&lt;br /&gt;
== from emacs lisp via calc-eval ==&lt;br /&gt;
&lt;br /&gt;
Calc may be invoked from [[Emacs_Lisp]] via [https://www.gnu.org/software/emacs/manual/html_node/calc/Calling-Calc-from-Your-Programs.html#Calling-Calc-from-Your-Programs calc-eval]. Try these examples in a ''*scratch*'' or [[IELM]] buffer, or via a shell one-liner in [https://www.gnu.org/software/emacs/manual/html_node/emacs/Initial-Options.html#Initial-Options batch mode].&lt;br /&gt;
&lt;br /&gt;
=== using calc-eval ===&lt;br /&gt;
&lt;br /&gt;
''calc-eval'' accepts a string containing an [https://www.gnu.org/software/emacs/manual/html_node/calc/Algebraic-Entry.html#Algebraic-Entry algebraic expression] as its first argument, and returns the result of evaluating the expression in a string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;sqrt(2 ^ 16)&amp;quot;))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;256&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;sqrt(2 ^ 16)&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 256&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== floating point numbers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Floats.html#Floats Floats] default to 12 digits of [https://www.gnu.org/software/emacs/manual/html_node/calc/Precision.html#Precision precision], with the final digit rounded.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval (calc-eval &amp;quot;2 / 3&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;0.666666666667&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2 / 3&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 0.666666666667&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The shell example uses ''message'' to cause the result to be printed. In ''-batch'' mode, ''message'' prints to standard output. In emacs lisp, printing is a [https://en.wikipedia.org/wiki/Side_effect_%28computer_science%29 side effect] which only occurs when you ask for it. ''IELM'' displays evaluation results as a convenience, and ''*scratch*'' only inserts evaluation results depending on how you invoke it (such as with [https://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Interaction.html#Lisp-Interaction eval-print-last-sexp]). ''message'' doesn't preserve quotation marks around strings because its output is intended for humans, not the lisp reader.&lt;br /&gt;
&lt;br /&gt;
=== lists ===&lt;br /&gt;
&lt;br /&gt;
If the string is a comma-delimited list of expressions, then a comma-delimited list of results will be returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;9 / 5, trunc(9 / 5), 9 % 5&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;1.8, 1, 4&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;9 / 5, trunc(9 / 5), 9 % 5&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 1.8, 1, 4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== random numbers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Random-Numbers.html#Random-Numbers Calc's random number generator] is seeded from the system time when calc is started. ''random(N)'' returns a non-negative integer less than ''N''. Your results should vary from the examples below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;1 + random(6), 1 + random(6), 1 + random(6)&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;1, 4, 3&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;1 + random(6), 1 + random(6)&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 5, 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fractions ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Fractions.html#Fractions Fractions] are written as ''NUMERATOR:DENOMINATOR'' to distinguish them from divison operations. Mixed fractions may be entered as ''WHOLE:NUMERATOR:DENOMINATOR''. Fraction results are reduced to lowest terms, and may be improper fractions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;2:1:4 + 1:2&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;11:4&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2:1:4 + 1:2&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 11:4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== entering non-decimal integers ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/emacs/manual/html_node/calc/Integers.html#Integers integers] may be entered as ''RADIX#VALUE'', where ''RADIX'' may range from 2 to 36 inclusive.&lt;br /&gt;
&lt;br /&gt;
'''Caution!''' This is '''not''' the same [https://www.gnu.org/software/emacs/manual/html_node/elisp/Integer-Basics.html#Integer-Basics notation used by emacs lisp].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval &amp;quot;2#10 * 8#10&amp;quot;)&lt;br /&gt;
;; ==&amp;gt; &amp;quot;16&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval &amp;quot;2#10 * 8#10&amp;quot;))'&lt;br /&gt;
# ==&amp;gt; 16&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== advanced calc-eval ==&lt;br /&gt;
&lt;br /&gt;
If the first argument to ''calc-eval'' is a list, then the first element of the list should be an algebraic expression in a string. Remaining elements of the list are zero or more ''NAME VALUE'' pairs which specify [https://www.gnu.org/software/emacs/manual/html_node/calc/Mode-Settings.html#Mode-Settings mode settings]. &lt;br /&gt;
&lt;br /&gt;
'''Important:''' In emacs lisp &amp;lt;nowiki&amp;gt;'(foo)&amp;lt;/nowiki&amp;gt; is a [https://www.gnu.org/software/emacs/manual/html_node/elisp/Quoting.html#Quoting quoted] list, but &amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; (apostrophe) is special to the shell. Lisp expressions in previous shell examples were wrapped in &amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; (apostrophe) symbols to prevent the shell from interpreting them. In the following shell examples, ''(quote (foo bar))'' makes a quoted list without breaking the [https://www.gnu.org/software/bash/manual/html_node/Quoting.html#Quoting shell quoting].&lt;br /&gt;
&lt;br /&gt;
=== non-decimal integer results ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;2 * 8&amp;quot; calc-number-radix 16))&lt;br /&gt;
;;  ==&amp;gt; &amp;quot;16#10&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;20&amp;quot; calc-number-radix 16))))'&lt;br /&gt;
# ==&amp;gt; 16#14&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setting numeric precision ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;2 / 3&amp;quot; calc-internal-prec 20))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;0.66666666666666666667&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;2 / 3&amp;quot; calc-internal-prec 20))))'&lt;br /&gt;
# ==&amp;gt; 0.66666666666666666667&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setting angular mode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lisp&amp;gt;&lt;br /&gt;
;; emacs lisp&lt;br /&gt;
(calc-eval '(&amp;quot;arctan2(0, -1)&amp;quot; calc-internal-prec 20 calc-angle-mode rad))&lt;br /&gt;
;; ==&amp;gt; &amp;quot;3.1415926535897932385&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# shell&lt;br /&gt;
emacs -Q -batch --eval='(message &amp;quot;%s&amp;quot; (calc-eval (quote (&amp;quot;arctan2(0, -1)&amp;quot; calc-angle-mode rad))))'&lt;br /&gt;
# ==&amp;gt; 3.14159265359&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Procyon ember</name></author>
	</entry>
</feed>