**Syntax:**

**phase** *number* => *phase*

**Arguments and Values:**

*number*---a *number*.

*phase*---a *number*.

**Description:**

**phase** returns the phase of *number* (the angle part of its polar representation) in radians, in the range -<PI> (exclusive) if minus zero is not supported, or -<PI> (inclusive) if minus zero is supported, to <PI> (inclusive). The phase of a positive *real* number is zero; that of a negative *real* number is <PI>. The phase of zero is defined to be zero.

If *number* is a *complex float*, the result is a *float* of the same *type* as the components of *number*. If *number* is a *float*, the result is a *float* of the same *type*. If *number* is a *rational* or a *complex rational*, the result is a *single float*.

The branch cut for **phase** lies along the negative real axis, continuous with quadrant II. The range consists of that portion of the real axis between -<PI> (exclusive) and <PI> (inclusive).

The mathematical definition of **phase** is as follows:

`(phase `*x*`) = (atan (imagpart `*x*`) (realpart `*x*`))`

**Examples:**

(phase 1) => 0.0s0 (phase 0) => 0.0s0 (phase (cis 30)) => -1.4159266 (phase #c(0 1)) => 1.5707964

**Side Effects:** None.

**Affected By:** None.

**Exceptional Situations:**

Should signal **type-error** if its argument is not a *number*. Might signal **arithmetic-error**.

**See Also:**

Section 12.1.3.3 (Rule of Float Substitutability)

**Notes:** None.

The following X3J13 cleanup issues,