/*----------------------------------------------------------------------------------*/
/* Filename :   sl.h                                                                */
/* Author   :   Frederic Philippe                                                   */
/*          :   Marc Trabucato                                                      */
/* Target   :   PC                                                                  */
/*----------------------------------------------------------------------------------*/
 
/* -----------------15/04/98 17:45-------------------
 * Conversion : useless (avec version 24.04.98 11:32 (2513))
 * --------------------------------------------------*/
#ifndef _sl_H_
#define _sl_H_
 
/*----------------------------------------------------------------------------------*/
 
#include "MTH\Specif\SCA\SCA_sl.h"
 
/*----------------------------------------------------------------------------------*/
 
/* Define the type DNM_tdxReal */
#define td_sl   SCA_td_sl
 
/* Constants */
#define sl_ZERO     SCA_sl_C_ZERO
#define sl_ONE      SCA_sl_C_ONE
 
/* Comparisons */
#define sl_bGreater(_slOp1,_slOp2)       SCA_sl_M_bGreater(_slOp1,_slOp2)
#define sl_bGreaterEqual(_slOp1,_slOp2)  SCA_sl_M_bGreaterEqual(_slOp1,_slOp2)
#define sl_bLess(_slOp1,_slOp2)          SCA_sl_M_bLess(_slOp1,_slOp2)
#define sl_bLessEqual(_slOp1,_slOp2)     SCA_sl_M_bLessEqual(_slOp1,_slOp2)
#define sl_bEqual(_slOp1,_slOp2)         SCA_sl_M_bEqual(_slOp1,_slOp2)
#define sl_bDiferent(_slOp1,_slOp2)      SCA_sl_M_bDifferent(_slOp1,_slOp2)
#define sl_bIsNull(_slOp)                SCA_sl_M_bIsNull(_slOp)
#define sl_bEqualZero(_slOp)             SCA_sl_M_bIsNull(_slOp)
#define sl_bGreaterZero( A )             sl_bGreater( (A), sl_ZERO )
#define sl_bLessZero( A )                sl_bLess( (A), sl_ZERO )
#define sl_bDifferentZero( A )           sl_bDiferent( (A), sl_ZERO )
 
/* Conversions : Macros definitions           */
#define DoubleTosl(_dfValue) SCA_sl_M_slDoubleToReal(_dfValue)
#define FloatTosl(_fValue)   SCA_sl_M_slFloatToReal(_fValue)
#define IntTosl(_iValue)     SCA_sl_M_slIntToReal(_iValue)
 
#define sl12ToDouble(_sl12Value) SCA_sl12_M_RealToDouble(_sl12Value)
#define sl12ToFloat(_sl12Value)  SCA_sl12_M_RealToFloat(_sl12Value)
#define sl12ToInt(_sl12Value)    SCA_sl12_M_RealToInt(_sl12Value)
 
/* Operations */
#define sl_Add(_slOp1,_slOp2) SCA_sl_M_slAdd(_slOp1,_slOp2)
#define sl_Sub(_slOp1,_slOp2) SCA_sl_M_slSub(_slOp1,_slOp2)
#define sl_Mul(_slOp1,_slOp2) SCA_sl_M_slMul(_slOp1,_slOp2)
#define sl_Div(_slOp1,_slOp2) SCA_sl_M_slDiv(_slOp1,_slOp2)
 
#define sl_Inv(_slOp)  SCA_sl_M_slInv(_slOp)
#define sl_Neg(_slOp)  SCA_sl_M_slNeg(_slOp)
#define sl_Sqr(_slOp)  sl_Mul(_slOp,_slOp)
#define sl_Cub(_slOp)  sl_Mul(_slOp,sl_Sqr(_slOp))
#define sl_Sqrt(_slOp) SCA_sl_M_slSqrt(_slOp)
#define sl_Abs(_slOp)  SCA_sl_M_slAbs(_slOp)
#define sl_Add3(a,b,c) SCA_sl_M_slAdd3(a,b,c)
 
#define sl_Sin(_slOp) SCA_sl_M_slSin(_slOp)
#define sl_Cos(_slOp) SCA_sl_M_slCos(_slOp)
#define sl_Tan(_slOp) SCA_sl_M_slTan(_slOp)
 
#define sl_ASin(_slOp) SCA_sl_M_slASin(_slOp)
#define sl_ACos(_slOp) SCA_sl_M_slACos(_slOp)
 
/*----------------------------------------------------------------------------------*/
 
#endif
