F32 is default float, operator overloads turn literals into default types
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user