Good stuff! A lot of this either already exists in base Julia or should. In
particular,
primes(n)<http://docs.julialang.org/en/latest/stdlib/base/?highlight=primes#Base.primes>
uses
BitArrays and the Sieve of Atkin to quickly generate the primes up to n and
isprime(n)<http://docs.julialang.org/en/latest/stdlib/base/?highlight=isprime#Base.isprime>
uses
the fast Miller-Rabin primality test to check if a particular number is
prime. The witnesses used for the algorithm are known to be fully correct
for everything up to 64-bit numbers, while for larger numbers (128-bit and
BigInts), the algorithm is probabilistic but extremely unlikely to
incorrectly deem a number to be prime. See
base/primes.jl<https://github.com/JuliaLang/julia/blob/master/base/primes.jl>for
implementation details. I think
gcdx(a,b)<http://docs.julialang.org/en/latest/stdlib/base/?highlight=gcdx#Base.gcdx>
already
implements the extended Euclidean division algorithm, but we could probably
be more explicit about that in the documentation. And of course
factor(n)<http://docs.julialang.org/en/latest/stdlib/base/?highlight=factor#Base.factor>factors
a number.
We could certainly incorporate the nextprime and prevprime functions,
although I'd want to do some research to make sure that we're using a
reasonably fast method. I suspect that using sieves is probably not very
efficient for large numbers.
Regarding the package registration questions, if you do
Pkg.register("Numbers") and/or Pkg.tag("Numbers") and then Pkg.publish() it
should do all the necessary things to tag a version and submit it to the
METADATA repo.
On Wed, Jan 8, 2014 at 8:06 AM, Hans W Borchers <[email protected]>wrote:
> Dear Julia users,
>
> I am using and programming Julia since a few days only.
> For learning purposes I have set up a Julia package Numbers at
>
> https://github.com/hwborchers/Numbers
>
> that can be installed as an unregistered package easily.
>
> I have two small questions here:
>
> (1) How can I add version numbers to packages on GitHub ?
>
> (2) After extending the package a bit, I would like it to become a
> registered package. Where would I send a request for this ?
>
> If you worry about the quality: It is a translation of an R package that
> lives
> on CRAN for some time now. Several people have downloaded and used it.
>
> Best
> Hans Werner
>
> P.S.:
> I would like to thank John Myles White for starting me with some tips and
> a good dose of encouragement.
>