source: sasview/src/sans/models/c_extension/cephes/mconf.h @ 230f479

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 230f479 was 230f479, checked in by Mathieu Doucet <doucetm@…>, 11 years ago

Rename C source dir for models (minor updates)

  • Property mode set to 100644
File size: 5.3 KB
RevLine 
[230f479]1/*                                                      mconf.h
2 *
3 *      Common include file for math routines
4 *
5 *
6 *
7 * SYNOPSIS:
8 *
9 * #include "mconf.h"
10 *
11 *
12 *
13 * DESCRIPTION:
14 *
15 * This file contains definitions for error codes that are
16 * passed to the common error handling routine mtherr()
17 * (which see).
18 *
19 * The file also includes a conditional assembly definition
20 * for the type of computer arithmetic (IEEE, DEC, Motorola
21 * IEEE, or UNKnown).
22 *
23 * For Digital Equipment PDP-11 and VAX computers, certain
24 * IBM systems, and others that use numbers with a 56-bit
25 * significand, the symbol DEC should be defined.  In this
26 * mode, most floating point constants are given as arrays
27 * of octal integers to eliminate decimal to binary conversion
28 * errors that might be introduced by the compiler.
29 *
30 * For little-endian computers, such as IBM PC, that follow the
31 * IEEE Standard for Binary Floating Point Arithmetic (ANSI/IEEE
32 * Std 754-1985), the symbol IBMPC should be defined.  These
33 * numbers have 53-bit significands.  In this mode, constants
34 * are provided as arrays of hexadecimal 16 bit integers.
35 *
36 * Big-endian IEEE format is denoted MIEEE.  On some RISC
37 * systems such as Sun SPARC, double precision constants
38 * must be stored on 8-byte address boundaries.  Since integer
39 * arrays may be aligned differently, the MIEEE configuration
40 * may fail on such machines.
41 *
42 * To accommodate other types of computer arithmetic, all
43 * constants are also provided in a normal decimal radix
44 * which one can hope are correctly converted to a suitable
45 * format by the available C language compiler.  To invoke
46 * this mode, define the symbol UNK.
47 *
48 * An important difference among these modes is a predefined
49 * set of machine arithmetic constants for each.  The numbers
50 * MACHEP (the machine roundoff error), MAXNUM (largest number
51 * represented), and several other parameters are preset by
52 * the configuration symbol.  Check the file const.c to
53 * ensure that these values are correct for your computer.
54 *
55 * Configurations NANS, INFINITIES, MINUSZERO, and DENORMAL
56 * may fail on many systems.  Verify that they are supposed
57 * to work on your computer.
58 */
59/*
60Cephes Math Library Release 2.3:  June, 1995
61Copyright 1984, 1987, 1989, 1995 by Stephen L. Moshier
62*/
63
64
65/* Define if the `long double' type works.  */
66#define HAVE_LONG_DOUBLE 1
67
68/* Define as the return type of signal handlers (int or void).  */
69#define RETSIGTYPE void
70
71/* Define if you have the ANSI C header files.  */
72#define STDC_HEADERS 1
73
74/* Define if your processor stores words with the most significant
75   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
76/* #undef WORDS_BIGENDIAN */
77
78/* Define if floating point words are bigendian.  */
79/* #undef FLOAT_WORDS_BIGENDIAN */
80
81/* The number of bytes in a int.  */
82#define SIZEOF_INT 4
83
84/* Define if you have the <string.h> header file.  */
85#define HAVE_STRING_H 1
86
87/* Name of package */
88#define PACKAGE "cephes"
89
90/* Version number of package */
91#define VERSION "2.7"
92
93/* Constant definitions for math error conditions
94 */
95
96#define DOMAIN          1       /* argument domain error */
97#define SING            2       /* argument singularity */
98#define OVERFLOW        3       /* overflow range error */
99#define UNDERFLOW       4       /* underflow range error */
100#define TLOSS           5       /* total loss of precision */
101#define PLOSS           6       /* partial loss of precision */
102
103#define EDOM            33
104#define ERANGE          34
105/* Complex numeral.  */
106typedef struct
107        {
108        double r;
109        double i;
110        } cmplx;
111
112#ifdef HAVE_LONG_DOUBLE
113/* Long double complex numeral.  */
114typedef struct
115        {
116        long double r;
117        long double i;
118        } cmplxl;
119#endif
120
121
122/* Type of computer arithmetic */
123
124/* PDP-11, Pro350, VAX:
125 */
126/* #define DEC 1 */
127
128/* Intel IEEE, low order words come first:
129 */
130/* #define IBMPC 1 */
131
132/* Motorola IEEE, high order words come first
133 * (Sun 680x0 workstation):
134 */
135/* #define MIEEE 1 */
136
137/* UNKnown arithmetic, invokes coefficients given in
138 * normal decimal format.  Beware of range boundary
139 * problems (MACHEP, MAXLOG, etc. in const.c) and
140 * roundoff problems in pow.c:
141 * (Sun SPARCstation)
142 */
143#define UNK 1
144
145/* If you define UNK, then be sure to set BIGENDIAN properly. */
146#ifdef FLOAT_WORDS_BIGENDIAN
147#define BIGENDIAN 1
148#else
149#define BIGENDIAN 0
150#endif
151/* Define this `volatile' if your compiler thinks
152 * that floating point arithmetic obeys the associative
153 * and distributive laws.  It will defeat some optimizations
154 * (but probably not enough of them).
155 *
156 * #define VOLATILE volatile
157 */
158#define VOLATILE
159
160/* For 12-byte long doubles on an i386, pad a 16-bit short 0
161 * to the end of real constants initialized by integer arrays.
162 *
163 * #define XPD 0,
164 *
165 * Otherwise, the type is 10 bytes long and XPD should be
166 * defined blank (e.g., Microsoft C).
167 *
168 * #define XPD
169 */
170#define XPD 0,
171
172/* Define to support tiny denormal numbers, else undefine. */
173#define DENORMAL 1
174
175/* Define to ask for infinity support, else undefine. */
176#define INFINITIES 1
177
178/* Define to ask for support of numbers that are Not-a-Number,
179   else undefine.  This may automatically define INFINITIES in some files. */
180#define NANS 1
181
182/* Define to distinguish between -0.0 and +0.0.  */
183#define MINUSZERO 1
184
185/* Define 1 for ANSI C atan2() function
186   See atan.c and clog.c. */
187#define ANSIC 1
188
189/* Get ANSI function prototypes, if you want them. */
190#if 1
191/* #ifdef __STDC__ */
192#define ANSIPROT 1
193int mtherr ( char *, int );
194#else
195int mtherr();
196#endif
197
198/* Variable for error reporting.  See mtherr.c.  */
199extern int merror;
Note: See TracBrowser for help on using the repository browser.