Mian-Chowla sequence: Difference between revisions
Content added Content deleted
(→Sieve version: improved sieve management) |
(→Sieve version: typos) |
||
Line 1,913: | Line 1,913: | ||
« 39 DUP STWS / CEIL |
« 39 DUP STWS / CEIL |
||
« # 0b » 'x' 1 4 ROLL 1 SEQ |
« # 0b » 'x' 1 4 ROLL 1 SEQ |
||
» '<span style="color:blue">CSV</span>' STO <span style="color:grey">''@ ( size → { sieve } )''</span> |
» '<span style="color:blue">CSV</span>' STO <span style="color:grey">''@ ( size → { sieve } )''</span> |
||
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN''' |
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN''' |
||
Line 1,920: | Line 1,920: | ||
SWAP 1 - 39 MOD LASTARG / IP 1 + |
SWAP 1 - 39 MOD LASTARG / IP 1 + |
||
ROT SWAP DUP2 GET 2 5 ROLL ^ R→B OR PUT |
ROT SWAP DUP2 GET 2 5 ROLL ^ R→B OR PUT |
||
» |
» '<span style="color:blue">SSV</span>' STO <span style="color:grey">''@ ( val 'sieve' → )''</span> |
||
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN''' DROP2 0 '''ELSE''' |
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN''' DROP2 0 '''ELSE''' |
||
Line 1,926: | Line 1,926: | ||
ROT SWAP GET 2 ROT ^ R→B AND # 0b ≠ |
ROT SWAP GET 2 ROT ^ R→B AND # 0b ≠ |
||
'''END''' |
'''END''' |
||
» |
» '<span style="color:blue">SVS?</span>' STO <span style="color:grey">''@ ( val 'sieve' → boolean )''</span> |
||
« |
« 500 <span style="color:blue">CSV</span> 'Sums' STO { 1 } |
||
'''WHILE''' DUP2 SIZE > '''REPEAT''' |
'''WHILE''' DUP2 SIZE > '''REPEAT''' |
||
DUP DUP SIZE GET |
DUP DUP SIZE GET |
||
⚫ | |||
'''DO''' 1 + |
'''DO''' 1 + |
||
1 SF |
1 SF |
||
Line 1,940: | Line 1,941: | ||
1 |
1 |
||
1 3 PICK SIZE '''START''' GETI 'Sums' <span style="color:blue">SSV</span> '''NEXT''' |
1 3 PICK SIZE '''START''' GETI 'Sums' <span style="color:blue">SSV</span> '''NEXT''' |
||
DROP2 |
DROP2 + |
||
⚫ | |||
+ |
|||
'''END''' |
'''END''' |
||
SWAP DROP 'Sums' PURGE |
SWAP DROP 'Sums' PURGE |