User:Chrax

From Missouri Academy Wiki
Jump to navigation Jump to search

About Me

I am a Discoverer at the Academy. I am a programmer with moderate skill in perl and am beginning with C. I also know Java, but I don't consider that to be to my credit. I'm also interested in math, politics/religion (debates are fun at times) and education.

I plan on going to the University of Tulsa and majoring in CS, unless some crazy shit happens and MIT accepts me and pays me a ton of money to go.

I'm also a sysop, so you can email (or talk) me regarding abuses.

I've recently become interested in distributed computing, and I think the Academy has plenty of cycles it is not using. So I encourage you to join a program and start putting your spare processing power to good use.

Participate in the Rotten.com Dead Pool! And check out my profile.

GCS/M/ED/S d- s++: a--- C++ L+++ P++ E W++ N+ K w-- O- V-- PS+ PE- Y+ t X+ R- tv b++ D--- G++ e- h- r* y

Contact Me

I have:

  • A website
  • A livejournal
  • A Blogger
  • A gmail
  • A jabber account: chrax@jabber.org
  • An AIM account: chrostephir <defunct>
  • An MSN account: chrax25@hotmail.com <defunct>

Programming

Current Projects

  • Prime Generator
  • LITE (LITE Is a Text Editor) - In progress (not ready to expose to the world yet)

Help Wanted

Alpha Testers

Prime Generator v.80 is out and I need people that will go out of their way to break it and send me bug reports. I'll get around to creating a makefile by v.81, but for now just gcc -lgmp -Wall -oprime prime.c

Also note that you'll need to change where the files are if you don't want everything in /var/log/prime/. And don't hesitate to suggest features. I can't guarantee that I'll include them, because a) I'm not all that great b) your ideas might not be all that great.

Ass-Kicking Primality Test

Anybody that wants to take the time to look through the source of prime will see this ugly bit of C:

mpz_init_set_ui(test,3);

while(mpz_cmp(test,root) <= 0){

  /* int equiv: mod = thisnum % test; */
  mpz_mod(mod,thisnum,test);

  if(mpz_cmp_si(mod,0) == 0){
    mpz_clear(root);
    mpz_clear(mod);
    mpz_clear(test);
    return 0;
  }
  mpz_add_ui(test,test,2);
}

and might say "Wow, that's rather brutish, isn't there a GMP primality test or something?" and be quite justified in doing so. Yes there is a GMP primality test mpz_probab_prime_p, but as you might guess from its name, it returns a 1 if it's probably prime. This, frankly, isn't good enough, so until somebody comes up with a good primality test algorithm, we're sticking with the brute force method.

This is where you come in. Recently, three Indians came up with a deterministic time primality test. The problem is that I don't understand it well enough to implement it, and I don't have the time to spend on it any more. What I need is somebody who can take what they've got and turn it into a useful algorithm, and it doesn't need to be in C, it just needs to be something I can translate into C... say English or perl. In fact, getting this down would be so big, I expect we could submit it to the GMP guys to incorporate into a later release.