test_class.file: core/src/test/java/dk/alexandra/fresco/framework/util/TestModulusFinder.java
test_class.identifier: TestModulusFinder
test_case.body: @Test
    public void testFindSuitableHit() {
      BigInteger expected = new BigInteger("65519");
      assertEquals(expected, ModulusFinder.findSuitableModulus(16));
    }
test_case.class_method_signature: TestModulusFinder.testFindSuitableHit()
test_case.full_signature: @Test public void testFindSuitableHit()
test_case.identifier: testFindSuitableHit
test_case.invocations: assertEquals findSuitableModulus
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFindSuitableHit()
focal_class.declarator: precomputed = new HashMap<>()
focal_class.modifier: private static final
focal_class.original_string: private static final HashMap<Integer, BigInteger> precomputed = new HashMap<>();
focal_class.type: HashMap<Integer, BigInteger>
focal_class.var_name: precomputed
focal_class.declarator: TWO = BigInteger.valueOf(2)
focal_class.modifier: private static final
focal_class.original_string: private static final BigInteger TWO = BigInteger.valueOf(2);
focal_class.type: BigInteger
focal_class.var_name: TWO
focal_class.declarator: THREE = BigInteger.valueOf(3)
focal_class.modifier: private static final
focal_class.original_string: private static final BigInteger THREE = BigInteger.valueOf(3);
focal_class.type: BigInteger
focal_class.var_name: THREE
focal_class.declarator: CERTAINTY = 1024
focal_class.modifier: private static final
focal_class.original_string: private static final int CERTAINTY = 1024;
focal_class.type: int
focal_class.var_name: CERTAINTY
focal_class.file: core/src/main/java/dk/alexandra/fresco/framework/util/ModulusFinder.java
focal_class.identifier: ModulusFinder
focal_class.class_method_signature: ModulusFinder.ModulusFinder()
focal_class.full_signature: private  ModulusFinder()
focal_class.identifier: ModulusFinder
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  ModulusFinder()
focal_class.class_method_signature: ModulusFinder.areCoprime(BigInteger a, BigInteger b)
focal_class.full_signature: private static boolean areCoprime(BigInteger a, BigInteger b)
focal_class.identifier: areCoprime
focal_class.modifiers: private static
focal_class.parameters: (BigInteger a, BigInteger b)
focal_class.return: boolean
focal_class.signature: boolean areCoprime(BigInteger a, BigInteger b)
focal_class.class_method_signature: ModulusFinder.compute(int modBitLength)
focal_class.full_signature: private static BigInteger compute(int modBitLength)
focal_class.identifier: compute
focal_class.modifiers: private static
focal_class.parameters: (int modBitLength)
focal_class.return: BigInteger
focal_class.signature: BigInteger compute(int modBitLength)
focal_class.class_method_signature: ModulusFinder.findSuitableModulus(int modBitLength)
focal_class.full_signature: public static BigInteger findSuitableModulus(int modBitLength)
focal_class.identifier: findSuitableModulus
focal_class.modifiers: public static
focal_class.parameters: (int modBitLength)
focal_class.return: BigInteger
focal_class.signature: BigInteger findSuitableModulus(int modBitLength)
focal_method.body: public static BigInteger findSuitableModulus(int modBitLength) {
      if (modBitLength % 8 != 0) {
        throw new IllegalArgumentException("Bit length must be divisible by 8");
      }
      if (precomputed.containsKey(modBitLength)) {
        return precomputed.get(modBitLength);
      } else {
        return compute(modBitLength);
      }
    }
focal_method.class_method_signature: ModulusFinder.findSuitableModulus(int modBitLength)
focal_method.full_signature: public static BigInteger findSuitableModulus(int modBitLength)
focal_method.identifier: findSuitableModulus
focal_method.invocations: containsKey get compute
focal_method.modifiers: public static
focal_method.parameters: (int modBitLength)
focal_method.return: BigInteger
focal_method.signature: BigInteger findSuitableModulus(int modBitLength)