make runtime compatible with wasm

This commit is contained in:
Li Jie
2025-04-08 16:50:47 +08:00
parent 7c81d9293b
commit be4737461a
183 changed files with 14122 additions and 647 deletions

View File

@@ -1,28 +1,34 @@
typedef union {
typedef union
{
double d;
float f;
long v;
float f;
long v;
long long ll;
} castUnion;
double llgoToFloat64(long v) {
double llgoToFloat64(long long v)
{
castUnion k;
k.v = v;
k.ll = v;
return k.d;
}
float llgoToFloat32(long v) {
float llgoToFloat32(int v)
{
castUnion k;
k.v = v;
return k.f;
}
long llgoFromFloat64(double v) {
long long llgoFromFloat64(double v)
{
castUnion k;
k.d = v;
return k.v;
return k.ll;
}
long llgoFromFloat32(float v) {
int llgoFromFloat32(float v)
{
castUnion k;
k.f = v;
return k.v;

View File

@@ -24,13 +24,13 @@ const (
)
//go:linkname ToFloat64 C.llgoToFloat64
func ToFloat64(v uintptr) float64
func ToFloat64(v int64) float64
//go:linkname ToFloat32 C.llgoToFloat32
func ToFloat32(v uintptr) float32
func ToFloat32(v int32) float32
//go:linkname FromFloat64 C.llgoFromFloat64
func FromFloat64(v float64) uintptr
func FromFloat64(v float64) int64
//go:linkname FromFloat32 C.llgoFromFloat32
func FromFloat32(v float32) uintptr
func FromFloat32(v float32) int32