Real Brainfuck
Jump to navigation
Jump to search
Real Brainfuck is a brainfuck variant that operates on the real-valued range {0, 1}. The tape starts with all cells set to 0.5. It also has a stack. This is a more usable version of an esolang i designed in the past.
It has the following instructions:
Instruction | Explanation |
---|---|
< | Move data pointer left on tape |
> | Move data pointer right on tape |
0 | Set current cell c to (c + 0) / 2 |
1 | Set current cell c to (c + 1) / 2 |
N | Set current cell c to 1 - c |
[ | Randomly choose between 0 and 1 with probability c. if zero jump past matching ] |
] | Randomly choose between 0 and 1 with probability c. if not zero jump back to matching [ |
^ | Push cell data to stack |
V | Pop item from stack to current cell |
& | Pops top two items on the stack, multiplies them together, and pushes the result back |
X | Pops top two items on the stack, averages them together, and pushes the result back |
, | Obtains real-valued or binary input from an implementation-dependent source and sets the cell to that value |
. | Outputs current real value |
q | Outputs either 0 or 1 with probability c |
Real Brainfuck 2 Variant: operates on all complex real numbers. It has support for abnormal probabilities and the following additional Instructions:
Instruction | Explanation |
---|---|
+ | c = c + 1 |
- | c = c - 1 |
; | c = c root of c |
\ | pop two items from stack, a & b, and push c: c = loga(b) |
/ | c = sin(c) |
z | c = c ^ pi |
: | pop two items from stack, a & b, and push c: c = a ^ b |
f | c = c ^^ 2 (c tetrate 2) |
e | set cell to transcendental number e |
p | set cell to transcendental number pi |
! | c = c! (multiplication factorial) |
? | c = c? (addition factorial) |
$ | c = c$ (exponential factorial) |
{ | begin ()infinite loop (finishes in finite time, hyperloop) |
} | end ()infinite loop (finishes in finite time, hyperloop) |