F32 is default float, operator overloads turn literals into default types

This commit is contained in:
Krzosa Karol
2022-10-09 14:51:27 +02:00
parent 21ac6662c4
commit 54426fdd69
10 changed files with 64 additions and 64 deletions

View File

@@ -29,13 +29,13 @@ main :: (): int
// We can also tell the compiler to infer the type
this_is_s64_by_default := 10
this_is_f64_by_default := 10.1251
this_is_f32_by_default := 10.1251
this_is_string_by_default := "Thing"
// Reassigning values is exactly like in other languages
this_is_s64_by_default = 20
this_is_string_by_default = "Other_Thing"
this_is_f64_by_default = 15.1255
this_is_f32_by_default = 15.1255
// @todo: Add type_of operator!!!
// Assert(type_of(this_is_string_by_default) == String)
@@ -51,7 +51,7 @@ main :: (): int
// When it comes to runtime variables it's a bit different
// To do this we need a cast
combining_types := this_is_s64_by_default->F64 + this_is_f64_by_default
combining_types := this_is_s64_by_default->F32 + this_is_f32_by_default
Assert(s64val == 0 && s32val == 0 && s16val == 0 && s8val == 0 && intval == 0 && u64val == 0 && u32val == 0 && u16val == 0 && u8val == 0 && f64val == 0 && f32val == 0)
Assert(string_val[0] == 'S')
@@ -59,7 +59,7 @@ main :: (): int
Assert(signed_variable == 10 && unsigned_variable == 10)
Assert(INT_VALUE == 10)
Assert(FLOAT_VALUE == 124.125)
Assert(this_is_f64_by_default == 15.1255)
Assert(this_is_f32_by_default == 15.1255)
Assert(combining_types == 15.1255 + 20)
// Compound statements