Mercurial > emacs
annotate lisp/emacs-lisp/float-sup.el @ 72863:526dc1f36b09
(produce_image_glyph): Automatically crop wide images at
right window edge so we can draw the cursor on the same row to
avoid confusing redisplay by placing the cursor outside the visible
window area.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Thu, 14 Sep 2006 09:37:44 +0000 |
parents | 067115a6e738 |
children | 1d4b1a32fd66 c5406394f567 |
rev | line source |
---|---|
51349 | 1 ;;; float-sup.el --- define some constants useful for floating point numbers. |
2 | |
64751
5b1a238fcbb4
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64085
diff
changeset
|
3 ;; Copyright (C) 1985, 1986, 1987, 2002, 2003, 2004, |
68648
067115a6e738
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64751
diff
changeset
|
4 ;; 2005, 2006 Free Software Foundation, Inc. |
51349 | 5 |
6 ;; Maintainer: FSF | |
7 ;; Keywords: internal | |
8 | |
9 ;; This file is part of GNU Emacs. | |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
13 ;; the Free Software Foundation; either version 2, or (at your option) | |
14 ;; any later version. | |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
64085 | 23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 ;; Boston, MA 02110-1301, USA. | |
51349 | 25 |
26 ;;; Commentary: | |
27 | |
28 ;;; Code: | |
29 | |
30 ;; Provide a meaningful error message if we are running on | |
31 ;; bare (non-float) emacs. | |
32 | |
33 (if (fboundp 'atan) | |
34 nil | |
35 (error "Floating point was disabled at compile time")) | |
36 | |
37 ;; provide an easy hook to tell if we are running with floats or not. | |
38 ;; define pi and e via math-lib calls. (much less prone to killer typos.) | |
39 (defconst pi (* 4 (atan 1)) "The value of Pi (3.1415926...).") | |
40 ;; It's too inconvenient to make `e' a constant because it's used as | |
41 ;; a temporary variable all the time. | |
42 (defvar e (exp 1) "The value of e (2.7182818...).") | |
43 | |
44 ;; Careful when editing this file ... typos here will be hard to spot. | |
45 ;; (defconst pi 3.14159265358979323846264338327 | |
46 ;; "The value of Pi (3.14159265358979323846264338327...)") | |
47 | |
48 (defconst degrees-to-radians (/ pi 180.0) | |
49 "Degrees to radian conversion constant.") | |
50 (defconst radians-to-degrees (/ 180.0 pi) | |
51 "Radian to degree conversion constant.") | |
52 | |
53 ;; these expand to a single multiply by a float when byte compiled | |
54 | |
55 (defmacro degrees-to-radians (x) | |
56 "Convert ARG from degrees to radians." | |
57 (list '* (/ pi 180.0) x)) | |
58 (defmacro radians-to-degrees (x) | |
59 "Convert ARG from radians to degrees." | |
60 (list '* (/ 180.0 pi) x)) | |
61 | |
62 (provide 'lisp-float-type) | |
63 | |
52401 | 64 ;;; arch-tag: e7837072-a4af-4d08-9953-8a3e755abf9d |
51349 | 65 ;;; float-sup.el ends here |