/*
 * $Id: math.txt 9312 2008-09-05 00:08:34Z vszakats $
 */

/*
 * Las siguientes partes son derechos adquiridos de sus autores individuales.
 * www - http://www.harbour-project.org
 *
 * Copyright 2001 Ricardo Ramrez R. <rramirez@crownlitometal.com>
 * Documentacin en Espaol de: ABS(), EXP(), LOG(), INT(), MAX()
 *                              MIN(), SQRT(), ROUND()
 *
 *      Basado en ../en/math.txt
 *
 * Vea doc/license.txt por los trminos de la licencia.
 *
 */

/*  $DOC$
 *  $FUNCNAME$
 *      ABS()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Devuelve el valor absoluto de un nmero.
 *  $SYNTAX$
 *      ABS(<nNumero>) --> <nAbsNumero>
 *  $ARGUMENTS$
 *      <nNumero> Cualquier nmero.
 *  $RETURNS$
 *      <nAbsNumero> El valor absoluto de un nmero.
 *  $DESCRIPTION$
 *      Esta funcin entrega el valor absoluto de un valor o una expresin
 *      <nNumero>.
 *  $EXAMPLES$
 *      Function Main()
 *
 *         Local nNumero  := 50
 *         Local nNumero1 := 27
 *
 *         qout( nNumero - nNumero1 )
 *         qout( nNumero1 - nNumero )
 *         qout( ABS(nNumero - nNumero1 ) )
 *         qout( ABS(nNumero1 - nNumero ) )
 *         qout( ABS( -1 * 345 ) )
 *      Return Nil
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      EXP(),INT()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      EXP()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Calcula el valor de e elevado a la potencia indicada.
 *  $SYNTAX$
 *      EXP( <nNumero> ) --> <nValor>
 *  $ARGUMENTS$
 *      <nNumero> Cualquier nmero real.
 *  $RETURNS$
 *      <nValor>  El anti-logaritmo de <nNumero>.
 *  $DESCRIPTION$
 *      Esta function devuelve el valor de e elevado a la potencia indicada
 *      en <nNumero>.  Es la contraria de LOG().
 *  $EXAMPLES$
 *      ? EXP(45)
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      LOG(),SET DECIMALS,SET FIXED
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      INT()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Devuelve la parte entera de un valor nmerico.
 *  $SYNTAX$
 *      INT( <nNumero> ) --> <nIntNumero>
 *  $ARGUMENTS$
 *      <nNumero> Cualquier valor nmerico.
 *  $RETURNS$
 *      <nIntNumero> La parte entera de un valor nmerico.
 *  $DESCRIPTION$
 *      Esta funcin convierte una expresin numrica en entero.  Todos
 *      lo dgitos decimales son truncados.  Esta funcin no redondea el
 *      valor ni por encima ni por debajo; simplemente trunca el valor
 *      desde el punto decimal.
 *  $EXAMPLES$
 *      SET Decimal to 5
 *      ? INT( 632512.62541 )
 *      ? INT( 845414111.91440 )
 *      </fixed>
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      ROUND(),STRZERO()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      LOG()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Devuelve el logaritmo natural de un nmero.
 *  $SYNTAX$
 *      LOG( <nNumero> ) --> <nLog>
 *  $ARGUMENTS$
 *      <nNumero> Cualquier expresin numrica.
 *  $RETURNS$
 *      <nExponente> El logaritmo natural de <nNumero>.
 *  $DESCRIPTION$
 *      Esta funcin devuelve el logaritmo natural del nmero <nNumero>.
 *      Si <nNumero> es 0 o menor que 0, se produce un desbordamiento
 *      numrico, el cual es mostrado en la pantalla como una serie de
 *      asteriscos.
 *      Esta funcin es la contraria de EXP().
 *  $EXAMPLES$
 *      ? LOG(632512)
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      EXP(),SET DECIMALS,SET FIXED
 *  $END$
 */


/*  $DOC$
 *  $FUNCNAME$
 *      MAX()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Devuelve el mayor de dos nmeros o fechas.
 *  $SYNTAX$
 *      MAX(<xValor>,<xValor1>)  --> <xMax>
 *  $ARGUMENTS$
 *      <xValor> Cualquier fecha o valor nmerico.
 *
 *      <xValor1> Cualquier fecha o valor nmerico (con el mismo tipo de
 *                <xValor>).
 *  $RETURNS$
 *      <xMax> El nmero mayor (o la fecha mayor).
 *  $DESCRIPTION$
 *      Esta funcin devuelve el mayor de las dos expresiones pasadas. Si
 *      <xValor> y <xValor1> son del tipo nmerico, el valor devuelto
 *      por esta funcin ser tambien numrico y ser el mayor de los
 *      numeros pasados a dicha funcin. Si <xValor> y <xValor1> son del
 *      tipo fecha el valor devuelto ser tambien de tipo fecha.  Este ser
 *      la mayor de ellas.
 *  $EXAMPLES$
 *      ? MAX( 214514214,6251242142 )
 *      ? MAX( CTOD('11/11/2000'), CTOD('21/06/2014') )
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      MIN()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      MIN()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Determina el menor de dos nmeros o fechas.
 *  $SYNTAX$
 *      MIN(<xValor>,<xValor1>)  --> <xMin>
 *  $ARGUMENTS$
 *      <xValor>  Cualquier fecha o valor numrico.
 *
 *      <xValor1> Cualquier fecha o valor numrico (con el mismo tipo de
 *                <xValor>).
 *  $RETURNS$
 *      <xMin>  El valor o fecha menor.
 *  $DESCRIPTION$
 *      Esta funcin devuelve el menor valor del par de expresiones
 *      recibidas <xValor> y <xValor1> deben ser del mismo tipo. Si es
 *      numrico, el menor valor es devuelto.  Si es fecha, la fecha menor
 *      es devuelta.
 *  $EXAMPLES$
 *      ? MIN(214514214,6251242142)
 *      ? MIN(CTOD('11/11/2000'),CTOD('21/06/2014')
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      MAX()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      MOD() *
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Devuelve el residuo de dos nmeros.
 *  $SYNTAX$
 *      MOD( <nNumero>,<nNumero1>) -->  <nResiduo>
 *  $ARGUMENTS$
 *      <nNumero>   Numerador en una expresin de divisin.
 *
 *      <nNumero1>  Denominador en una expresin de divisin.
 *  $RETURNS$
 *      <nResiduo>  El residuo despues de la operacin de divisin.
 *  $DESCRIPTION$
 *      Esta funcin devuleve el residuo de un nmero dividido entre otro.
 *  $EXAMPLES$
 *      ? MOD( 12,8.521 )
 *      ? MOD( 12,0 )
 *      ? MOD( 62412.5142,4522114.12014 )
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      %
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      SQRT()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Calcula la raz cuadrada de un nmero.
 *  $SYNTAX$
 *      SQRT( <nNumero> ) --> <nSqrt>
 *  $ARGUMENTS$
 *      <nNumero> Cualquier valor numrico.
 *  $RETURNS$
 *      <nSqrt>   La raz cuadrada de <nNumero>.
 *  $DESCRIPTION$
 *      Esta funcin devuelve la raz cuadrada de <nNumero>.  La presicin
 *      de esta evaluacin esta basada nicamente en la asignacin del
 *      comando SET DECIMAL TO
 *      Cualquier nmero negativo pasado como <nNumero> siempre retornar 0.
 *  $EXAMPLES$
 *      SET Decimal to 5
 *      ? SQRT( 632512.62541 )
 *      ? SQRT( 845414111.91440 )
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      ROUND(),SET DECIMALS,SET FIXED
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      ROUND()
 *  $CATEGORY$
 *      Matemticas
 *  $ONELINER$
 *      Redondea una expresin numrica.
 *  $SYNTAX$
 *      ROUND( <nNumero>, <nLugares> ) --> <nResultado>
 *  $ARGUMENTS$
 *      <nNumero>    Cualquier valor numrico.
 *
 *      <nLugares>   El nmero de lugares decimales a redondear.
 *  $RETURNS$
 *      <nResultado> El nmero redondeado.
 *  $DESCRIPTION$
 *      Esta funcin redondea el valor de <nNumero> a la cantidad de lugares
 *      decimales especificados en <nLugares>. Si el valor de <nLugares> es
 *      un nmero negativo, la funcin intentar redondear <nNumero> en el
 *      nmero completo. Nmeros de 5 a 9 sern redondeados hacia arriba, el
 *      resto redondeados hacia abajo.
 *  $EXAMPLES$
 *      ? ROUND(632512.62541,5)
 *      ? ROUND(845414111.91440,3)
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Esta es una funcin compatible con CA-Cl*pper.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $SEEALSO$
 *      INT(),SET DECIMALS,SET FIXED,STR(),VAL()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_getMathError()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Obtener el ltimo error de la librera matemtica.
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_getMathError (void) --> int iMathError
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Retorna el ltimo error matemtico
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_setMathError(),hb_resetMathError()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_resetMathError()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Inicializa el error matemtico.
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_resetMathError (void) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Pone en cero (No hay error) a la variable donde se conservan los
 *      errores matemticos
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_isMathHandler()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_isMathHandler()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Verifica si el manejador de errores de Harbour esta disponible.
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_isMathHandler (void) --> int iIsMathHandler
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_installMathHandler(),hb_getMathHandlerStatus()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_installMathHandler()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Agrega un manejador de errores definido por el usuario
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_installMathHandler (HB_MATH_HANDLERPROC handlerproc)
 *                              --> HB_MATH_HANDLERHANDLE handle
 *  $ARGUMENTS$
 *      <handlerproc> Manejador para el manejador de errores
 *  $RETURNS$
 *      <handle>      Identificador del manejador en la cadena de
 *                    identificadores.
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_deinstallMathHandler()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_deinstallMathHandler()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Quita un manejador de errores definido por el usuario.
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_deinstallMathHandler (HB_MATH_HANDLERHANDLE handle)
 *                                --> int iSuccess
 *  $ARGUMENTS$
 *      <handle>      Identificador devuelto por hb_installMathHandler()
 *  $RETURNS$
 *      <iSuccess>    Como termino el proceso.
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_installMathHandler()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_setMathHandlerStatus()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Pone el estado del manejador de errores definido por el usuario
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_setMathHandlerStatus (HB_MATH_HANDLERHANDLE handle, int status)
 *                                --> int iSuccess
 *  $ARGUMENTS$
 *      <handle>      Identificador devuelto por hb_installMathHandler()
 *      <status>      nuevo valor del estado, puede ser uno de los
 *                    siguientes:
 *                       HB_MATH_HANDLER_STATUS_INACTIVE
 *                         --> identificador presente pero no activo
 *                       HB_MATH_HANDLER_STATUS_ACTIVE
 *                         --> identificador presente y activo
 *  $RETURNS$
 *      iSuccess      Como termino el proceso.
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_getMathHandlerStatus()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_getMathHandlerStatus()
 *  $CATEGORY$
 *      Matemticas API
 *  $ONELINER$
 *      Lee el estado del manejador de errores definido por el usuario
 *  $SYNTAX$
 *      C Prototype
 *
 *      #include <hbmath.h>
 *      hb_getMathHandlerStatus (HB_MATH_HANDLERHANDLE handle)
 *                                --> int iStatus
 *  $ARGUMENTS$
 *      <handle>      Identificador devuelto por hb_installMathHandler()
 *  $RETURNS$
 *      <iStatus>     Estado del manejador de errores.
 *  $DESCRIPTION$
 *
 *  $EXAMPLES$
 *
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      Se encuentra en la librera rtl
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_setMathHandlerStatus()
 *  $END$
 */


