One thing that I can't do in pdpclib, because I don't know
how they are calculated, is the maths routines.
I know that the 80387 provides a lot of math functions as
instructions and was wondering how easy it would be to
write assembler routines that just used the built-in
instructions. However, even knowing all the built-in
op-codes, I don't think that is enough to do some of the
stuff, you need to know the formula too.
At the moment,
1. On a machine with no 80387 there is no maths functions.
2. On a machine with a 80387 there is no maths functions.
It would be better if:
1. On a machine with no 80387 there is no maths functions.
2. On a machine with a 80386 there IS maths functions.
Does anyone have the ability and tenacity to implement some
or all of the following functions marked "unimplemented"
(except the last 3, as I can do them myself? I will post the
descriptions of the functions in the next message, quoting
from the ANSI C draft...
/*********************************************************************/
/* */
/* This Program Written by Paul Edwards, 3:711/934{at}fidonet. */
/* Released to the Public Domain */
/* */
/*********************************************************************/
/*********************************************************************/
/* */
/* math.h - math header file. */
/* */
/*********************************************************************/
#ifndef __MATH_INCLUDED
#define __MATH_INCLUDED
double ceil(double x);
/* unimplemented:
double acos(double x);
double asin(double x);
double atan(double x);
double atan2(double y, double x);
double cos(double x);
double sin(double x);
double tan(double x);
double cosh(double x);
double sinh(double x);
double tanh(double x);
double exp(double x);
double frexp(double value, int *exp);
double ldexp(double x, int exp);
double log(double x);
double log10(double x);
double modf(double value, double *iptr);
double pow(double x, double y);
double sqrt(double x);
double fabs(double x);
double floor(double x);
double fmod(double x, double y);
*/
#endif
@EOT:
---
* Origin: X (3:711/934.9)
|