173 lines
2.6 KiB
C
173 lines
2.6 KiB
C
/*
|
|
* $Id$
|
|
*/
|
|
|
|
#include <math.h>
|
|
|
|
#include "hbapi.h"
|
|
|
|
#ifndef M_PI_2
|
|
#define M_PI_2 1.57079632679489661923
|
|
#endif
|
|
|
|
HB_FUNC( ACOS )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
double dNumber = hb_parnd(1);
|
|
|
|
if( dNumber >= -1 && dNumber <= 1 )
|
|
hb_retnd( acos(dNumber) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( ASIN )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
double dNumber = hb_parnd(1);
|
|
|
|
if( dNumber >= -1 && dNumber <= 1 )
|
|
hb_retnd( asin(dNumber) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( ATAN )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
double dNumber = hb_parnd(1);
|
|
|
|
if( dNumber >= -M_PI_2 && dNumber <= M_PI_2 )
|
|
hb_retnd( atan(dNumber) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( COS )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( cos( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( COSH )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( cosh( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( LOG10 )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( log10( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( SIN )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( sin( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( SINH )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( sinh( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( TAN )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( tan( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( TANH )
|
|
{
|
|
if( hb_pcount() > 0 )
|
|
{
|
|
hb_retnd( tanh( hb_parnd(1) ) );
|
|
}
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd(0);
|
|
}
|
|
|
|
HB_FUNC( PI )
|
|
{
|
|
hb_retnd( 3.141592653589793 );
|
|
}
|
|
|
|
HB_FUNC( CEIL )
|
|
{
|
|
if( ISNUM( 1 ) )
|
|
hb_retnd( ceil( hb_parnd( 1 ) ) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd( 0 );
|
|
}
|
|
|
|
HB_FUNC( FLOOR )
|
|
{
|
|
if( ISNUM( 1 ) )
|
|
hb_retnd( floor( hb_parnd( 1 ) ) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd( 0 );
|
|
}
|
|
|
|
HB_FUNC( FRACTION )
|
|
{
|
|
if( ISNUM( 1 ) )
|
|
hb_retnd( hb_parnd( 1 ) - hb_parnl( 1 ) );
|
|
else
|
|
/* TODO: Error or return NAN */
|
|
hb_retnd( 0 );
|
|
}
|
|
|