From 0d671d4364fa0db76fca6584a97c51de02b9e220 Mon Sep 17 00:00:00 2001 From: A404M Date: Wed, 28 May 2025 13:52:10 +0330 Subject: add more stuff to lib fix use after free --- code/basic.felan | 795 +------------------------------------------------------ 1 file changed, 3 insertions(+), 792 deletions(-) (limited to 'code/basic.felan') diff --git a/code/basic.felan b/code/basic.felan index d8121c2..27d1796 100644 --- a/code/basic.felan +++ b/code/basic.felan @@ -1,792 +1,3 @@ -__plus__ :: (value:u8) -> u8 { - return value; -}; - -__plus__ :: (value:i8) -> i8 { - return value; -}; - -__plus__ :: (value:u16) -> u16 { - return value; -}; - -__plus__ :: (value:i16) -> i16 { - return value; -}; - -__plus__ :: (value:u32) -> u32 { - return value; -}; - -__plus__ :: (value:i32) -> i32 { - return value; -}; - -__plus__ :: (value:u64) -> u64 { - return value; -}; - -__plus__ :: (value:i64) -> i64 { - return value; -}; - -__minus__ :: (value:i8) -> i8 { - return @neg(value); -}; - -__minus__ :: (value:i16) -> i16 { - return @neg(value); -}; - -__minus__ :: (value:i32) -> i32 { - return @neg(value); -}; - -__minus__ :: (value:i64) -> i64 { - return @neg(value); -}; - -__sum__ :: (left:u8,right:u8) -> u8 { - return @add(left,right); -}; - -__sum__ :: (left:i8,right:i8) -> i8 { - return @add(left,right); -}; - -__sum__ :: (left:u16,right:u16) -> u16 { - return @add(left,right); -}; - -__sum__ :: (left:i16,right:i16) -> i16 { - return @add(left,right); -}; - -__sum__ :: (left:u32,right:u32) -> u32 { - return @add(left,right); -}; - -__sum__ :: (left:i32,right:i32) -> i32 { - return @add(left,right); -}; - -__sum__ :: (left:u64,right:u64) -> u64 { - return @add(left,right); -}; - -__sum__ :: (left:i64,right:i64) -> i64 { - return @add(left,right); -}; - -__sum__ :: (left:f16,right:f16) -> f16 { - return @add(left,right); -}; - -__sum__ :: (left:f32,right:f32) -> f32 { - return @add(left,right); -}; - -__sum__ :: (left:f64,right:f64) -> f64 { - return @add(left,right); -}; - -__sum__ :: (left:f128,right:f128) -> f128 { - return @add(left,right); -}; - -__sub__ :: (left:u8,right:u8) -> u8 { - return @sub(left,right); -}; - -__sub__ :: (left:i8,right:i8) -> i8 { - return @sub(left,right); -}; - -__sub__ :: (left:u16,right:u16) -> u16 { - return @sub(left,right); -}; - -__sub__ :: (left:i16,right:i16) -> i16 { - return @sub(left,right); -}; - -__sub__ :: (left:u32,right:u32) -> u32 { - return @sub(left,right); -}; - -__sub__ :: (left:i32,right:i32) -> i32 { - return @sub(left,right); -}; - -__sub__ :: (left:u64,right:u64) -> u64 { - return @sub(left,right); -}; - -__sub__ :: (left:i64,right:i64) -> i64 { - return @sub(left,right); -}; - -__sub__ :: (left:f16,right:f16) -> f16 { - return @sub(left,right); -}; - -__sub__ :: (left:f32,right:f32) -> f32 { - return @sub(left,right); -}; - -__sub__ :: (left:f64,right:f64) -> f64 { - return @sub(left,right); -}; - -__sub__ :: (left:f128,right:f128) -> f128 { - return @sub(left,right); -}; - -__mul__ :: (left:u8,right:u8) -> u8 { - return @mul(left,right); -}; - -__mul__ :: (left:i8,right:i8) -> i8 { - return @mul(left,right); -}; - -__mul__ :: (left:u16,right:u16) -> u16 { - return @mul(left,right); -}; - -__mul__ :: (left:i16,right:i16) -> i16 { - return @mul(left,right); -}; - -__mul__ :: (left:u32,right:u32) -> u32 { - return @mul(left,right); -}; - -__mul__ :: (left:i32,right:i32) -> i32 { - return @mul(left,right); -}; - -__mul__ :: (left:u64,right:u64) -> u64 { - return @mul(left,right); -}; - -__mul__ :: (left:i64,right:i64) -> i64 { - return @mul(left,right); -}; - -__mul__ :: (left:f16,right:f16) -> f16 { - return @mul(left,right); -}; - -__mul__ :: (left:f32,right:f32) -> f32 { - return @mul(left,right); -}; - -__mul__ :: (left:f64,right:f64) -> f64 { - return @mul(left,right); -}; - -__mul__ :: (left:f128,right:f128) -> f128 { - return @mul(left,right); -}; - -__div__ :: (left:u8,right:u8) -> u8 { - return @div(left,right); -}; - -__div__ :: (left:i8,right:i8) -> i8 { - return @div(left,right); -}; - -__div__ :: (left:u16,right:u16) -> u16 { - return @div(left,right); -}; - -__div__ :: (left:i16,right:i16) -> i16 { - return @div(left,right); -}; - -__div__ :: (left:u32,right:u32) -> u32 { - return @div(left,right); -}; - -__div__ :: (left:i32,right:i32) -> i32 { - return @div(left,right); -}; - -__div__ :: (left:u64,right:u64) -> u64 { - return @div(left,right); -}; - -__div__ :: (left:i64,right:i64) -> i64 { - return @div(left,right); -}; - -__div__ :: (left:f16,right:f16) -> f16 { - return @div(left,right); -}; - -__div__ :: (left:f32,right:f32) -> f32 { - return @div(left,right); -}; - -__div__ :: (left:f64,right:f64) -> f64 { - return @div(left,right); -}; - -__div__ :: (left:f128,right:f128) -> f128 { - return @div(left,right); -}; - -__mod__ :: (left:u8,right:u8) -> u8 { - return @mod(left,right); -}; - -__mod__ :: (left:i8,right:i8) -> i8 { - return @mod(left,right); -}; - -__mod__ :: (left:u16,right:u16) -> u16 { - return @mod(left,right); -}; - -__mod__ :: (left:i16,right:i16) -> i16 { - return @mod(left,right); -}; - -__mod__ :: (left:u32,right:u32) -> u32 { - return @mod(left,right); -}; - -__mod__ :: (left:i32,right:i32) -> i32 { - return @mod(left,right); -}; - -__mod__ :: (left:u64,right:u64) -> u64 { - return @mod(left,right); -}; - -__mod__ :: (left:i64,right:i64) -> i64 { - return @mod(left,right); -}; - -__greater__ :: (left:u8,right:u8) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:i8,right:i8) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:u16,right:u16) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:i16,right:i16) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:u32,right:u32) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:i32,right:i32) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:u64,right:u64) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:i64,right:i64) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:f16,right:f16) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:f32,right:f32) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:f64,right:f64) -> bool { - return @greater(left,right); -}; - -__greater__ :: (left:f128,right:f128) -> bool { - return @greater(left,right); -}; - -__smaller__ :: (left:u8,right:u8) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:i8,right:i8) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:u16,right:u16) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:i16,right:i16) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:u32,right:u32) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:i32,right:i32) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:u64,right:u64) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:i64,right:i64) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:f16,right:f16) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:f32,right:f32) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:f64,right:f64) -> bool { - return @smaller(left,right); -}; - -__smaller__ :: (left:f128,right:f128) -> bool { - return @smaller(left,right); -}; - -__greater_or_equal__ :: (left:u8,right:u8) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:i8,right:i8) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:u16,right:u16) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:i16,right:i16) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:u32,right:u32) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:i32,right:i32) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:u64,right:u64) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:i64,right:i64) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:f16,right:f16) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:f32,right:f32) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:f64,right:f64) -> bool { - return @greater_or_equal(left,right); -}; - -__greater_or_equal__ :: (left:f128,right:f128) -> bool { - return @greater_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:u8,right:u8) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:i8,right:i8) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:u16,right:u16) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:i16,right:i16) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:u32,right:u32) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:i32,right:i32) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:u64,right:u64) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:i64,right:i64) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:f16,right:f16) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:f32,right:f32) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:f64,right:f64) -> bool { - return @smaller_or_equal(left,right); -}; - -__smaller_or_equal__ :: (left:f128,right:f128) -> bool { - return @smaller_or_equal(left,right); -}; - -__equal__ :: (left:u8,right:u8) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:i8,right:i8) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:u16,right:u16) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:i16,right:i16) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:u32,right:u32) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:i32,right:i32) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:u64,right:u64) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:i64,right:i64) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:f16,right:f16) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:f32,right:f32) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:f64,right:f64) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:f128,right:f128) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:bool,right:bool) -> bool { - return @equal(left,right); -}; - -__equal__ :: (left:type,right:type) -> bool { - return @equal(left,right); -}; - -__not_equal__ :: (left:u8,right:u8) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:i8,right:i8) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:u16,right:u16) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:i16,right:i16) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:u32,right:u32) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:i32,right:i32) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:u64,right:u64) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:i64,right:i64) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:f16,right:f16) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:f32,right:f32) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:f64,right:f64) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:f128,right:f128) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:bool,right:bool) -> bool { - return @not_equal(left,right); -}; - -__not_equal__ :: (left:type,right:type) -> bool { - return @not_equal(left,right); -}; - -__logical_not__ :: (value:bool) -> bool { - return value == false; -}; - -__logical_and__ :: (left:bool,lazy right:bool) -> bool { - if left == false { - return false; - } else if right == false { - return false; - } else { - return true; - } -}; - -__logical_or__ :: (left:bool,lazy right:bool) -> bool { - if left == true { - return true; - } else if right == true { - return true; - } else { - return false; - } -}; - -__bitwise_not__ :: (value:u8) -> u8 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:i8) -> i8 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:u16) -> u16 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:i16) -> i16 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:u32) -> u32 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:i32) -> i32 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:u64) -> u64 { - return @bitwise_not(value); -}; - -__bitwise_not__ :: (value:i64) -> i64 { - return @bitwise_not(value); -}; - -__bitwise_and__ :: (left:u8,right:u8) -> u8 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:i8,right:i8) -> i8 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:u16,right:u16) -> u16 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:i16,right:i16) -> i16 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:u32,right:u32) -> u32 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:i32,right:i32) -> i32 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:u64,right:u64) -> u64 { - return @bitwise_and(left,right); -}; - -__bitwise_and__ :: (left:i64,right:i64) -> i64 { - return @bitwise_and(left,right); -}; - -__bitwise_xor__ :: (left:u8,right:u8) -> u8 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:i8,right:i8) -> i8 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:u16,right:u16) -> u16 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:i16,right:i16) -> i16 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:u32,right:u32) -> u32 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:i32,right:i32) -> i32 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:u64,right:u64) -> u64 { - return @bitwise_xor(left,right); -}; - -__bitwise_xor__ :: (left:i64,right:i64) -> i64 { - return @bitwise_xor(left,right); -}; - -__bitwise_or__ :: (left:u8,right:u8) -> u8 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:i8,right:i8) -> i8 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:u16,right:u16) -> u16 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:i16,right:i16) -> i16 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:u32,right:u32) -> u32 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:i32,right:i32) -> i32 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:u64,right:u64) -> u64 { - return @bitwise_or(left,right); -}; - -__bitwise_or__ :: (left:i64,right:i64) -> i64 { - return @bitwise_or(left,right); -}; - -__shift_left__ :: (left:u8,right:u8) -> u8 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:i8,right:i8) -> i8 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:u16,right:u16) -> u16 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:i16,right:i16) -> i16 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:u32,right:u32) -> u32 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:i32,right:i32) -> i32 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:u64,right:u64) -> u64 { - return @shift_left(left,right); -}; - -__shift_left__ :: (left:i64,right:i64) -> i64 { - return @shift_left(left,right); -}; - -__shift_right__ :: (left:u8,right:u8) -> u8 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:i8,right:i8) -> i8 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:u16,right:u16) -> u16 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:i16,right:i16) -> i16 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:u32,right:u32) -> u32 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:i32,right:i32) -> i32 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:u64,right:u64) -> u64 { - return @shift_right(left,right); -}; - -__shift_right__ :: (left:i64,right:i64) -> i64 { - return @shift_right(left,right); -}; - +@import("lib/operator.felan"); +@import("lib/types.felan"); +@import("lib/io.felan"); -- cgit v1.2.3