Skip to content

Commit 4885745

Browse files
committed
correct conversions
1 parent e2c5f0e commit 4885745

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
kotlin version: 2.1.0-Beta2
2+
error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: Unknown. The daemon process output:
3+
1. Kotlin compile daemon is ready
4+

main.kar

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
lit f1 25
2-
call strings.cheekyfloat

src/main/kotlin/internals/instructions/xFloats/ftoi.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ import data.registers.RegisterType
44
import registers
55

66
fun XFloats.ftoi(registerX: RegisterType, register: RegisterType) {
7-
val valueFloat = registers.readX(registerX)
8-
registers.write(register, valueFloat.value)
7+
val valueLong = registers.readX(registerX)
8+
9+
if (valueLong.isDouble) {
10+
registers.writeX(registerX, Double.fromBits(valueLong.value).toLong())
11+
} else {
12+
registers.writeX(registerX, Float.fromBits(valueLong.value.toInt()).toLong())
13+
}
914
}
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package internals.instructions.xFloats
22

3-
import data.registers.FDRegister
43
import data.registers.RegisterType
54
import registers
65

76
fun XFloats.itof(register: RegisterType, registerX: RegisterType) {
8-
val valueLong = registers.read(register)
9-
registers.writeX(registerX, FDRegister(false, valueLong))
7+
val valueLong = registers.readX(register)
8+
if (valueLong.isDouble) {
9+
registers.writeX(registerX, valueLong.value.toDouble().toBits())
10+
} else {
11+
registers.writeX(registerX, valueLong.value.toFloat().toBits().toLong())
12+
}
13+
14+
1015
}

0 commit comments

Comments
 (0)