remove field casts
This commit is contained in:
parent
f2d1b0cf52
commit
3464f36414
7 changed files with 3 additions and 69 deletions
|
@ -1,4 +1,4 @@
|
|||
from "EMBED" import unpack, u64_to_bits, u32_to_bits, u16_to_bits, u8_to_bits, u8_from_bits, u16_from_bits, u32_from_bits, u64_from_bits;
|
||||
from "EMBED" import u64_to_bits, u32_to_bits, u16_to_bits, u8_to_bits, u8_from_bits, u16_from_bits, u32_from_bits, u64_from_bits;
|
||||
|
||||
// Cast a boolean array of size 8 to an 8-bit unsigned integer (u8)
|
||||
def cast(bool[8] input) -> u8 {
|
||||
|
@ -64,30 +64,6 @@ def cast<N, P>(bool[N] input) -> u64[P] {
|
|||
return r;
|
||||
}
|
||||
|
||||
// Cast a field element to an 8-bit unsigned integer (u8)
|
||||
def cast(field input) -> u8 {
|
||||
bool[8] bits = unpack(input);
|
||||
return u8_from_bits(bits);
|
||||
}
|
||||
|
||||
// Cast a field element to a 16-bit unsigned integer (u16)
|
||||
def cast(field input) -> u16 {
|
||||
bool[16] bits = unpack(input);
|
||||
return u16_from_bits(bits);
|
||||
}
|
||||
|
||||
// Cast a field element to a 32-bit unsigned integer (u32)
|
||||
def cast(field input) -> u32 {
|
||||
bool[32] bits = unpack(input);
|
||||
return u32_from_bits(bits);
|
||||
}
|
||||
|
||||
// Cast a field element to a 64-bit unsigned integer (u64)
|
||||
def cast(field input) -> u64 {
|
||||
bool[64] bits = unpack(input);
|
||||
return u64_from_bits(bits);
|
||||
}
|
||||
|
||||
// Cast an 8-bit unsigned integer (u8) to a boolean array of size 8 (bool[8])
|
||||
def cast(u8 input) -> bool[8] {
|
||||
return u8_to_bits(input);
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"entry_point": "./tests/tests/utils/casts/field.zok",
|
||||
"max_constraint_count": 0,
|
||||
"curves": ["Bn128"],
|
||||
"tests": [
|
||||
{
|
||||
"input": {
|
||||
"values": []
|
||||
},
|
||||
"output": {
|
||||
"Ok": {
|
||||
"value": []
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
from "utils/casts.zok" import cast;
|
||||
|
||||
// field -> u8
|
||||
// field -> u16
|
||||
// field -> u32
|
||||
// field -> u64
|
||||
|
||||
def main() {
|
||||
// field -> u8
|
||||
u8 v0 = cast(18f);
|
||||
assert(v0 == 0x12);
|
||||
|
||||
// field -> u16
|
||||
u16 v1 = cast(4660f);
|
||||
assert(v1 == 0x1234);
|
||||
|
||||
// field -> u32
|
||||
u32 v2 = cast(305419896f);
|
||||
assert(v2 == 0x12345678);
|
||||
|
||||
// field -> u64
|
||||
u64 v3 = cast(1311768465173141112f);
|
||||
assert(v3 == 0x1234567812345678);
|
||||
return;
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"entry_point": "./tests/tests/utils/casts/to_bits.zok",
|
||||
"entry_point": "./tests/tests/utils/casts/uint_to_bits.zok",
|
||||
"curves": ["Bn128"],
|
||||
"abi": false,
|
||||
"tests": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"entry_point": "./tests/tests/utils/casts/to_field.zok",
|
||||
"entry_point": "./tests/tests/utils/casts/uint_to_field.zok",
|
||||
"curves": ["Bn128"],
|
||||
"abi": false,
|
||||
"tests": [
|
Loading…
Reference in a new issue