![]() | Fun 0.41.5 The programming language that makes You have fun |
Implements the OP_ROTL opcode rotate-left (uint32). More...

Go to the source code of this file.
Functions | |
| free_value (vs) | |
| free_value (va) | |
| push_value (vm, make_int((int64_t)(uint64_t) r)) | |
Variables | |
| case | OP_ROTL |
| Value | va = pop_value(vm) |
| uint32_t | a = (va.type == VAL_INT) ? (uint32_t)va.i : 0u |
| uint32_t | s = (vs.type == VAL_INT) ? (uint32_t)vs.i : 0u |
| s &uint32_t | r = (s == 0u) ? a : ((a << s) | (a >> (32u - s))) |
| break | |
Implements the OP_ROTL opcode rotate-left (uint32).
Opcode snippet included by vm.c. Performs a 32-bit unsigned rotate-left of an integer operand by a masked rotation count.
Stack effects:
Notes:
Definition in file rol.c.
| free_value | ( | va | ) |
| free_value | ( | vs | ) |