Skip to content

Commit

Permalink
hacking
Browse files Browse the repository at this point in the history
  • Loading branch information
Grant Wuerker committed May 9, 2024
1 parent d96c8f7 commit 07e060a
Show file tree
Hide file tree
Showing 10 changed files with 781 additions and 680 deletions.
File renamed without changes.
469 changes: 0 additions & 469 deletions crates/library2/std/src/num.fe

This file was deleted.

156 changes: 156 additions & 0 deletions crates/library2/std/src/num/int/extend.fe
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
extern {
fn __u8_u16_extend(_ x: u8) -> u16
fn __u8_u32_extend(_ x: u8) -> u32
fn __u8_u64_extend(_ x: u8) -> u64
fn __u8_u128_extend(_ x: u8) -> u128
fn __u8_u256_extend(_ x: u8) -> u256
fn __u16_u32_extend(_ x: u16) -> u32
fn __u16_u64_extend(_ x: u16) -> u64
fn __u16_u128_extend(_ x: u16) -> u128
fn __u16_u256_extend(_ x: u16) -> u256
fn __u32_u64_extend(_ x: u32) -> u64
fn __u32_u128_extend(_ x: u32) -> u128
fn __u32_u256_extend(_ x: u32) -> u256
fn __u64_u128_extend(_ x: u64) -> u128
fn __u64_u256_extend(_ x: u64) -> u256
fn __u128_u256_extend(_ x: u128) -> u256
fn __i8_i16_extend(_ x: i8) -> i16
fn __i8_i32_extend(_ x: i8) -> i32
fn __i8_i64_extend(_ x: i8) -> i64
fn __i8_i128_extend(_ x: i8) -> i128
fn __i8_i256_extend(_ x: i8) -> i256
fn __i16_i32_extend(_ x: i16) -> i32
fn __i16_i64_extend(_ x: i16) -> i64
fn __i16_i128_extend(_ x: i16) -> i128
fn __i16_i256_extend(_ x: i16) -> i256
fn __i32_i64_extend(_ x: i32) -> i64
fn __i32_i128_extend(_ x: i32) -> i128
fn __i32_i256_extend(_ x: i32) -> i256
fn __i64_i128_extend(_ x: i64) -> i128
fn __i64_i256_extend(_ x: i64) -> i256
fn __i128_i256_extend(_ x: i128) -> i256
}

pub trait Extend<Out> {
fn extend(self) -> Out
}

impl Extend<u16> for u8 {
fn extend(self) -> u16 { __u8_u16_extend(self) }
}

impl Extend<u32> for u8 {
fn extend(self) -> u32 { __u8_u32_extend(self) }
}

impl Extend<u64> for u8 {
fn extend(self) -> u64 { __u8_u64_extend(self) }
}

impl Extend<u128> for u8 {
fn extend(self) -> u128 { __u8_u128_extend(self) }
}

impl Extend<u256> for u8 {
fn extend(self) -> u256 { __u8_u256_extend(self) }
}

impl Extend<u32> for u16 {
fn extend(self) -> u32 { __u16_u32_extend(self) }
}

impl Extend<u64> for u16 {
fn extend(self) -> u64 { __u16_u64_extend(self) }
}

impl Extend<u128> for u16 {
fn extend(self) -> u128 { __u16_u128_extend(self) }
}

impl Extend<u256> for u16 {
fn extend(self) -> u256 { __u16_u256_extend(self) }
}

impl Extend<u64> for u32 {
fn extend(self) -> u64 { __u32_u64_extend(self) }
}

impl Extend<u128> for u32 {
fn extend(self) -> u128 { __u32_u128_extend(self) }
}

impl Extend<u256> for u32 {
fn extend(self) -> u256 { __u32_u256_extend(self) }
}

impl Extend<u128> for u64 {
fn extend(self) -> u128 { __u64_u128_extend(self) }
}

impl Extend<u256> for u64 {
fn extend(self) -> u256 { __u64_u256_extend(self) }
}

impl Extend<u256> for u128 {
fn extend(self) -> u256 { __u128_u256_extend(self) }
}

impl Extend<i16> for i8 {
fn extend(self) -> i16 { __i8_i16_extend(self) }
}

impl Extend<i32> for i8 {
fn extend(self) -> i32 { __i8_i32_extend(self) }
}

impl Extend<i64> for i8 {
fn extend(self) -> i64 { __i8_i64_extend(self) }
}

impl Extend<i128> for i8 {
fn extend(self) -> i128 { __i8_i128_extend(self) }
}

impl Extend<i256> for i8 {
fn extend(self) -> i256 { __i8_i256_extend(self) }
}

impl Extend<i32> for i16 {
fn extend(self) -> i32 { __i16_i32_extend(self) }
}

impl Extend<i64> for i16 {
fn extend(self) -> i64 { __i16_i64_extend(self) }
}

impl Extend<i128> for i16 {
fn extend(self) -> i128 { __i16_i128_extend(self) }
}

impl Extend<i256> for i16 {
fn extend(self) -> i256 { __i16_i256_extend(self) }
}

impl Extend<i64> for i32 {
fn extend(self) -> i64 { __i32_i64_extend(self) }
}

impl Extend<i128> for i32 {
fn extend(self) -> i128 { __i32_i128_extend(self) }
}

impl Extend<i256> for i32 {
fn extend(self) -> i256 { __i32_i256_extend(self) }
}

impl Extend<i128> for i64 {
fn extend(self) -> i128 { __i64_i128_extend(self) }
}

impl Extend<i256> for i64 {
fn extend(self) -> i256 { __i64_i256_extend(self) }
}

impl Extend<i256> for i128 {
fn extend(self) -> i256 { __i128_i256_extend(self) }
}
4 changes: 4 additions & 0 deletions crates/library2/std/src/num/int/mod.fe
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/// Integer manipulation and operations.

pub type isize = i256
pub type usize = u256
Loading

0 comments on commit 07e060a

Please sign in to comment.