-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cell-size-1.bf
62 lines (60 loc) · 2.26 KB
/
cell-size-1.bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Calculate (16*16*16*16)^128 AKA 2^2048
++[>++++++++<-]>[>++++++++<-]>[<<
+>>[-<<
[->++++++++++++++++<]>[-<++++++++++++++++>]<
[->++++++++++++++++<]>[-<++++++++++++++++>]<
>>]]<+<
// If that's not zero we have a bignum; probably
[
// Calculate 2^112 this is too large for any floating point type
// to treat as an integer
[-]>[-]>[-]+++++++<<
+>>[-<<
[->++++++++++++++++<]>[-<++++++++++++++++>]<
[->++++++++++++++++<]>[-<++++++++++++++++>]<
>>]<<
// If X and X minus one are the same we have a float type
[->+>+<<] >>- [-<->] +<
[[-]>
// Unknown or huge cell size
>>>>>[-]<[-]<[-]<[-]<[-]<[-]>++++++[<++++>-]<[>+++++>++++>+>++>+
++<<<<<-]>>>>>.<<<<---.>+++++++.--.>++++++++.<<------.+++.>>.<<-
---.+.-.>>>---.<<---.+++++++.<.>--------.<++++.+++++++.>>.<++.++
.<-------------..+++++++.>>.<+.<----.++++++.-------.>--.>>+.>[-]
<[-]<[-]<[-]<[-]<
<]
>[
// Floating point cells found
>>>>[-]<[-]<[-]<[-]<[-]>++++[<++++>-]<[>++++>+++++++>++++++>++<<
<<-]>++++++.>----.+++.>+.<+++++.>++++++++.+++++.-------.>.<<----
.-.>++.<-.++++++.>>.<------.++.+++++++..<-.>>.<------.<----.++++
++.-------.>--.>++++++++++++++.[-]<[-]<[-]<[-]<
]<
// Check for a compile problem
>[-]+++++[<++++++>-]<++ >+<[->[->++<]>[-<+>]<<]
#
>>+<[[-]>-<]>[
>[-]<[-]>++++++++[<++++>-]<.>++++++[<++++++>-]<+.+++++++++++
++..---.+++.[-]
]<<
#
<[-]]
>[>
// The cell is a binary type less than 2^2048; find exactly how
// many bits it is
>+[ [->++<]>[-<+>]<<+> ]<
// and print it
>>++++[<++++>-]<+[>++++++>+++++++>++>+++++<<<<-]>>>>-.<<<++.+.>-
---.>--.<<.+++++.>+.<---------.>--.--.++.<.>++.<.>--.>.<<+++.---
----.>+.>.>[-]<[-]<[-]<[-]<<
>[-]>[-]>[-]>[-]>[-]>[-]+>[-]+>[-]+>[-]+<<<<<<<<<[->>+>+<<<]>>>[
-<<<+>>>]<[>[-]>[-]<<[>+>+<<-]>>[<<+>>-]+++++++++<[>>>[-]+<<[>+>
[-]<<-]>[<+>-]>[<<++++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>
+<-]<[>+<-]>>>[<<<+>>>-]>>>[-]<<<+++++++++<[>>>[-]+<<[>+>[-]<<-]
>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<<[-]<<+>]<[>
[-]<[>+<-]+++++++[<+++++++>-]<-.[-]>>[<<+>>-]<<-]<
>>>[-]<[-]<[-]<[-]>++++[<++++>-]<[>++++++>+++++++>++<<<-]>++.+++
++++.>++++.>.<<------.++.+++++++..>-.>++++++++++++++.[-]<[-]<[-]
<
<[-]]<
[-]++++++++++.[-]