I stumble on some simple prime generator implementation in basic C, it was supposed to be something like function returning array of size_t values:
Code:
size_t * primeGen(size_t _MAX_)
{
size_t primes[_MAX_];
int PrimeIndex = 2;
primes[0] = 2; primes[1] = 3;
for (size_t p = primes[1] ; p < _MAX_ ; p = p + 2)
{
int isPrime = 1;
for (size_t j = 1 ; j < primes[PrimeIndex] / 2 ; ++j )
{
if (p % primes[j] == 0) isPrime = 0;
}
if (isPrime)
{
primes[PrimeIndex] = p ; PrimeIndex++ ;
}
}return primes[PrimeIndex];
}
Code:
error: invalid conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘size_t*’ {aka ‘long unsigned int*’} [-fpermissive]
Tried to force casting size_t* on that return but it also doesn't work. Idk but I just keep forgetting everything about C, feels easier to do things in Cpp with vectors and strings modules etc.