# Category : C Source Code

Archive : CEPHES22.ZIP

Filename : MCONF.H

*

* Common include file for math routines

*

*

*

* SYNOPSIS:

*

* #include "mconf.h"

*

*

*

* DESCRIPTION:

*

* This file contains definitions for error codes that are

* passed to the common error handling routine mtherr()

* (which see).

*

* The file also includes a conditional assembly definition

* for the type of computer arithmetic (IEEE, DEC, Motorola

* IEEE, or UNKnown).

*

* For Digital Equipment PDP-11 and VAX computers, certain

* IBM systems, and others that use numbers with a 56-bit

* significand, the symbol DEC should be defined. In this

* mode, most floating point constants are given as arrays

* of octal integers to eliminate decimal to binary conversion

* errors that might be introduced by the compiler.

*

* For computers, such as IBM PC, that follow the IEEE

* Standard for Binary Floating Point Arithmetic (ANSI/IEEE

* Std 754-1985), the symbol IBMPC should be defined. These

* numbers have 53-bit significands. In this mode, constants

* are provided as arrays of hexadecimal 16 bit integers.

*

* To accommodate other types of computer arithmetic, all

* constants are also provided in a normal decimal radix

* which one can hope are correctly converted to a suitable

* format by the available C language compiler. To invoke

* this mode, the symbol UNK is defined.

*

* An important difference among these modes is a predefined

* set of machine arithmetic constants for each. The numbers

* MACHEP (the machine roundoff error), MAXNUM (largest number

* represented), and several other parameters are preset by

* the configuration symbol. Check the file const.c to

* ensure that these values are correct for your computer.

*

* For ANSI C compatibility, define ANSIC equal to 1. Currently

* this affects only the atan2() function and others that use it.

*/

/*

Cephes Math Library Release 2.1: January, 1989

Copyright 1984, 1987, 1989 by Stephen L. Moshier

Direct inquiries to 30 Frost Street, Cambridge, MA 02140

*/

/* Constant definitions for math error conditions

*/

#define DOMAIN 1 /* argument domain error */

#define SING 2 /* argument singularity */

#define OVERFLOW 3 /* overflow range error */

#define UNDERFLOW 4 /* underflow range error */

#define TLOSS 5 /* total loss of precision */

#define PLOSS 6 /* partial loss of precision */

#define EDOM 33

#define ERANGE 34

typedef struct

{

double r;

double i;

}cmplx;

/* Type of computer arithmetic */

/* PDP-11, Pro350, VAX:

*/

/*define DEC 1*/

/* Intel IEEE, low order words come first:

*/

/*define IBMPC 1*/

/* Motorola IEEE, high order words come first

* (Sun workstation):

*/

#define MIEEE 1

/* UNKnown arithmetic, invokes coefficients given in

* normal decimal format. Beware of range boundary

* problems (MACHEP, MAXLOG, etc. in const.c) and

* roundoff problems in pow.c:

/*define UNK 1*/

/* Define 1 for ANSI C atan2() function

* See atan.c and clog.c.

*/

#define ANSIC 0

/* mconf.h

*

* Common include file for math routines

*

*

*

* SYNOPSIS:

*

* #include "mconf.h"

*

*

*

* DESCRIPTION:

*

* This file contains definitions for error codes that are

* passed to the common error handling routine mtherr()

* (which see).

*

* The file also includes a conditional assembly definition

* for the type of computer arithmetic (IEEE, DEC, Motorola

* IEEE, or UNKnown).

*

* For Digital Equipment PDP-11 and VAX computers, certain

* IBM systems, and others that use numbers with a 56-bit

* significand, the symbol DEC should be defined. In this

* mode, most floating point constants are given as arrays

* of octal integers to eliminate decimal to binary conversion

* errors that might be introduced by the compiler.

*

* For computers, such as IBM PC, that follow the IEEE

* Standard for Binary Floating Point Arithmetic (ANSI/IEEE

* Std 754-1985), the symbol IBMPC should be defined. These

* numbers have 53-bit significands. In this mode, constants

* are provided as arrays of hexadecimal 16 bit integers.

*

* To accommodate other types of computer arithmetic, all

* constants are also provided in a normal decimal radix

* which one can hope are correctly converted to a suitable

* format by the available C language compiler. To invoke

* this mode, the symbol UNK is defined.

*

* An important difference among these modes is a predefined

* set of machine arithmetic constants for each. The numbers

* MACHEP (the machine roundoff error), MAXNUM (largest number

* represented), and several other parameters are preset by

* the configuration symbol. Check the file const.c to

* ensure that these values are correct for your computer.

*

* For ANSI C compatibility, define ANSIC equal to 1. Currently

* this affects only the atan2() function and others that use it.

*/

/*

Cephes Math Library Release 2.1: January, 1989

Copyright 1984, 1987, 1989 by Stephen L. Moshier

Direct inquiries to 30 Frost Street, Cambridge, MA 02140

*/

/* Constant definitions for math error conditions

*/

#define DOMAIN 1 /* argument domain error */

#define SING 2 /* argument singularity */

#define OVERFLOW 3 /* overflow range error */

#define UNDERFLOW 4 /* underflow range error */

#define TLOSS 5 /* total loss of precision */

#define PLOSS 6 /* partial loss of precision */

#define EDOM 33

#define ERANGE 34

typedef struct

{

double r;

double i;

}cmplx;

/* Type of computer arithmetic */

/* PDP-11, Pro350, VAX:

*/

/*define DEC 1*/

/* Intel IEEE, low order words come first:

*/

/*define IBMPC 1*/

/* Motorola IEEE, high order words come first

* (Sun workstation):

*/

#define MIEEE 1

/* UNKnown arithmetic, invokes coefficients given in

* normal decimal format. Beware of range boundary

* problems (MACHEP, MAXLOG, etc. in const.c) and

* roundoff problems in pow.c:

/*define UNK 1*/

/* Define 1 for ANSI C atan2() function

* See atan.c and clog.c.

*/

#define ANSIC 0

/* mconf.h

*

* Common include file for math routines

*

*

*

* SYNOPSIS:

*

* #include "mconf.h"

*

*

*

* DESCRIPTION:

*

* This file contains definitions for error codes that are

* passed to the common error handling routine mtherr()

* (which see).

*

* The file also includes a conditional assembly definition

* for the type of computer arithmetic (IEEE, DEC, Motorola

* IEEE, or UNKnown).

*

* For Digital Equipment PDP-11 and VAX computers, certain

* IBM systems, and others that use numbers with a 56-bit

* significand, the symbol DEC should be defined. In this

* mode, most floating point constants are given as arrays

* of octal integers to eliminate decimal to binary conversion

* errors that might be introduced by the compiler.

*

* For computers, such as IBM PC, that follow the IEEE

* Standard for Binary Floating Point Arithmetic (ANSI/IEEE

* Std 754-1985), the symbol IBMPC should be defined. These

* numbers have 53-bit significands. In this mode, constants

* are provided as arrays of hexadecimal 16 bit integers.

*

* To accommodate other types of computer arithmetic, all

* constants are also provided in a normal decimal radix

* which one can hope are correctly converted to a suitable

* format by the available C language compiler. To invoke

* this mode, the symbol UNK is defined.

*

* An important difference among these modes is a predefined

* set of machine arithmetic constants for each. The numbers

* MACHEP (the machine roundoff error), MAXNUM (largest number

* represented), and several other parameters are preset by

* the configuration symbol. Check the file const.c to

* ensure that these values are correct for your computer.

*

* For ANSI C compatibility, define ANSIC equal to 1. Currently

* this affects only the atan2() function and others that use it.

*/

/*

Cephes Math Library Release 2.1: January, 1989

Copyright 1984, 1987, 1989 by Stephen L. Moshier

Direct inquiries to 30 Frost Street, Cambridge, MA 02140

*/

/* Constant definitions for math error conditions

*/

#define DOMAIN 1 /* argument domain error */

#define SING 2 /* argument singularity */

#define OVERFLOW 3 /* overflow range error */

#define UNDERFLOW 4 /* underflow range error */

#define TLOSS 5 /* total loss of precision */

#define PLOSS 6 /* partial loss of precision */

#define EDOM 33

#define ERANGE 34

typedef struct

{

double r;

double i;

}cmplx;

/* Type of computer arithmetic */

/* PDP-11, Pro350, VAX:

*/

/*define DEC 1*/

/* Intel IEEE, low order words come first:

*/

#define IBMPC 1

/* Motorola IEEE, high order words come first

* (Sun workstation):

*/

/*define MIEEE 1*/

/* UNKnown arithmetic, invokes coefficients given in

* normal decimal format. Beware of range boundary

* problems (MACHEP, MAXLOG, etc. in const.c) and

* roundoff problems in pow.c:

/*define UNK 1*/

/* Define 1 for ANSI C atan2() function

* See atan.c and clog.c.

*/

#define ANSIC 0

/* mconf.h

*

* Common include file for math routines

*

*

*

* SYNOPSIS:

*

* #include "mconf.h"

*

*

*

* DESCRIPTION:

*

* This file contains definitions for error codes that are

* passed to the common error handling routine mtherr()

* (which see).

*

* The file also includes a conditional assembly definition

* for the type of computer arithmetic (IEEE, DEC, Motorola

* IEEE, or UNKnown).

*

* For Digital Equipment PDP-11 and VAX computers, certain

* IBM systems, and others that use numbers with a 56-bit

* significand, the symbol DEC should be defined. In this

* mode, most floating point constants are given as arrays

* of octal integers to eliminate decimal to binary conversion

* errors that might be introduced by the compiler.

*

* For computers, such as IBM PC, that follow the IEEE

* Standard for Binary Floating Point Arithmetic (ANSI/IEEE

* Std 754-1985), the symbol IBMPC should be defined. These

* numbers have 53-bit significands. In this mode, constants

* are provided as arrays of hexadecimal 16 bit integers.

*

* To accommodate other types of computer arithmetic, all

* constants are also provided in a normal decimal radix

* which one can hope are correctly converted to a suitable

* format by the available C language compiler. To invoke

* this mode, the symbol UNK is defined.

*

* An important difference among these modes is a predefined

* set of machine arithmetic constants for each. The numbers

* MACHEP (the machine roundoff error), MAXNUM (largest number

* represented), and several other parameters are preset by

* the configuration symbol. Check the file const.c to

* ensure that these values are correct for your computer.

*

* For ANSI C compatibility, define ANSIC equal to 1. Currently

* this affects only the atan2() function and others that use it.

*/

/*

Cephes Math Library Release 2.2: January, 1991

Copyright 1984, 1991 by Stephen L. Moshier

Direct inquiries to 30 Frost Street, Cambridge, MA 02140

*/

/* Constant definitions for math error conditions

*/

#define DOMAIN 1 /* argument domain error */

#define SING 2 /* argument singularity */

#define OVERFLOW 3 /* overflow range error */

#define UNDERFLOW 4 /* underflow range error */

#define TLOSS 5 /* total loss of precision */

#define PLOSS 6 /* partial loss of precision */

#define EDOM 33

#define ERANGE 34

typedef struct

{

double r;

double i;

}cmplx;

/* Type of computer arithmetic */

/* PDP-11, Pro350, VAX:

*/

/*define DEC 1*/

/* Intel IEEE, low order words come first:

*/

#define IBMPC 1

/* Motorola IEEE, high order words come first

* (Sun workstation):

*/

/*define MIEEE 1*/

/* UNKnown arithmetic, invokes coefficients given in

* normal decimal format. Beware of range boundary

* problems (MACHEP, MAXLOG, etc. in const.c) and

* roundoff problems in pow.c:

/*define UNK 1*/

/* Define 1 for ANSI C atan2() function

* See atan.c and clog.c.

*/

#define ANSIC 0

/* To defeat certain optimizations by ANSI compilers

* that incorrectly assume arithmetic is associative

* define VOLATILE volatile or else nothing.

* (See particularly the logarithm functions.)

*/

/*define VOLATILE*/

#define VOLATILE volatile

/* mconf.h */

/* Constant definitions for math error conditions

*/

#define DOMAIN 1 /* argument domain error */

#define SING 2 /* argument singularity */

#define OVERFLOW 3 /* overflow range error */

#define UNDERFLOW 4 /* underflow range error */

#define TLOSS 5 /* total loss of precision */

#define PLOSS 6 /* partial loss of precision */

#define EDOM 33

#define ERANGE 34

/* Type of computer */

/* define DEC 1 */

#define IBMPC 1

/* define MIEEE 1*/

/* define UNK 1 */

#define ANSIC 0

Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/