UInteger nthPrime(UInteger n) { Array *primes = arrayAlloc(); primesGetPrimes(n, primes); if(n >= primes->len) return 0; UInteger32 *a = primes->ptr; return a[n-1]; }
/* connect_fields - connect fields to form */ static int connect_fields(FORM *f, FIELD **x) { _PAGE * page; int nf, /* number of fields */ np; /* number of pages */ int i; f->field = x; f->maxfield = 0; f->maxpage = 0; if (!x) return (E_OK); /* null field array */ for (nf = 0, np = 0; x[nf]; ++nf) { if (nf == 0 || Status(x[nf], NEW_PAGE)) ++np; /* count pages */ if (x[nf]->form) return (E_CONNECTED); else x[nf]->form = f; /* connect field to form */ } if (nf == 0) return (E_BAD_ARGUMENT); /* no fields */ if (arrayAlloc(f->page, np, _PAGE)) { page = f->page; for (i = 0; i < nf; ++i) { if (i == 0) page->pmin = i; else if (Status(x[i], NEW_PAGE)) { page->pmax = i - 1; ++page; page->pmin = i; } merge(x[i], f); } page->pmax = nf - 1; f->maxfield = nf; f->maxpage = np; sort_form(f); return (E_OK); } return (E_SYSTEM_ERROR); }