FindAFactor 4.3.0__tar.gz → 4.3.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor/find_a_factor.py +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor.egg-info/PKG-INFO +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/PKG-INFO +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/README.md +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/pyproject.toml +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/setup.py +1 -1
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor/__init__.py +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor.egg-info/SOURCES.txt +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor.egg-info/dependency_links.txt +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor.egg-info/not-zip-safe +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/FindAFactor.egg-info/top_level.txt +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/LICENSE +0 -0
- {findafactor-4.3.0 → findafactor-4.3.1}/setup.cfg +0 -0
@@ -16,7 +16,7 @@ def find_a_factor(n,
|
|
16
16
|
trial_division_level=int(os.environ.get('FINDAFACTOR_TRIAL_DIVISION_LEVEL')) if os.environ.get('FINDAFACTOR_TRIAL_DIVISION_LEVEL') else (1<<20),
|
17
17
|
gear_factorization_level=int(os.environ.get('FINDAFACTOR_GEAR_FACTORIZATION_LEVEL')) if os.environ.get('FINDAFACTOR_GEAR_FACTORIZATION_LEVEL') else 11,
|
18
18
|
wheel_factorization_level=int(os.environ.get('FINDAFACTOR_WHEEL_FACTORIZATION_LEVEL')) if os.environ.get('FINDAFACTOR_WHEEL_FACTORIZATION_LEVEL') else 11,
|
19
|
-
smoothness_bound_multiplier=float(os.environ.get('FINDAFACTOR_SMOOTHNESS_BOUND_MULTIPLIER')) if os.environ.get('FINDAFACTOR_SMOOTHNESS_BOUND_MULTIPLIER') else 0
|
19
|
+
smoothness_bound_multiplier=float(os.environ.get('FINDAFACTOR_SMOOTHNESS_BOUND_MULTIPLIER')) if os.environ.get('FINDAFACTOR_SMOOTHNESS_BOUND_MULTIPLIER') else 1.0,
|
20
20
|
batch_size_multiplier=float(os.environ.get('FINDAFACTOR_BATCH_SIZE_MULTIPLIER')) if os.environ.get('FINDAFACTOR_BATCH_SIZE_MULTIPLIER') else 8.0):
|
21
21
|
return int(_find_a_factor._find_a_factor(str(n),
|
22
22
|
int(method),
|
@@ -45,7 +45,7 @@ The `find_a_factor()` function should return any nontrivial factor of `to_factor
|
|
45
45
|
- `trial_division_level` (default value: `2**20`): Trial division is carried out as a preliminary round for all primes up this number. If you need more primes for your smoothness bound, increase this level.
|
46
46
|
- `gear_factorization_level` (default value: `11`): This is the value up to which "wheel (and gear) factorization" and trial division are used to check factors and optimize "brute force," in general. The default value of `11` includes all prime factors of `11` and below and works well in general, though significantly higher might be preferred in certain cases.
|
47
47
|
- `wheel_factorization_level` (default value: `11`): "Wheel" vs. "gear" factorization balances two types of factorization wheel ("wheel" vs. "gear" design) that often work best when the "wheel" is only a few prime number levels lower than gear factorization. Optimized implementation for wheels is only available up to `13`. The primes above "wheel" level, up to "gear" level, are the primes used specifically for "gear" factorization.
|
48
|
-
- `smoothness_bound_multiplier` (default value: `0
|
48
|
+
- `smoothness_bound_multiplier` (default value: `1.0`): starting with the first prime number after wheel factorization, the congruence of squares approach (with Quadratic Sieve) has a "smoothness bound" unit with as many distinct prime numbers as bits in the number to factor (for argument of `1.0` multiplier). To increase or decrease this number, consider it multiplied by the value of `smoothness_bound_multiplier`.
|
49
49
|
- `batch_size_multiplier` (default value: `8.0`): For `FACTOR_FINDER`/`1` method, each `1.0` increment of the multiplier adds the squared count distinct smooth primes, before reseeding Monte Carlo. For `MIXED`/`1` method, each `1.0` increment of the multiplier adds 2 cycles of gear and wheel factorization, alternating every other cycle between bottom of guessing range and top of guessing range, for every thread in use.
|
50
50
|
|
51
51
|
All variables defaults can also be controlled by environment variables:
|
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
|
|
8
8
|
|
9
9
|
[project]
|
10
10
|
name = "FindAFactor"
|
11
|
-
version = "4.3.
|
11
|
+
version = "4.3.1"
|
12
12
|
requires-python = ">=3.8"
|
13
13
|
description = "Find any nontrivial factor of a number"
|
14
14
|
readme = {file = "README.txt", content-type = "text/markdown"}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|