pub enum ScalarKind {
Unsigned,
Signed,
}Expand description
Represents the kind of scalar value (signed vs unsigned integer).
This enum distinguishes between signed and unsigned integer types in circuit interfaces, allowing the system to properly serialize/deserialize values and generate correct Rust types.
§Examples
use arcis_interface::{Value, ScalarKind};
// Unsigned 32-bit integer (u32)
let unsigned = Value::Scalar {
size_in_bits: 32,
kind: ScalarKind::Unsigned
};
// Signed 32-bit integer (i32)
let signed = Value::Scalar {
size_in_bits: 32,
kind: ScalarKind::Signed
};Variants§
Unsigned
Unsigned integer type (u8, u16, u32, u64, u128).
This is the default for backward compatibility with existing circuits that were created before signed integer support was added.
Signed
Signed integer type (i8, i16, i32, i64, i128).
Signed integers use two’s complement representation in the MPC protocol.
Trait Implementations§
Source§impl Clone for ScalarKind
impl Clone for ScalarKind
Source§fn clone(&self) -> ScalarKind
fn clone(&self) -> ScalarKind
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ScalarKind
impl Debug for ScalarKind
Source§impl Default for ScalarKind
impl Default for ScalarKind
Source§fn default() -> ScalarKind
fn default() -> ScalarKind
Returns the “default value” for a type. Read more
Source§impl PartialEq for ScalarKind
impl PartialEq for ScalarKind
impl Copy for ScalarKind
impl Eq for ScalarKind
impl StructuralPartialEq for ScalarKind
Auto Trait Implementations§
impl Freeze for ScalarKind
impl RefUnwindSafe for ScalarKind
impl Send for ScalarKind
impl Sync for ScalarKind
impl Unpin for ScalarKind
impl UnwindSafe for ScalarKind
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)