Exemplo n.º 1
0
uint64_t algorithm() {
    uint64_t primeSum=2;
    cellList list;

    listInit(&list);
    listAdd(cellNew(2),&list);

    //printf("%"PRIu32" %"PRIu32"\n",list.first->value,list.last->value);

    for(uint64_t i=3; i<LIMIT; i++)
        if(isPrime(i,&list) == TRUE) {
            printf("-->%"PRIu64"\n",i);
            listAdd(cellNew(i),&list);
            primeSum+=i;
        }

    listDestroy(&list);
    return primeSum;
}
Exemplo n.º 2
0
static _Bool isPrime(uint64_t number, cellList* list) {
    cell* ptr = list->first;
    uint32_t counter=0;
    //printf("%"PRIu32"\n",list->volume);
    //printf("(%"PRIu64" %lu)\n",number,ptr->value);
    while(counter++<list->volume && ptr->value <= number/2) {
        if(number%ptr->value == 0)
            return FALSE;
        ptr = ptr->next;
    }
    listAdd(cellNew(number),list);

    return TRUE;
}
Exemplo n.º 3
0
Arquivo: parser.c Projeto: ihh/gertie
Cell* cellNewTok (Parser *parser, int j, int tok) {
  Cell *cell;
  cell = cellNew (parser, j);
  cell_get_p (cell, j-1, j, tok) = 1.;
  return cell;
}
Exemplo n.º 4
0
Arquivo: parser.c Projeto: ihh/gertie
void parserFinalizeRules (Parser *parser) {
  parser->cell[0] = cellNew (parser, 0);
}