Function: abs

abs is a function defined in floatfns.c.

Signature

(abs ARG)

Documentation

Return the absolute value of ARG.

Other relevant functions are documented in the number group.

Shortdoc

;; number
(abs -4)
    => 4

Source Code

// Defined in /usr/src/emacs/src/floatfns.c
{
  CHECK_NUMBER (arg);

  if (FIXNUMP (arg))
    {
      if (XFIXNUM (arg) < 0)
	arg = make_int (-XFIXNUM (arg));
    }
  else if (FLOATP (arg))
    {
      if (signbit (XFLOAT_DATA (arg)))
	arg = make_float (- XFLOAT_DATA (arg));
    }
  else
    {
      if (mpz_sgn (*xbignum_val (arg)) < 0)
	{
	  mpz_neg (mpz[0], *xbignum_val (arg));
	  arg = make_integer_mpz ();
	}
    }

  return arg;
}