From cb1931c8dcfcaa92986da60d9a456c754d2247bd Mon Sep 17 00:00:00 2001 From: kuina Date: Fri, 17 Apr 2020 12:12:34 +0900 Subject: [PATCH] A trivial change. --- package/sys/lib.kn | 4 ++-- src/lib_common/lib.c | 10 ++++++++++ src/lib_common/lib.h | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/package/sys/lib.kn b/package/sys/lib.kn index 9eb149b7..da562ecc 100644 --- a/package/sys/lib.kn +++ b/package/sys/lib.kn @@ -117,10 +117,10 @@ end func +func [d0000.knd, _same] same(n1: float, n2: float): bool end func -+func toBit64Forcibly(x: float): bit64 ++func [d0000.knd, _toBit64Forcibly] toBit64Forcibly(x: float): bit64 end func -+func toFloatForcibly(x: bit64): float ++func [d0000.knd, _toFloatForcibly] toFloatForcibly(x: bit64): float end func +func [d0000.knd, _toRad] toRad(degree: float): float diff --git a/src/lib_common/lib.c b/src/lib_common/lib.c index a2b0b321..5e27db0b 100644 --- a/src/lib_common/lib.c +++ b/src/lib_common/lib.c @@ -510,6 +510,16 @@ EXPORT U64 _addr(SClass* me_) return (U64)me_; } +EXPORT U64 _toBit64Forcibly(double x) +{ + return *(U64*)&x; +} + +EXPORT double _toFloatForcibly(U64 x) +{ + return *(double*)&x; +} + void LibInit(void) { // Initialize the random number system. diff --git a/src/lib_common/lib.h b/src/lib_common/lib.h index 9d42cf2d..3c7841b7 100644 --- a/src/lib_common/lib.h +++ b/src/lib_common/lib.h @@ -53,6 +53,8 @@ EXPORT S64 _addChkOverflow(Bool* overflowed, S64 n1, S64 n2); EXPORT S64 _subChkOverflow(Bool* overflowed, S64 n1, S64 n2); EXPORT S64 _mulChkOverflow(Bool* overflowed, S64 n1, S64 n2); EXPORT U64 _addr(SClass* me_); +EXPORT U64 _toBit64Forcibly(double x); +EXPORT double _toFloatForcibly(U64 x); void LibInit(void);