1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-03 20:24:29 +00:00

calc-bin.el (calc-radix): Have the O option turn on twos-complement mode.

This commit is contained in:
Jay Belanger 2010-04-17 23:13:09 -05:00
parent a0d3397536
commit f8b91752dd
5 changed files with 42 additions and 15 deletions

View File

@ -1,3 +1,9 @@
2010-04-18 Jay Belanger <jay.p.belanger@gmail.com>
* calc.texi (Radix modes): Mention that the option prefix will
turn on twos-complement mode.
(Inverse and Hyperbolic Flags): Mention the Option flag.
2010-04-15 Carsten Dominik <carsten.dominik@gmail.com>
* org.texi (LaTeX and PDF export): Add a footnote about xetex.

View File

@ -12289,15 +12289,21 @@ may be executed with @kbd{x} or @kbd{M-x}. Their effect is simply to
toggle the Inverse and/or Hyperbolic flags and then execute the
corresponding base command (@code{calc-sin} in this case).
The Inverse and Hyperbolic flags apply only to the next Calculator
command, after which they are automatically cleared. (They are also
cleared if the next keystroke is not a Calc command.) Digits you
type after @kbd{I} or @kbd{H} (or @kbd{K}) are treated as prefix
arguments for the next command, not as numeric entries. The same
is true of @kbd{C-u}, but not of the minus sign (@kbd{K -} means to
subtract and keep arguments).
@kindex O
@pindex calc-option
The @kbd{O} key (@code{calc-option}) sets another flag, the
@dfn{Option Flag}, which also can alter the subsequent Calc command in
various ways.
The third Calc prefix flag, @kbd{K} (keep-arguments), is discussed
The Inverse, Hyperbolic and Option flags apply only to the next
Calculator command, after which they are automatically cleared. (They
are also cleared if the next keystroke is not a Calc command.) Digits
you type after @kbd{I}, @kbd{H} or @kbd{O} (or @kbd{K}) are treated as
prefix arguments for the next command, not as numeric entries. The
same is true of @kbd{C-u}, but not of the minus sign (@kbd{K -} means
to subtract and keep arguments).
Another Calc prefix flag, @kbd{K} (keep-arguments), is discussed
elsewhere. @xref{Keep Arguments}.
@node Calculation Modes, Simplification Modes, Inverse and Hyperbolic, Mode Settings
@ -13175,12 +13181,13 @@ in the current radix. (Larger integers will still be displayed in their
entirety.)
@cindex Two's complements
With the binary, octal and hexadecimal display modes, Calc can
display @expr{w}-bit integers using two's complement notation. This
option is selected with the key sequences @kbd{C-u d 2}, @kbd{C-u d 8}
and @kbd{C-u d 6}, respectively, and a negative word size might be
appropriate (@pxref{Binary Functions}). In two's complement
notation, the integers in the (nearly) symmetric interval from
Calc can display @expr{w}-bit integers using two's complement
notation, although this is most useful with the binary, octal and
hexadecimal display modes. This option is selected by using the
@kbd{O} option prefix before setting the display radix, and a negative word
size might be appropriate (@pxref{Binary Functions}). In two's
complement notation, the integers in the (nearly) symmetric interval
from
@texline @math{-2^{w-1}}
@infoline @expr{-2^(w-1)}
to
@ -35461,6 +35468,7 @@ keystrokes are not listed in this summary.
@r{ @: M @: @: @:calc-more-recursion-depth@:}
@r{ @: I M @: @: @:calc-less-recursion-depth@:}
@r{ a@: N @: @: 5 @:evalvn@:(a)}
@r{ @: O @:command @: 32 @:@:Option}
@r{ @: P @: @: @:@:pi}
@r{ @: I P @: @: @:@:gamma}
@r{ @: H P @: @: @:@:e}

View File

@ -1,3 +1,10 @@
2010-04-18 Jay Belanger <jay.p.belanger@gmail.com>
* calc.el (calc-mode-map): Bind "O" to `calc-missing-key'.
* calc-bin.el (calc-radix): Have the "O" option turn on
twos-complement mode.
2010-04-17 Jay Belanger <jay.p.belanger@gmail.com>
* calc-ext.el (calc-init-extensions): Add keybinding for 'calc-option'.

View File

@ -72,6 +72,12 @@ opinions.
Summary of changes to "Calc"
------- -- ------- -- ----
Emacs 24.1
* Added "O" option prefix.
* Used "O" prefix to "d r" (`calc-radix') to turn on twos-complement mode.
Emacs 23.2
* Added twos-complement display.

View File

@ -175,7 +175,7 @@ the size of a Calc bignum digit.")
(progn
(calc-change-mode
(list 'calc-number-radix 'calc-twos-complement-mode)
(list n (and (or (= n 2) (= n 8) (= n 16)) arg)) t)
(list n (or arg (calc-is-option))) t)
;; also change global value so minibuffer sees it
(setq-default calc-number-radix calc-number-radix))
(setq n calc-number-radix))