Hello
I would like to know if there is a way to compute the Sieve of erastothenes with pure data
and spit out numbers which can be used for MIDI notes.
There used to be a simple unix program that i used but it no longer is available.
Has anyone tried this with pd? I found some Java code for it.
pp
/*************************************************************************
N Primes <= N
10 4
100 25
1,000 168
10,000 1,229
100,000 9,592
1,000,000 78,498
10,000,000 664,579
100,000,000 5,761,455
1,000,000,000 50,847,534
*************************************************************************/
public class PrimeSieve { public static void main(String[] args) { int N = Integer.parseInt(args[0]);
// initially assume all integers are prime
boolean[] isPrime = new boolean[N + 1];
for (int i = 2; i <= N; i++) {
isPrime[i] = true;
}
// mark non-primes <= N using Sieve of Eratosthenes
for (int i = 2; i*i <= N; i++) {
// if i is prime, then mark multiples of i as nonprime
// suffices to consider mutiples i, i+1, ..., N/i
if (isPrime[i]) {
for (int j = i; i*j <= N; j++) {
isPrime[i*j] = false;
}
}
}
// count primes
int primes = 0;
for (int i = 2; i <= N; i++) {
if (isPrime[i]) primes++;
}
System.out.println("The number of primes <= " + N + " is " + primes);
}
}
Patrick Pagano B.S, M.F.A Audio and Projection Design Faculty Digital Worlds Institute University of Florida, USA (352)294-2020
On 28/01/15 15:48, Pagano, Patrick wrote:
Hello
I would like to know if there is a way to compute the Sieve of erastothenes with pure data
why not load a text file containing a list of primes into a table? eg: http://primes.utm.edu/lists/small/millions/
the largest prime pd can handle is less than 16.3M (24bit floating point mantissa precision, pd-double could go a lot further), which makes just over 1M primes.
and spit out numbers which can be used for MIDI notes.
or use them for reverb delay line times, etc
There used to be a simple unix program that i used but it no longer is available.
Has anyone tried this with pd? I found some Java code for it.
should be relatively trivial to translate to Lua or C, doing it in Pd would be possible but boring and slow