aboutsummaryrefslogtreecommitdiff
path: root/code
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-25 01:38:01 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-25 01:38:01 +0330
commite55d45bac0bbd3039118bffa7e6aaf01c04b991a (patch)
tree111bf667a2786fd593d05f5e562e1edc87c343fc /code
parent81c83f4233dba3851333cb69ab9727659e253d1b (diff)
add bitwise not and xor or
Diffstat (limited to 'code')
-rw-r--r--code/basic.felan129
-rw-r--r--code/main.felan13
2 files changed, 139 insertions, 3 deletions
diff --git a/code/basic.felan b/code/basic.felan
index cec6032..fd2772d 100644
--- a/code/basic.felan
+++ b/code/basic.felan
@@ -597,3 +597,132 @@ __logical_or__ :: (left:bool,lazy right:bool) -> bool {
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);
+};
+
diff --git a/code/main.felan b/code/main.felan
index 0258e17..a415607 100644
--- a/code/main.felan
+++ b/code/main.felan
@@ -20,12 +20,19 @@ main :: ()->void{
str2 := &c[0];
screenWidth :i32: 800;
screenHeight :i32: 450;
+ white :u32: 4294967295;
+ black :u32: 4278190080;
InitWindow(screenWidth,screenHeight,str);
- while (!WindowShouldClose()) {
+ while !WindowShouldClose() {
BeginDrawing();
- ClearBackground(@cast(4294967295,u32));
- DrawText(str2,@cast(190,i32),@cast(200,i32),@cast(20,i32),@cast(4278190080,u32));
+ ClearBackground(@cast(white,u32));
+ DrawText(str2,@cast(190,i32),@cast(200,i32),@cast(20,i32),@cast(black,u32));
EndDrawing();
}
CloseWindow();
};
+
+color :: (a:u8,r:u8,g:u8,b:u8)->u32{
+ t :u8= 255;
+ c := t&a;
+};