Merge tag 'upstream/0.2.1'
[debian/yforth] / double.h
1 /* yForth? - A Forth interpreter written in ANSI C
2  * Copyright (C) 2012 Luca Padovani
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  * ------------------------------------------------------------------------
17  * Module name:     double.h
18  * Abstract:        include file for "double-numbers" word set
19  */
20
21 #ifdef DECLARE_WORDS
22 #       ifdef PROTOTYPES
23 #               undef PROTOTYPES
24 #       endif
25 #       undef __DOUBLE_H__
26 #else
27 #       ifndef PROTOTYPES
28 #               define PROTOTYPES
29 #       endif
30 #endif
31
32 #ifndef __DOUBLE_H__
33 #define __DOUBLE_H__
34
35 #include "yforth.h"
36 #include "macro.h"
37
38 /**************************************************************************/
39 /* PROTOTYPES *************************************************************/
40 /**************************************************************************/
41
42 code(two_constant,                                              "2constant",                    0)
43 code(two_literal,                                               "2literal",                             COMP_ONLY | IMMEDIATE)
44 code(two_variable,                                              "2variable",                    0)
45 code(d_plus,                                                    "d+",                                   0)
46 code(d_minus,                                                   "d-",                                   0)
47 code(d_dot,                                                             "d.",                                   0)
48 code(d_dot_r,                                                   "d.r",                                  0)
49 code(d_zero_less,                                               "d0<",                                  0)
50 code(d_zero_equals,                                             "d0=",                                  0)
51 code(d_two_star,                                                "d2*",                                  0)
52 code(d_two_slash,                                               "d2/",                                  0)
53 code(d_less_than,                                               "d<",                                   0)
54 code(d_equals,                                                  "d=",                                   0)
55 code(drop,                                                              "d>s",                                  0)
56 code(dabs,                                                              "dabs",                                 0)
57 code(dmax,                                                              "dmax",                                 0)
58 code(dmin,                                                              "dmin",                                 0)
59 code(dnegate,                                                   "dnegate",                              0)
60 code(m_star_slash,                                              "m*/",                                  0)
61 code(m_plus,                                                    "m+",                                   0)
62
63 #ifdef PROTOTYPES
64
65 #endif
66
67 #endif
68