Fix big casting bug in CALL, euler.kl is working now too

This commit is contained in:
Krzosa Karol
2022-06-10 22:51:32 +02:00
parent 37e56a0914
commit cf1237f449
5 changed files with 31 additions and 34 deletions

View File

@@ -3,7 +3,7 @@
// @todo: Add blocks of stmts that you can simply define inside a function etc.
entry :: ()
printf("\n")
print_str("\n")
euler1()
euler3()
@@ -18,7 +18,9 @@ euler1 :: ()
result += i
else if i % 5 == 0
result += i
printf("Euler1: %lld\n", result)
print_str("Euler1: ")
print_int(result)
print_str("\n")
//-----------------------------------------------------------------------------
@@ -61,23 +63,16 @@ euler3 :: ()
if n > 2
results[results_len++] = n
printf("Euler3: ")
print_str("Euler3: ")
is_correct: S64 = 1
for i := 0, i < results_len, i++
is_correct = is_correct * results[i]
printf("%lld ", results[i])
print_int(is_correct)
printf(":: %lld", is_correct)
print_str(":: ")
print_int(is_correct)
//-----------------------------------------------------------------------------
// Euler 4
//-----------------------------------------------------------------------------
print_int :: (i: S64)
printf("%lld ", i)
#foreign sqrt :: (v: F64): F64
#foreign printf :: (str: String, ...)
sqrt :: (v: F64): F64 #foreign
print_int :: (i: S64) #foreign
print_str :: (i: String) #foreign