README 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. * [[https://www.mersenneforum.org/mayer/README.html][Mlucas 20.1.1]]
  2. mlucas is an open-source (and free/libre) program for performing Lucas-Lehmer
  3. test on prime-exponent Mersenne numbers, that is, integers of the form
  4. 2 ^ p - 1, with prime exponent p. In short, everything you need to search for
  5. world-record Mersenne primes! It has been used in the verification of various
  6. Mersenne primes, including the 45th, 46th, 48th, 49th and 50th found Mersenne
  7. prime.
  8. You may use it to test any suitable number as you wish, but it is preferable
  9. that you do so in a coordinated fashion, as part of the Great Internet Mersenne
  10. Prime Search ([[https://www.mersenne.org/primes/][GIMPS]]).
  11. ** Usage
  12. [[https://www.mersenneforum.org/mayer/README.html][Online documentation]] is available.
  13. The help text can be found in the source code file:./upstream/help.txt
  14. On a Debian system, the help text is also installed as
  15. file:/usr/share/doc/mlucas/help.txt.gz
  16. ** Installation
  17. Run
  18. #+BEGIN_SRC
  19. ./configure
  20. make
  21. make check
  22. make install
  23. #+END_SRC
  24. to complete the installation.
  25. Normally, the configure script should guess your system configuration.
  26. However, you can always override it by passing flags to the configure script.
  27. Running test is optional. Run it if you want to be on the safe side.
  28. Below is a summary of notable options understood by the configure script.
  29. You can see all options by running ~./configure -h~.
  30. ** Options
  31. Run
  32. #+BEGIN_SRC
  33. ./configure -h
  34. #+END_SRC
  35. to see all options.
  36. ** Licensing
  37. Most of the files are licensed under the GNU General Public License version 2
  38. or later. Other files are under permissive licenses or in the public domain.
  39. See file:COPYING for details regarding licensing.
  40. ** Bugs
  41. [FIXME: This section is potentially outdated]
  42. The argument parser is buggy. The relative position of arguments is relevant
  43. to mlucas, the order of arguments in SYNOPSIS in mlucas(1) should be followed
  44. to avoid confusing the parser. Only 100, 1000 and 10000 are supported for
  45. iters flag. However, the parser will not reject unsupported arguments. Using
  46. unsupported arguments for -iters flag may trigger strange behaviour.
  47. For problems regarding the program mlucas, please contact the author
  48. Ernst W. Mayer <ewmayer AT aol DOT com>.
  49. For installation and documentation related problems regarding this package
  50. and this file:README, please contact
  51. Alex Vong <alexvong1995 AT protonmail DOT com>.
  52. See BUGS section in mlucas(1) for details.
  53. ** ROADMAP
  54. [FIXME: This section is potentially outdated]
  55. - simplify to reduce maintenance burden
  56. + replace autogen by guile
  57. + remove useless, duplicate files
  58. - documentation
  59. + use org-mode in various plain text files
  60. + replace pod with something lispy
  61. - configure script
  62. + use sane defaults
  63. + remove normal cflags, tricky flags
  64. + detect if compilers support certain flags in configure script
  65. - respect freedesktop standard
  66. + use file:~/.local/share/mlucas/ instead of file:~/.mlucas.d/
  67. - revert previous changes
  68. + replace use of ~mlucas_fopen()~ by ~fopen()~
  69. + and use ~chdir()~ instead
  70. + replace use of ~system("mkdir -p ...")~ with ~mkdir_p()~ from busybox
  71. + hence we can remove ~shell_quote()~ and friends
  72. - find out memory bugs
  73. + asan
  74. + ubsan
  75. + valgrind
  76. ** Copyright
  77. README - readme for Mlucas
  78. Copyright (C) 2015-2021 Alex Vong <alexvong1995 AT protonmail DOT com>
  79. This program is free software; you can redistribute it and/or
  80. modify it under the terms of the GNU General Public License
  81. as published by the Free Software Foundation; either version 2
  82. of the License, or (at your option) any later version.
  83. This program is distributed in the hope that it will be useful,
  84. but WITHOUT ANY WARRANTY; without even the implied warranty of
  85. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  86. GNU General Public License for more details.
  87. You should have received a copy of the GNU General Public License
  88. along with this program; if not, write to the Free Software Foundation,
  89. Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.