1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

remove field casts

This commit is contained in:
dark64 2022-09-01 15:47:52 +02:00
parent f2d1b0cf52
commit 3464f36414
7 changed files with 3 additions and 69 deletions

View file

@ -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);

View file

@ -1,17 +0,0 @@
{
"entry_point": "./tests/tests/utils/casts/field.zok",
"max_constraint_count": 0,
"curves": ["Bn128"],
"tests": [
{
"input": {
"values": []
},
"output": {
"Ok": {
"value": []
}
}
}
]
}

View file

@ -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;
}

View file

@ -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": [

View file

@ -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": [