aboutsummaryrefslogtreecommitdiff
path: root/code/basic.felan
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-28 13:52:10 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-28 13:52:10 +0330
commit0d671d4364fa0db76fca6584a97c51de02b9e220 (patch)
tree9e94b3eadb57c381f5e8d218e32aa8f8e41f2081 /code/basic.felan
parent5823be69762ac3d15869d4de65647f0b9ca82449 (diff)
add more stuff to lib
fix use after free
Diffstat (limited to 'code/basic.felan')
-rw-r--r--code/basic.felan795
1 files changed, 3 insertions, 792 deletions
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");