Next: ACCESS, Previous: ABORT, Up: Intrinsic Procedures

### 8.3 `ABS` — Absolute value

Description:
  `ABS(A)` computes the absolute value of `A`.
Standard:
  Fortran 77 and later, has overloads that are GNU extensions
Class:
  Elemental function
Syntax:
  `RESULT = ABS(A)`
Arguments:

  A | The type of the argument shall be an `INTEGER`, `REAL`, or `COMPLEX`.

Return value:
  The return value is of the same type and kind as the argument except the return value is `REAL` for a `COMPLEX` argument.
Example:

                program test_abs
                  integer :: i = -1
                  real :: x = -1.e0
                  complex :: z = (-1.e0,0.e0)
                  i = abs(i)
                  x = abs(x)
                  x = abs(z)
                end program test_abs

Specific names:

  Name | Argument | Return type | Standard
  --- | --- | --- | ---
  `ABS(A)` | `REAL(4) A` | `REAL(4)` | Fortran 77 and later
  `CABS(A)` | `COMPLEX(4) A` | `REAL(4)` | Fortran 77 and later
  `DABS(A)` | `REAL(8) A` | `REAL(8)` | Fortran 77 and later
  `IABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | Fortran 77 and later
  `BABS(A)` | `INTEGER(1) A` | `INTEGER(1)` | GNU extension
  `IIABS(A)` | `INTEGER(2) A` | `INTEGER(2)` | GNU extension
  `JIABS(A)` | `INTEGER(4) A` | `INTEGER(4)` | GNU extension
  `KIABS(A)` | `INTEGER(8) A` | `INTEGER(8)` | GNU extension
  `ZABS(A)` | `COMPLEX(8) A` | `REAL(8)` | GNU extension
  `CDABS(A)` | `COMPLEX(8) A` | `REAL(8)` | GNU extension