[ Arithmetic | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# asin(+Number, -Result)

Evaluates the trigonometric function asin(Number) and unifies the resulting value with Result.
Number
A number.
Result
A variable or float.

## Description

This predicate is used by the ECLiPSe compiler to expand evaluable arithmetic expressions. So the call to asin(Number, Result) is equivalent to
```    Result is asin(Number)
```
which should be preferred for portability.

In coroutining mode, if Number is uninstantiated, the call to asin/2 is delayed until this variable is instantiated.

### Modes and Determinism

• asin(+, -) is det

### Exceptions

(4) instantiation fault
Number is not instantiated (non-coroutining mode only).
(5) type error
Result is a number but not a float
(24) number expected
Number is not of a numeric type.
(24) number expected
Result is neither a number nor a variable.
(20) arithmetic exception
Illegal arithmetic operation: Number is greater than 1 or less than -1.
(141) unimplemented functionality
Argument is of type breal

## Examples

```Success:
asin(1.0, Result).           (gives Result = 1.5708)
asin(-0,5, Result).          (gives Result = -0.523599)
Fail:
asin(1, 0.0).
Error:
asin(A, 6.0).                  (Error 4).
asin(1, 3).                    (Error 5).
asin(2, Result).               (Error 20).
asin(4 + 2, -0.279415).        (Error 24).
asin(1, r).                    (Error 24).

```