original files of m241
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
/* math.h - math routines */
|
||||
|
||||
/* Copyright 1989-1995, 2010, 2017 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
modification history
|
||||
--------------------
|
||||
01q,09nov17,lau added prototype for ldexpf (VXW6-86052)
|
||||
01p,29apr10,pad Moved extern C statement after include statements.
|
||||
01o,08jul96,ms fixed prototype for fmodf (SPR 6856)
|
||||
01n,29mar95,kdl added prototype for __fixunssfsi() (gcc callout routine).
|
||||
01m,15oct92,rrr silenced warnings
|
||||
01l,22sep92,rrr added support for c++
|
||||
01k,19sep92,kdl added prototypes for gccMathInit, gccUssInit, gccUss040Init.
|
||||
01j,30jul92,kdl changed to ANSI single precision names (e.g. fsin -> sinf);
|
||||
merged various architectures; fixed 01i mod history.
|
||||
01i,08jul92,smb merged with ANSI math.h
|
||||
01h,04jul92,jcf cleaned up.
|
||||
01g,26may92,rrr the tree shuffle
|
||||
01f,04oct91,rrr passed through the ansification filter
|
||||
-fixed #else and #endif
|
||||
-changed copyright notice
|
||||
01e,16jul91,ajm added MIPS specific externs, and made MIPS unsupported
|
||||
functions 68k dependent
|
||||
01d,28jan91,kdl added single-precision, cbrt(), hypot(); changed def's of
|
||||
irint() and iround() to int; changed def of sincos() to void.
|
||||
01c,19oct90,elr ANSI cleaned up
|
||||
01b,05oct90,dnw deleted private routines.
|
||||
01a,23aug90,elr written.
|
||||
*/
|
||||
|
||||
#ifndef __INCmathh
|
||||
#define __INCmathh
|
||||
|
||||
#include "types/vxANSI.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ANSI-compatible definitions */
|
||||
|
||||
#define HUGE_VAL _ARCH_HUGH_VAL
|
||||
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
|
||||
/* ANSI-compatible functions */
|
||||
|
||||
extern double acos (double x);
|
||||
extern double asin (double x);
|
||||
extern double atan (double x);
|
||||
extern double atan2 (double y, double x);
|
||||
extern double ceil (double x);
|
||||
extern double cos (double x);
|
||||
extern double cosh (double x);
|
||||
extern double exp (double x);
|
||||
extern double fabs (double x);
|
||||
extern double floor (double x);
|
||||
extern double fmod (double x, double y);
|
||||
extern double frexp (double x, int *exponent);
|
||||
extern double ldexp (double x, int __exp);
|
||||
extern double log (double x);
|
||||
extern double log10 (double x);
|
||||
extern double modf (double x, double *pIntResult);
|
||||
extern double pow (double x, double y);
|
||||
extern double sin (double x);
|
||||
extern double sinh (double x);
|
||||
extern double sqrt (double x);
|
||||
extern double tan (double x);
|
||||
extern double tanh (double x);
|
||||
|
||||
|
||||
/* Single-precision versions of ANSI functions *
|
||||
* Not available on all VxWorks architectures. */
|
||||
|
||||
extern float acosf (float x);
|
||||
extern float asinf (float x);
|
||||
extern float atanf (float x);
|
||||
extern float atan2f (float x, float y);
|
||||
extern float ceilf (float x);
|
||||
extern float cosf (float x);
|
||||
extern float coshf (float x);
|
||||
extern float expf (float x);
|
||||
extern float fabsf (float x);
|
||||
extern float floorf (float x);
|
||||
extern float fmodf (float x, float y);
|
||||
extern float logf (float x);
|
||||
extern float log10f (float x);
|
||||
extern float powf (float x, float y);
|
||||
extern float sinf (float x);
|
||||
extern float sinhf (float x);
|
||||
extern float sqrtf (float x);
|
||||
extern float tanf (float x);
|
||||
extern float tanhf (float x);
|
||||
|
||||
/* Miscellaneous math functions *
|
||||
* Not available on all VxWorks architectures. */
|
||||
|
||||
extern double cbrt (double x);
|
||||
extern double hypot (double x, double y);
|
||||
extern double infinity (void);
|
||||
extern int irint (double x);
|
||||
extern int iround (double x);
|
||||
extern double log2 (double x);
|
||||
extern double rint (double x);
|
||||
extern double round (double x);
|
||||
extern void sincos (double x, double *pSinResult, double *pCosResult);
|
||||
extern double trunc (double x);
|
||||
|
||||
extern float cbrtf (float x);
|
||||
extern float hypotf (float x, float y);
|
||||
extern float infinityf (void);
|
||||
extern int irintf (float x);
|
||||
extern int iroundf (float x);
|
||||
extern float log2f (float x);
|
||||
extern float roundf (float x);
|
||||
extern void sincosf (float x, float *pSinResult, float *pCosResult);
|
||||
extern float truncf (float x);
|
||||
|
||||
/* VxWorks math library calls */
|
||||
|
||||
extern void floatInit (void);
|
||||
extern void mathHardInit (void);
|
||||
extern void mathSoftInit (void);
|
||||
extern void gccMathInit (void);
|
||||
extern void gccUssInit (void);
|
||||
extern void gccUss040Init (void);
|
||||
extern unsigned __fixunssfsi (long a);
|
||||
|
||||
/* C99 additions */
|
||||
|
||||
extern float ldexpf(float y, int x);
|
||||
extern long double ldexpl(long double y, int x);
|
||||
|
||||
#else /* !__STDC__ */
|
||||
|
||||
/* ANSI-compatible functions */
|
||||
|
||||
extern double acos ();
|
||||
extern double asin ();
|
||||
extern double atan ();
|
||||
extern double atan2 ();
|
||||
extern double ceil ();
|
||||
extern double cos ();
|
||||
extern double cosh ();
|
||||
extern double exp ();
|
||||
extern double fabs ();
|
||||
extern double floor ();
|
||||
extern double fmod ();
|
||||
extern double frexp ();
|
||||
extern double ldexp ();
|
||||
extern double log ();
|
||||
extern double log10 ();
|
||||
extern double modf ();
|
||||
extern double pow ();
|
||||
extern double sin ();
|
||||
extern double sinh ();
|
||||
extern double sqrt ();
|
||||
extern double tan ();
|
||||
extern double tanh ();
|
||||
|
||||
|
||||
/* Single-precision versions of ANSI functions *
|
||||
* Not available on all VxWorks architectures. */
|
||||
|
||||
extern float acosf ();
|
||||
extern float asinf ();
|
||||
extern float atanf ();
|
||||
extern float atan2f ();
|
||||
extern float ceilf ();
|
||||
extern float cosf ();
|
||||
extern float coshf ();
|
||||
extern float expf ();
|
||||
extern float fabsf ();
|
||||
extern float floorf ();
|
||||
extern float fmodf ();
|
||||
extern float logf ();
|
||||
extern float log10f ();
|
||||
extern float powf ();
|
||||
extern float sinf ();
|
||||
extern float sinhf ();
|
||||
extern float sqrtf ();
|
||||
extern float tanf ();
|
||||
extern float tanhf ();
|
||||
|
||||
/* Miscellaneous math functions *
|
||||
* Not available on all VxWorks architectures. */
|
||||
|
||||
extern double cbrt ();
|
||||
extern double hypot ();
|
||||
extern double infinity ();
|
||||
extern int irint ();
|
||||
extern int iround ();
|
||||
extern double log2 ();
|
||||
extern double rint ();
|
||||
extern double round ();
|
||||
extern void sincos ();
|
||||
extern double trunc ();
|
||||
|
||||
extern float cbrtf ();
|
||||
extern float hypotf ();
|
||||
extern float infinityf ();
|
||||
extern int irintf ();
|
||||
extern int iroundf ();
|
||||
extern float log2f ();
|
||||
extern float roundf ();
|
||||
extern void sincosf ();
|
||||
extern float truncf ();
|
||||
|
||||
/* VxWorks math library calls */
|
||||
|
||||
extern void floatInit ();
|
||||
extern void mathHardInit ();
|
||||
extern void mathSoftInit ();
|
||||
extern void gccMathInit ();
|
||||
extern void gccUssInit ();
|
||||
extern void gccUss040Init ();
|
||||
extern unsigned __fixunssfsi();
|
||||
|
||||
/* C99 additions */
|
||||
|
||||
extern float ldexpf();
|
||||
extern long double ldexpl();
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __INCmathh */
|
||||
Reference in New Issue
Block a user