# `nupp.math.u64`
Unsigned 64-bit bit counts and prefix parity.
## Functions
### `andBits` _function_
```nupp
local andBits: @nosuspend function(a: uint64, b: uint64): uint64
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
| `b` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint64` | |
### `leadingZeros` _function_
```nupp
local leadingZeros: @nosuspend function(a: uint64): uint32
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint32` | |
### `popcount` _function_
```nupp
local popcount: @nosuspend function(a: uint64): uint32
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint32` | |
### `prefixXor` _function_
```nupp
local prefixXor: @nosuspend function(a: uint64): uint64
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint64` | |
### `sub` _function_
```nupp
local sub: @nosuspend function(a: uint64, b: uint64): uint64
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
| `b` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint64` | |
### `trailingZeros` _function_
```nupp
local trailingZeros: @nosuspend function(a: uint64): uint32
```
#### Arguments
| Name | Type | Description |
| --- | --- | --- |
| `a` | `uint64` | |
#### Returns
| Type | Description |
| --- | --- |
| `uint32` | |