Mian-Chowla sequence: Difference between revisions

Content added Content deleted
(→‎Sieve version: improved sieve management)
 
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>
» '<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>
» '<span style="color:blue">SVS?</span>' STO <span style="color:grey">''@ ( val 'sieve' → boolean )''</span>
« 50000 <span style="color:blue">CSV</span> 'Sums' STO 2 'Sums' <span style="color:blue">SSV</span> { 1 }
« 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
DUP 2 * 'Sums' <span style="color:blue">SSV</span>
'''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 +
DUP 2 * 'Sums' <span style="color:blue">SSV</span>
+
'''END'''
'''END'''
SWAP DROP 'Sums' PURGE
SWAP DROP 'Sums' PURGE