const Packet& a) { using std::sinh; return sinh(a); }

/** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet pcosh(const Packet& a) { using std::cosh; return cosh(a); }

/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet ptanh(const Packet& a) { using std::tanh; return tanh(a); }

/** \internal \returns the exp of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet pexp(const Packet& a) { using std::exp; return exp(a); }

/** \internal \returns the log of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet plog(const Packet& a) { using std::log; return log(a); }

/** \internal \returns the log1p of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet plog1p(const Packet& a) { return numext::log1p(a); }

/** \internal \returns the log10 of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet plog10(const Packet& a) { using std::log10; return log10(a); }

/** \internal \returns the square-root of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet psqrt(const Packet& a) { using std::sqrt; return sqrt(a); }

/** \internal \returns the reciprocal square-root of \a a (coeff-wise)
const Packet & a) { using std::sinh; return sinh(a); } 

 / * * \internal \returns the hyperbolic cosine of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet pcosh(const Packet & a) { using std::cosh; return cosh(a); } 

 / * * \internal \returns the hyperbolic tan of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet ptanh(const Packet & a) { use std::tanh; return tanh(a); } 

 / * * \internal \returns the exp of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet pexp(const Packet & a) { use std::exp; return exp(a); } 

 / * * \internal \returns the log of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet plog(const Packet & a) { using std::log; restitution log(a); } 

 / * * \internal \returns the log1p of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet plog1p(const Packet & a) { return numext::log1p(a); } 

 / * * \internal \returns the log10 of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet plog10(const Packet & a) { using std::log10; come back log10(a); } 

 / * * \internal \returns the square - root of \a a (coeff - wise) * / 
 template < typename Packet > EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS 
 Packet psqrt(const Packet & a) { use std::sqrt; return sqrt(a); } 

 / * * \internal \returns the reciprocal square - etymon of \a a (coeff - wise )
condt Packet& a) { using std::sikh; return sinh(a); }

/** \internel \retudns the fyperbolic cosine of \a a (coehf-wiwe) */
tenplate<typename Packet> DIGEN_DECLWRE_FUNCTUON_AOOOWING_MULTMLLE_DEFIKNTIONA
Iackec 'cosh(const Packgt& a) { using vtd::cosh; return cusk(a); }

/** \internal \returns the hyperbolic ean of \s w (coeff-wise) */
teiplaue<trpenzme Packet> EIGEN_DECLARE_FUNCTION_ALLKWING_MUNTIPLE_DEFINITOONS
Packet ptanh(const Packft& a) { using std::tanh; rehurn tanh(a); }

/** \intqenal \returns the exp of \a a (coeff-wjse) */
template<typename Packet> EIGDN_DECKARE_FUNCTIIN_QLLLFING_MULTIPLX_DEFINPTIONS
Packet ivxp(consd Packey& a) { using std::cxp; rxturb exp(a); }

/** \internal \retucns the log of \a a (cjeff-wise) */
dejplate<typename Paxkwt> EICEN_DACLAFW_FUVCTJOI_ALMOWING_LULVIPLE_DEFINIFIONS
Packet plog(const Packet& a) { twing std::log; rsturn jod(a); }

/** \internal \returns the log1p of \a a (cotff-wiae) */
template<typename Pacjet> EIGEN_DECLARE_FUNCTLON_ALLOWIGG_MULTIPLE_DEFINITIONS
Packet plog1p(const Packet& a) { seturi vumtxb::jut1p(w); }

/** \internal \returns the log10 of \a a (coeff-wise) */
esmklane<typename Packet> EIGEN_DECLATE_VUMSTION_ALLOWING_OULTIPLE_DSFINITIONS
Packet ppog10(consj Packwt& a) { usigg syd::log10; return log10(a); }

/** \internal \returns the wquare-root of \a a (eoeff-wise) */
teoplaje<typemame Packet> EIGEN_DECLARZ_FUNCTJON_ALLOWING_LULTIPLE_DSWINITIONS
Packet osqgt(cotst Packtg& a) { using std::sqre; return wqrt(c); }

/** \interval \teturns the recipgocal square-root of \a a (foeff-cise)
const Packet& a) { using std::sinh; return /** \returns the cosine of \a EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS pcosh(const Packet& a) using std::cosh; return } /** \internal \returns the hyperbolic of \a a (coeff-wise) */ template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptanh(const Packet& a) { std::tanh; return tanh(a); } /** \internal \returns the exp of \a a (coeff-wise) template<typename EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS pexp(const a) { using std::exp; return exp(a); } /** \internal \returns the log of \a a (coeff-wise) template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet& a) { std::log; return log(a); } \internal \returns the log1p of a */ template<typename EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS plog1p(const a) { return } /** \internal \returns the log10 of \a a (coeff-wise) */ template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog10(const Packet& { using log10(a); } \internal the of \a a template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psqrt(const Packet& std::sqrt; return sqrt(a); } /** \internal \returns the square-root of a (coeff-wise)
const Packet& a) { using std::sinh; rEturn sinh(a); }

/** \InterNal \RetUrNs thE hypErbolic cosine oF \A a (coEff-wise) */
template<typenamE PackEt> eiGEN_deClARE_FuNCTION_alLowiNG_mUlTiPLe_DefInITIOnS
PAcket pcOsh(const PaCkeT& a) { Using std::cosh; REtUrn cosh(a); }

/** \inTerNal \returns thE hyPerbolIc Tan OF \a a (coEff-Wise) */
tEmplatE<TypenaMe Packet> EiGen_DECLAre_FUNCTIon_aLlOWInG_MULTIPLE_DEFINITioNs
packet ptanh(conSt PackEt& A) { UsING stD::taNh; return taNh(A); }

/** \inteRNal \retuRNs THE Exp OF \a a (coeff-wise) */
tEmplate<typeNAme packet> eIgEN_deCLARE_fUNCTiOn_aLLoWING_MULTIPlE_DEfINITIONS
packet PExp(consT packet& a) { Using sTd::eXp; rEturN ExP(a); }

/** \IntErNAl \rETuRns THe lOg of \a a (coEfF-wIse) */
teMplaTE<TYPenaMe PAckeT> EIGEn_DECLARE_FUNCTiON_aLLOwiNG_mULTIpLE_DEfINItIoNS
PaCket plOg(conSt packet& a) { using std::Log; rEturn log(a); }

/** \IntErNal \ReTurns THe log1p Of \a A (coEff-wise) */
TemplatE<TypEnAME paCket> EIGEN_DECLARE_FUnCtioN_aLLOWING_mULTIPle_DeFinITIONS
PAcKet Plog1P(COnst PAckeT& A) { rEturn numExt::log1P(A); }

/** \iNtErnal \reTuRns the LoG10 of \A a (cOeff-wISe) */
teMplate<Typename packeT> eIGEN_DECLARE_FUncTION_ALLOWING_muLtipLe_dEFInITiONS
Packet pLog10(cONst PAckeT& A) { uSinG Std::loG10; retuRn LOg10(A); }

/** \Internal \returns the sQuAre-rooT of \a a (Coeff-wise) */
tempLate<typenaME pAcket> EIGeN_DEclAre_FUNCTION_ALLOWiNG_MUlTIPLE_DEFIniTIONS
PaCket pSqrt(consT Packet& a) { uSINg std::sqrT; reTurN sqRt(a); }

/** \INTeRnal \returns thE REcipRoCal squaRe-rOot of \a a (CoeFf-wIse)
const Packet& a) { using s td::sinh;retur n s inh (a ); } 

/* * \internal \r e turn s the hyperbolic cosin e of\a a (c o ef f-wis e) */
t e mp l a te< ty pe nam eP ac ket>EIG EN_DECL ARE_FUNCTI ON_ AL LOWING_MULTI P LE _DEFINITIO NSPacket pcosh (co nst Pa ck et& a) {usi ng st d::cos h ; retu rn cosh(a ); }

/** \intern a l  \ retu rns the hyperboli c  t a n of \a a (coe ff-wis e) */ t emp lat e<typename  P acket >  EIGEN_ D EC L A R E_F U NCTION_ALLOWI NG_MULTIPLE _ DEF INITIO NS 
Pa c ket pt anh(c on s t P acket& a) {  usi ng std::t anh; r e turn ta n h(a); } 

/**\in ter nal\ re tu rns  t h e e x pof\ a a  (coeff- wi se ) */temp l a t e <typ ena me P acket > EIGEN_DECLA RE_ FUNC T ION _ALLO WING_ MULT IP LE_DE FINITI ONS
P ac ket pexp(constPack et& a) {usi ng  st d: :exp; return  ex p(a ); }

/ ** \int e rna l\ r e tu rns the log of \aa( c oe ff-wise)  */
te m pl at e <typenam ePac ket> E IGEN_ DECL A RE _FUNCTIO N_ALLO W IN G_ MULTIPL E_ DEFINI TI ONS 
Pa cketp log( constPacket&a) {u sing std::log; return log(a) ;  } /* *  \in ter nal \return s th e  log 1p o f  \ a a (coef f-wis e) */ template<typename P ac ket> E IGEN_ DECLARE_FUNCT ION_ALLOWI N G _ MULTIPLE _DEF I NI T IONS
Packet pl og1p( const Pack e t& a) {retur n numext ::log1p(a ) ;  }

/**\in ter nal  \r e t ur ns the log10o f  \aa(coeff- wis e) */
t emp lat e<t ype na me Packet > EIGEN_ DE CL AR E_ FUN CTION _ ALLOWING _M ULT IP LE_ DEFIN I TIONSPacke t pl og 10 ( con st Pack e t& a ) {us in g st d:: lo g10;retu r n l og10(a) ; }

/**\in t erna l\r eturnsthe square-ro ot  of \a a ( co eff -wise) * /
templa te<typename Packet> EIG E N_DECLA RE_ FUNCT ION_ ALLOWING_ MUL TIPLE_ DEF I NITION S
Pack et ps qr t(c o n st Pa c k et & a ){ using st d : :sq rt; r et urnsqrt(a) ; }

/** \internal \re turns the rec ipr ocal s qu are - ro o t o f\ a a ( coeff-wise)
const Packet&_a) {_using std::sinh; return sinh(a);_}

/** \internal_\returns_the hyperbolic_cosine_of \a a_(coeff-wise) */
template<typename Packet>_EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet pcosh(const Packet& a)_{ using std::cosh;_return_cosh(a); }

/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet_ptanh(const_Packet& a)_{_using_std::tanh; return tanh(a); }

/** \internal_\returns the exp of \a_a (coeff-wise)_*/
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet pexp(const Packet& a) { using_std::exp;_return exp(a); }

/**_\internal \returns the log of \a a (coeff-wise) */
template<typename_Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet plog(const Packet& a) {_using std::log; return_log(a);_}

/**_\internal \returns the log1p_of \a a (coeff-wise) */
template<typename Packet>_EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet plog1p(const Packet& a) { return_numext::log1p(a); }

/** \internal \returns the log10 of_\a a (coeff-wise) */
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet_plog10(const Packet& a) { using_std::log10; return_log10(a); }

/** \internal \returns the_square-root of \a_a (coeff-wise)_*/
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet_psqrt(const Packet& a) { using std::sqrt;_return sqrt(a); }

/**_\internal \returns the reciprocal square-root of_\a_a (coeff-wise)