small fixes
This commit is contained in:
parent
e8d0cd5e96
commit
d9ab352c68
10
src/vm.c
10
src/vm.c
|
@ -96,10 +96,10 @@ uint32_t step_vm(Word *memory, uint32_t memory_size, uint32_t pc) {
|
|||
int32_t b_frac = b & Q16_16_FRACTION_MASK;
|
||||
|
||||
/* Compute terms with explicit casting to prevent overflow */
|
||||
int32_t term1 = a_int * b_int; /* Integer × Integer */
|
||||
int32_t term2 = a_int * b_frac; /* Integer × Fractional */
|
||||
int32_t term3 = a_frac * b_int; /* Fractional × Integer */
|
||||
int32_t term4 = a_frac * b_frac; /* Fractional × Fractional */
|
||||
int32_t term1 = a_int * b_int; /* Integer * Integer */
|
||||
int32_t term2 = a_int * b_frac; /* Integer * Fractional */
|
||||
int32_t term3 = a_frac * b_int; /* Fractional * Integer */
|
||||
int32_t term4 = a_frac * b_frac; /* Fractional * Fractional */
|
||||
|
||||
/* Scale terms back to Q16.16 (avoid shifting negative values) */
|
||||
int32_t scaled_term1 = term1;
|
||||
|
@ -209,7 +209,7 @@ uint32_t step_vm(Word *memory, uint32_t memory_size, uint32_t pc) {
|
|||
case OP_INT_TO_STRING: {
|
||||
int32_t v = memory[src1_addr].i;
|
||||
char buffer[MAX_LEN_INT32];
|
||||
int64_t n = v;
|
||||
int32_t n = v;
|
||||
bool neg = n < 0;
|
||||
if (neg)
|
||||
n = -n;
|
||||
|
|
Loading…
Reference in New Issue