//! @warning  Use it at your own risk.
//! @copyright *this file is FREEWARE. 
//! @file hyp_test.cpp
//! @author Dejan D. M. Milosavljevic
//! @version 1.0
//! @date 2003
//! @description Test for hyp.hpp.
//! @warning  Use it at your own risk.
//! @copyright *this file is FREEWARE. 

#include <iostream>
#include <iomanip>
#include <complex>

using namespace std;

#include "hyp.hpp"


int main_hyp( int argc, char *argv[] )
 {
  cout << "main_hyp" << endl;

  double I_dval;
  for( I_dval=1.999;  I_dval< 5999; I_dval += 0.001)
   {
    cout << "acosh( "  << I_dval << " ) = " << acosh(  I_dval ) << endl;
    cout << "acsech( " << I_dval << " ) = " << acsech( I_dval ) << endl;
    cout << "actanh( " << I_dval << " ) = " << actanh( I_dval ) << endl;
    cout << "asech( "  << I_dval << " ) = " << asech(  I_dval ) << endl;
    cout << "asinh( "  << I_dval << " ) = " << asinh(  I_dval ) << endl;
    cout << "atanh( "  << I_dval << " ) = " << atanh(  I_dval ) << endl;
    cout << "csech( "  << I_dval << " ) = " << csech(  I_dval ) << endl;
    cout << "ctanh( "  << I_dval << " ) = " << ctanh(  I_dval ) << endl;
    cout << "sech( "   << I_dval << " ) = " << sech(   I_dval ) << endl;
   }
   
   
  float I_fval;
  for( I_fval = float(-0.9999);  I_fval< float(0.999); I_fval += float( 0.1 ))
   {
    cout << "acosh( "  << I_fval << " ) = " << acosh(  I_fval ) << endl;
    cout << "acsech( " << I_fval << " ) = " << acsech( I_fval ) << endl;
    cout << "actanh( " << I_fval << " ) = " << actanh( I_fval ) << endl;
    cout << "asech( "  << I_fval << " ) = " << asech(  I_fval ) << endl;
    cout << "asinh( "  << I_fval << " ) = " << asinh(  I_fval ) << endl;
    cout << "atanh( "  << I_fval << " ) = " << atanh(  I_fval ) << endl;
    cout << "csech( "  << I_fval << " ) = " << csech(  I_fval ) << endl;
    cout << "ctanh( "  << I_fval << " ) = " << ctanh(  I_fval ) << endl;
    cout << "sech( "   << I_fval << " ) = " << sech(   I_fval ) << endl;
   }
  
   
  complex<double> I_cdval;
  for( I_dval =double( -5 );  I_dval< double( 5 ); I_dval += double( 0.1 ) )
   {
    I_cdval.real(I_dval);
    I_cdval.imag(I_dval);
    
    cout << "acosh( "  << I_cdval << " ) = " << acosh(  I_cdval ) << endl;
    cout << "acsech( " << I_cdval << " ) = " << acsech( I_cdval )  << endl;
    cout << "actanh( " << I_cdval << " ) = " << actanh( I_cdval ) << endl;
    cout << "asech( "  << I_cdval << " ) = " << asech(  I_cdval ) << endl;
    cout << "asinh( "  << I_cdval << " ) = " << asinh(  I_cdval ) << endl;
    cout << "atanh( "  << I_cdval << " ) = " << atanh(  I_cdval ) << endl;
    cout << "csech( "  << I_cdval << " ) = " << csech(  I_cdval ) << endl;
    cout << "ctanh( "  << I_cdval << " ) = " << ctanh(  I_cdval ) << endl;
    cout << "sech( "   << I_cdval << " ) = " << sech(   I_cdval ) << endl;
   }   
  
  //cin.get();
 
  return 0;
 }

