# 32-bit support

## **Expanded Value Range**

***

32-bit scripts increase numeric range drastically compared to 16-bit:

* 16-bit: –32,768 to +32,767
* **32-bit: –2,147,483,648 to +2,147,483,647**

This allows more complex calculations with far greater precision.

## **Increased Memory Space**

***

32-bit scripting supports a much larger addressable memory space, enabling more data and more sophisticated logic to be used inside GPC scripts.

**New Functions Added**

***

Three new GPC functions were introduced to leverage 32-bit capability:

* `get_ipolar()` — Retrieves analog stick input *before modification*
* `get_polar()` — Retrieves current stick angle or radius
* `get_info()` — Retrieves the active MK (Mouse/Keyboard) profile state

These functions provide more raw input data and programmatic control inside scripts.

## **Use of `int32` Variables**

***

A new 32-bit variable type (`int32`) allows larger values to be stored directly, beyond the 16-bit limit. This is especially useful for scales, accumulators, or data structures that exceed 32,767.

## **Extended Trace Support**

***

Three VM trace debug fields are now 32-bit capable (trace 1–3).\
This enables developers to observe and debug larger numeric values in real time via the Device Monitor.

## **Larger SPVAR Values**

***

32-bit SPVAR (script persistent variables) can hold much greater values, allowing:

* Better state tracking
* Complex accumulations without overflow
* More efficient bit packing
* Larger data storage inside variables

Compared to 16-bit SPVAR limits, this significantly expands what state can be tracked.
