gnd

The int16 operation converts one input value into a 16-bit signed integer.

The operand may be

The conversion succeeds only if the value lies within the signed-16 range -32 768 … 32 767. If the operand is outside that range, is not recognisable as an integer, or is a float with a fractional part, int16 raises an error. The operation never alters its input; it returns a new value whose concrete type is 16-bit signed integer.

Syntax

[ $destination ] int16 value

Examples

Convert a decimal literal:

$short int16 12345     # $short holds int16 value 12345

Convert a hexadecimal string:

$hex   let  "0x7FFF"
$max16 int16 $hex      # $max16 is 32767

Convert the current _ in place:

let -12
int16                  # same as int16 _

Overflow triggers an error:

int16 40000            # error: overflow outside -32768..32767

Fractions are rejected:

int16 3.5              # error: fractional part not allowed

int16 always yields a single int16 value that obeys Gendo’s single-assignment rule; it never mutates existing variables and never produces multiple results.