TIP: Click on subject to list as thread! ANSI
echo: public_domain
to: All
from: Paul Edwards
date: 1996-01-02 04:13:42
subject: math functions

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)

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.