Thursday, September 27, 2012

GJSieve (Windows) Plans

In a perfect world, GJSieve would still use trial division, but in such a way that each operation took place in a separate process that communicated with others. It would then be a true sieve, which are designed to find factors, rather than a strange hybridization that also happens to tell you if the number might (likely) be prime.

Plans for other NCPrime applications are bouncing around everywhere - MuPuPriNT 1.2 for one, now that the reverse implementation is ready to be expanded to other types of numbers - but as far as GJSieve goes, I'd like to do this:
  • localize for Chinese (Traditional) and German
  • create a true 64-bit version
  • maintain a central database of previous tests so that you can see whether or not you've tested a specific number before and/or whether or not it was prime
The latter would be quite difficult to do (initially). The localization should be fairly straightforward in terms of resource files (simply localize satellite assembly files within Visual Studio) but time-intensive for everything else (user-visible runtime strings). The approach would have to be similar to how one localizes a Mac application using runtime macros.

Making a 64-bit version would actually be the easiest thing on this list to do. It would involve removing the intrinsic assembly code that finds and displays your CPU and RAM, but as that's simply an aesthetic feature (and distinguishes program screenshots to a degree), it shouldn't be missed too much!

Additionally, expanding GJSieve's interface and functionality to become MuPuPriNT would be considerably easier in a true 64-bit environment. I won't say too much on that now, as many of my initial ideas are likely wrong or based on incomplete information at the moment.

As an aside, it'd also be kind of cool to implement a function that takes a screenshot of the window...but I think I might have a way to do that already. 64-bit first, though.

MuPuPriNT later!

No comments:

Post a Comment