Next: , Previous: , Up: Arithmetic   [Contents][Index]

#### 5.5.4 Numeric comparison

Note that the words that compare for equality (```= <> 0= 0<> d= d<> d0= d0<>```) work for for both signed and unsigned numbers.

````<`       n1 n2 – f        core       “less-than”
```
````<=`       n1 n2 – f        gforth       “less-or-equal”
```
````<>`       n1 n2 – f        core-ext       “not-equals”
```
````=`       n1 n2 – f        core       “equals”
```
````>`       n1 n2 – f        core       “greater-than”
```
````>=`       n1 n2 – f        gforth       “greater-or-equal”
```
````0<`       n – f        core       “zero-less-than”
```
````0<=`       n – f        gforth       “zero-less-or-equal”
```
````0<>`       n – f        core-ext       “zero-not-equals”
```
````0=`       n – f        core       “zero-equals”
```
````0>`       n – f        core-ext       “zero-greater-than”
```
````0>=`       n – f        gforth       “zero-greater-or-equal”
```
````u<`       u1 u2 – f        core       “u-less-than”
```
````u<=`       u1 u2 – f        gforth       “u-less-or-equal”
```
````u>`       u1 u2 – f        core-ext       “u-greater-than”
```
````u>=`       u1 u2 – f        gforth       “u-greater-or-equal”
```
````within`       u1 u2 u3 – f        core-ext       “within”
```

u2<u3 and u1 in [u2,u3) or: u2>=u3 and u1 not in [u3,u2). This works for unsigned and signed numbers (but not a mixture). Another way to think about this word is to consider the numbers as a circle (wrapping around from `max-u` to 0 for unsigned, and from `max-n` to min-n for signed numbers); now consider the range from u2 towards increasing numbers up to and excluding u3 (giving an empty range if u2=u3); if u1 is in this range, `within` returns true.

````d<`       d1 d2 – f        double       “d-less-than”
```
````d<=`       d1 d2 – f        gforth       “d-less-or-equal”
```
````d<>`       d1 d2 – f        gforth       “d-not-equals”
```
````d=`       d1 d2 – f        double       “d-equals”
```
````d>`       d1 d2 – f        gforth       “d-greater-than”
```
````d>=`       d1 d2 – f        gforth       “d-greater-or-equal”
```
````d0<`       d – f        double       “d-zero-less-than”
```
````d0<=`       d – f        gforth       “d-zero-less-or-equal”
```
````d0<>`       d – f        gforth       “d-zero-not-equals”
```
````d0=`       d – f        double       “d-zero-equals”
```
````d0>`       d – f        gforth       “d-zero-greater-than”
```
````d0>=`       d – f        gforth       “d-zero-greater-or-equal”
```
````du<`       ud1 ud2 – f        double-ext       “d-u-less-than”
```
````du<=`       ud1 ud2 – f        gforth       “d-u-less-or-equal”
```
````du>`       ud1 ud2 – f        gforth       “d-u-greater-than”
```
````du>=`       ud1 ud2 – f        gforth       “d-u-greater-or-equal”
```

Next: , Previous: , Up: Arithmetic   [Contents][Index]