Skip to content

Commit 25b45ac

Browse files
Smit-createcertik
authored andcommitted
Add unsigned int types
1 parent a04d456 commit 25b45ac

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/libasr/ASR.asdl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,10 @@ expr
237237
| IntegerUnaryMinus(expr arg, ttype type, expr? value)
238238
| IntegerCompare(expr left, cmpop op, expr right, ttype type, expr? value)
239239
| IntegerBinOp(expr left, binop op, expr right, ttype type, expr? value)
240+
| UnsignedIntegerConstant(float re, float im, ttype type)
241+
| UnsignedIntegerUnaryMinus(expr arg, ttype type, expr? value)
242+
| UnsignedIntegerCompare(expr left, cmpop op, expr right, ttype type, expr? value)
243+
| UnsignedIntegerBinOp(expr left, binop op, expr right, ttype type, expr? value)
240244
| RealConstant(float r, ttype type)
241245
| RealUnaryMinus(expr arg, ttype type, expr? value)
242246
| RealCompare(expr left, cmpop op, expr right, ttype type, expr? value)
@@ -346,6 +350,7 @@ expr
346350

347351
ttype
348352
= Integer(int kind, dimension* dims)
353+
| UnsignedInteger(int kind, dimension* dims)
349354
| Real(int kind, dimension* dims)
350355
| Complex(int kind, dimension* dims)
351356
| Character(int kind, int len, expr? len_expr, dimension* dims)
@@ -402,6 +407,8 @@ cast_kind
402407
| RealToCharacter
403408
| IntegerToCharacter
404409
| LogicalToCharacter
410+
| UnsignedIntegerToInteger
411+
| IntegerToUnsignedInteger
405412

406413
dimension = (expr? start, expr? length)
407414

src/runtime/lpython/lpython.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from goto import with_goto
77

88
# TODO: this does not seem to restrict other imports
9-
__slots__ = ["i8", "i16", "i32", "i64", "f32", "f64", "c32", "c64", "CPtr",
9+
__slots__ = ["i8", "i16", "i32", "i64", "u8", "u16", "u32", "u64", "f32", "f64", "c32", "c64", "CPtr",
1010
"overload", "ccall", "TypeVar", "pointer", "c_p_pointer", "Pointer",
1111
"p_c_pointer", "vectorize", "inline", "Union", "static", "with_goto",
1212
"packed", "Const", "sizeof", "ccallable", "ccallback", "Callable"]
@@ -18,6 +18,10 @@
1818
"i16": int,
1919
"i32": int,
2020
"i64": int,
21+
"u8": lambda x: x,
22+
"u16": lambda x: x,
23+
"u32": lambda x: x,
24+
"u64": lambda x: x,
2125
"f32": float,
2226
"f64": float,
2327
"c32": complex,

0 commit comments

Comments
 (0)