Class SSOZJ5

java.lang.Object
de.tilman_neumann.jml.primes.exact.SSOZJ5

public class SSOZJ5
extends java.lang.Object
This Java source file is a multiple threaded implementation to perform an extremely fast Segmented Sieve of Zakiya (SSoZ) to find Twin Primes <= N. Inputs are single values N, of 64-bits, 0 -- 2^64 - 1. Output is the number of twin primes <= N; the last twin prime value for the range; and the total time of execution. Run as Java application, and enter a range (comma or space separated) when asked in console. (Accept scientific notation) This java source file, and updates, will be available here: gist.github.com/Pascal66 Example : Please enter an range of integer (comma or space separated): 0 1e11 Logicals processors used = 12 Using Prime Generator parameters for given Pn 13 segment size = 524288 resgroups; seg array is [1 x 8192] 64-bits twinprime candidates = 4945055940 ; resgroups = 3330004 each 1485 threads has nextp[2 x 27287] array setup time = 0.015 secs perform twinprimes ssoz sieve 1485 of 1485 threads done sieve time = 4.538 secs last segment = 184276 resgroups; segment slices = 7 total twins = 224376048; last twin = 99999999762+/-1 total time = 4.553 secs Please enter an range of integer (comma or space separated): 0 1e12 Logicals processors used = 12 Using Prime Generator parameters for given Pn 13 segment size = 802816 resgroups; seg array is [1 x 12544] 64-bits twinprime candidates = 49450550490 ; resgroups = 33300034 each 1485 threads has nextp[2 x 78492] array setup time = 0.045 secs perform twinprimes ssoz sieve 1485 of 1485 threads done sieve time = 51.672 secs last segment = 384578 resgroups; segment slices = 42 total twins = 1870585220; last twin = 999999999960+/-1 total time = 51.717 secs The Jabari Zakiya code source files can be found here: gist.github.com/jzakiya Mathematical and technical basis for implementation are explained here: https://www.academia.edu/81206391/Twin_Primes_Segmented_Sieve_of_Zakiya_SSoZ_Explained This code is provided free and subject to copyright and terms of the GNU General Public License Version 3, GPLv3, or greater. License copy/terms are here: gnu.org/licenses Copyright (c) 2017-22 Jabari Zakiya -- jzakiya at gmail dot com Java version 0.21.5 - Pascal Pechard -- pascal at priveyes dot net Version Date: 2022/07/01
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static interface  SSOZJ5.Callback<T>  
  • Constructor Summary

    Constructors
    Constructor Description
    SSOZJ5()  
  • Method Summary

    Modifier and Type Method Description
    static java.math.BigInteger Bsqrt​(java.math.BigInteger x)  
    static java.lang.Long eModInv​(long a, long m)
    Returns the modular inverse of 'a' mod 'm' if it exists.
    static long gcd​(long a, long b)  
    static void main​(java.lang.String[] args)
    Only BigDecimal understand scientific notation

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SSOZJ5

      public SSOZJ5()
  • Method Details

    • main

      public static void main​(java.lang.String[] args)
      Only BigDecimal understand scientific notation
      Parameters:
      args -
    • Bsqrt

      public static java.math.BigInteger Bsqrt​(java.math.BigInteger x)
    • eModInv

      public static java.lang.Long eModInv​(long a, long m)
      Returns the modular inverse of 'a' mod 'm' if it exists. Make sure m > 0 and 'a' & 'm' are relatively prime.
    • gcd

      public static long gcd​(long a, long b)