# Signum

**Signum** (`×`

), **Sign**, **Sign of**, or **Direction** is a monadic scalar function which returns the sign of a real or complex number. That is, it returns 0 when given an argument of 0, and otherwise returns a number with magnitude 1 given by dividing the argument by its own magnitude.

## Examples

The three possible results of Signum on a real argument are `0`

, `1`

, and `¯1`

.

```
× ¯3 0 5
¯1 0 1
```

In dialects with complex numbers, Signum is a somewhat more complicated function, and may return any unit complex number.

```
× 3j4
0.6J0.8
```

The result is still equal to the original number divided by its magnitude:

```
| 3j4
5
3j4 ÷ | 3j4
0.6J0.8
```

The magnitude of the result for a non-zero argument is always 1.

```
| × 3j4 ¯2j1 6j¯7
1 1 1
```

## Zero divided by zero

The identity `×z`

`z÷|z`

holds only when `z`

is not zero in most APLs. In "Zero Divided by Zero"^{[1]}, Eugene McDonnell gave this identity as a reason to define `0÷0`

to be equal to `0`

. In J, which took McDonnell's suggestion, the identity always holds. Dyalog APL and NARS2000 allow choosing division method though the default remains 1.

## See also

## External links

### Documentation

- Dyalog
- APLX
- J Dictionary, NuVoc
- BQN