Prime Intirety

Since ancient times humanity knew that there are infinitely many primes — though countable, writing a complete list of every prime is impossible if one intends to finish.
However, in practice one often only considers a minute subset of the naturals to work with and think about. When writing low-level languages like C, one is nearly forced to forget about almost every natural number — the data type u_int_32, for example, is only capable of representing \{\mathbb{N}_0\ni n<2^{32}\}.
Therefore, it is possible to produce a complete list of every prime representable in thirty-two bits using standard bit pattern interpretation — the entirety of the first 203\,280\,221 primes.

Generating said list took about two minutes on a 4GHz Intel Core i7 using an elementary sieve approach written in C compiled with gcc -O2.
All primes are stored in little-endian format and packed densely together, requiring four bytes each.

Using the resulting file, one can quickly index the primes, for example p_{10^7} = 179\,424\,691 = \text{ab1cdb3}_{16} (using zero-based indexing). Since each prime is stored using four bytes, the prime’s index is scaled by a factor of four, resulting in its byte index.

dd status=none ibs=1 count=4 if=primes.bin skip=40000000 | xxd 
00000000: b3cd b10a                                ....

Source code: intirety.c
Prime list: primes.bin (775.5 MiB)

Advertisements

Circle Walk II

Continuing the idea from ‘Circle Walk’, I created ‘Circle Walk II’. In this program the entities get – based on their spawn time – a number (just to see the exact spawn time). As they spawn, they get put in a list. From this list their position around the center is calculated (in a similar way as in ‘Polygons’). Their distance to the center equals five times the number of entities (\text{distance to the center} = 5 \cdot \text{number of entities}), but cannot reach outside the screen. Their color is calculated based on their angle.

Usage

  • ‘Space’ to toggle if text is shown

The First ExampleThe Second ExampleThe Third Example


# Python 2.7.7 Code
# Pygame 1.9.1 (for Python 2.7.7)
# Jonathan Frech 15th of March, 2015
#         edited 30th of March, 2015
#     version II 1st  of April, 2015

Continue reading