From 2d127cb6943bbe03967ffda5bf023e9bda93b020 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Mon, 14 Oct 2019 09:03:11 +0300 Subject: [PATCH] tcc windows fixes --- vlib/builtin/int.v | 8 ++++++++ vlib/builtin/string.v | 14 +++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/vlib/builtin/int.v b/vlib/builtin/int.v index 919ffbe5d8..d2a3699db7 100644 --- a/vlib/builtin/int.v +++ b/vlib/builtin/int.v @@ -28,11 +28,19 @@ pub fn ptr_str(ptr voidptr) string { // compare floats using C epsilon // == pub fn (a f64) eq(b f64) bool { + $if tinyc { + return a -b <= 0.01 + } $else { return C.fabs(a - b) <= C.DBL_EPSILON + } } pub fn (a f32) eq(b f32) bool { + $if tinyc { + return a -b <= 0.01 + } $else { return C.fabsf(a - b) <= C.FLT_EPSILON } +} pub fn (a f64) eqbit(b f64) bool { return C.DEFAULT_EQUAL(a, b) } diff --git a/vlib/builtin/string.v b/vlib/builtin/string.v index 6d4b581e36..2e163219eb 100644 --- a/vlib/builtin/string.v +++ b/vlib/builtin/string.v @@ -197,15 +197,19 @@ pub fn (s string) f64() f64 { } pub fn (s string) u32() u32 { - return C.strtoul(*char(s.str), 0, 0) + $if tinyc { + return u32(s.int()) // TODO + } $else { + return C.strtoul(*char(s.str), 0, 0) + } } pub fn (s string) u64() u64 { - //$if tinyc { - //return u64(s.int()) // TODO - //} $else { + $if tinyc { + return u64(s.int()) // TODO + } $else { return C.strtoull(*char(s.str), 0, 0) - //} + } //return C.atoll(s.str) // temporary fix for tcc on windows. }