diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-16 14:24:20 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-16 14:24:20 -0400 |
| commit | bac188ce07b957807d4c649cb5d4e5e253360278 (patch) | |
| tree | 928a64f7947fedeb73836566df2668bea4e75868 /environment.c | |
| parent | 04714e00d781235590553446301ac7e5818b3455 (diff) | |
Change division and modulus to use euclidean division, plus fix up a few
integer bugs
Diffstat (limited to 'environment.c')
| -rw-r--r-- | environment.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/environment.c b/environment.c index 5fa1b965..becf1291 100644 --- a/environment.c +++ b/environment.c @@ -115,13 +115,16 @@ env_t *new_compilation_unit(CORD *libname) {"format", "Int64$format", "func(i:Int64, digits=0)->Text"}, {"hex", "Int64$hex", "func(i:Int64, digits=0, uppercase=yes, prefix=yes)->Text"}, {"octal", "Int64$octal", "func(i:Int64, digits=0, prefix=yes)->Text"}, - {"random", "Int64$random", "func(min=-0x8000000000000000, max=0x7FFFFFFFFFFFFFFF)->Int64"}, + {"random", "Int64$random", "func(min=-0x8000000000000000_i64, max=0x7FFFFFFFFFFFFFFF_i64)->Int64"}, {"from_text", "Int64$from_text", "func(text:Text, the_rest=!&Text)->Int64"}, {"bits", "Int64$bits", "func(x:Int64)->[Bool]"}, {"abs", "labs", "func(i:Int64)->Int64"}, {"min", "Int64$min", "Int64"}, {"max", "Int64$max", "Int64"}, {"to", "Int64$to", "func(from:Int64,to:Int64)->Range"}, + {"divided_by", "Int64$divided_by", "func(x:Int64,y:Int64)->Int64"}, + {"modulo", "Int64$modulo", "func(x:Int64,y:Int64)->Int64"}, + {"modulo1", "Int64$modulo1", "func(x:Int64,y:Int64)->Int64"}, )}, {"Int32", Type(IntType, .bits=32), "Int32_t", "$Int32", TypedArray(ns_entry_t, {"format", "Int32$format", "func(i:Int32, digits=0)->Text"}, @@ -134,6 +137,9 @@ env_t *new_compilation_unit(CORD *libname) {"min", "Int32$min", "Int32"}, {"max", "Int32$max", "Int32"}, {"to", "Int32$to", "func(from:Int32,to:Int32)->Range"}, + {"divided_by", "Int32$divided_by", "func(x:Int32,y:Int32)->Int32"}, + {"modulo", "Int32$modulo", "func(x:Int32,y:Int32)->Int32"}, + {"modulo1", "Int32$modulo1", "func(x:Int32,y:Int32)->Int32"}, )}, {"Int16", Type(IntType, .bits=16), "Int16_t", "$Int16", TypedArray(ns_entry_t, {"format", "Int16$format", "func(i:Int16, digits=0)->Text"}, @@ -146,6 +152,9 @@ env_t *new_compilation_unit(CORD *libname) {"min", "Int16$min", "Int16"}, {"max", "Int16$max", "Int16"}, {"to", "Int16$to", "func(from:Int16,to:Int16)->Range"}, + {"divided_by", "Int16$divided_by", "func(x:Int16,y:Int16)->Int16"}, + {"modulo", "Int16$modulo", "func(x:Int16,y:Int16)->Int16"}, + {"modulo1", "Int16$modulo1", "func(x:Int16,y:Int16)->Int16"}, )}, {"Int8", Type(IntType, .bits=8), "Int8_t", "$Int8", TypedArray(ns_entry_t, {"format", "Int8$format", "func(i:Int8, digits=0)->Text"}, @@ -158,6 +167,9 @@ env_t *new_compilation_unit(CORD *libname) {"min", "Int8$min", "Int8"}, {"max", "Int8$max", "Int8"}, {"to", "Int8$to", "func(from:Int8,to:Int8)->Range"}, + {"divided_by", "Int8$divided_by", "func(x:Int8,y:Int8)->Int8"}, + {"modulo", "Int8$modulo", "func(x:Int8,y:Int8)->Int8"}, + {"modulo1", "Int8$modulo1", "func(x:Int8,y:Int8)->Int8"}, )}, #define C(name) {#name, "M_"#name, "Num"} #define F(name) {#name, #name, "func(n:Num)->Num"} |
