VF_tanh VD_tanh VE_tanh
 VCF_tanh VCD_tanh VCE_tanh
 VFx_tanh VDx_tanh VEx_tanh
 VCFx_tanh VCDx_tanh VCEx_tanh
 Function Hyperbolic tangent function
 Syntax C/C++ #include int VF_tanh( fVector Y, fVector X, ui size ); int VFx_tanh( fVector Y, fVector X, ui size, float A, float B, float C ); C++ VecObj #include int vector::tanh( const vector& X ); int vector::x_tanh( const vector& X, const T& A, const T& B, const T& C ); Pascal/Delphi uses VFmath; function VF_tanh( Y, X:fVector; size:UIntSize ): IntBool; function VFx_tanh( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
 CUDA function C/C++ #include int cudaVF_tanh( fVector d_Y, fVector d_X, ui size ); int cudaVFx_tanh( fVector d_Y, fVector d_X, ui size, float A, float B, float C ); int cusdVFx_tanh( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C ); int VFcu_tanh( fVector h_Y, fVector h_X, ui size ); int VFxcu_tanh( fVector h_Y, fVector h_X, ui size, float A, float B, float C ); CUDA function Pascal/Delphi uses VFmath; function cudaVF_tanh( d_Y, d_X:fVector; size:UIntSize ): IntBool; function cudaVFx_tanh( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool; function cusdVFx_tanh( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool; function VFcu_tanh( h_Y, h_X:fVector; size:UIntSize ): IntBool; function VFxcu_tanh( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
Descriptionnormal versions:
 Yi = tanh( Xi ) = exp( Xi ) - exp( −Xi ) exp( Xi ) + exp( −Xi )

expanded versions:
Yi = C * tanh( A*Xi+B )
 Error handling These functions should be error-proof.
 Return value always FALSE (0).