Fix up comment convention on the arch-tag lines.
[bpt/emacs.git] / lisp / emacs-lisp / float-sup.el
CommitLineData
5e046f6d
JB
1;;; float-sup.el --- define some constants useful for floating point numbers.
2
d59c3137 3;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004,
8b72699e 4;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5e046f6d
JB
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
e0085d62 13;; the Free Software Foundation; either version 3, or (at your option)
5e046f6d
JB
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
3a35cf56
LK
23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24;; Boston, MA 02110-1301, USA.
5e046f6d
JB
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...).")
8f92ec4d 40
5e046f6d
JB
41;; It's too inconvenient to make `e' a constant because it's used as
42;; a temporary variable all the time.
43(defvar e (exp 1) "The value of e (2.7182818...).")
44
5e046f6d
JB
45(defconst degrees-to-radians (/ pi 180.0)
46 "Degrees to radian conversion constant.")
47(defconst radians-to-degrees (/ 180.0 pi)
48 "Radian to degree conversion constant.")
49
50;; these expand to a single multiply by a float when byte compiled
51
52(defmacro degrees-to-radians (x)
53 "Convert ARG from degrees to radians."
54 (list '* (/ pi 180.0) x))
55(defmacro radians-to-degrees (x)
56 "Convert ARG from radians to degrees."
57 (list '* (/ 180.0 pi) x))
58
59(provide 'lisp-float-type)
60
cbee283d 61;; arch-tag: e7837072-a4af-4d08-9953-8a3e755abf9d
5e046f6d 62;;; float-sup.el ends here