aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-10-20 00:04:10 +0200
committerJ08nY2017-10-20 00:04:10 +0200
commitf41ede1c0548f0ca8f9523774c4facb5798e39f4 (patch)
treeaec214f00ce11339720f25108d3225f0c3b660d3
parent619805117c469a61deb9da992f9a14439191ca7d (diff)
downloadecgen-f41ede1c0548f0ca8f9523774c4facb5798e39f4.tar.gz
ecgen-f41ede1c0548f0ca8f9523774c4facb5798e39f4.tar.zst
ecgen-f41ede1c0548f0ca8f9523774c4facb5798e39f4.zip
-rw-r--r--src/gen/order.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/gen/order.c b/src/gen/order.c
index b802560..366c2cd 100644
--- a/src/gen/order.c
+++ b/src/gen/order.c
@@ -127,18 +127,15 @@ CHECK(order_check_discriminant) {
GEN tp_primes = gel(tp_factors, 1);
GEN tp_pows = gel(tp_factors, 2);
long tp_pow_len = glength(tp_pows);
- GEN max_value = gen_1;
+ GEN value = gen_1;
for (long i = 1; i <= tp_pow_len; ++i) {
if (!dvdis(gel(tp_pows, i), 2)) {
continue;
}
-
- GEN value = powii(gel(tp_primes, i), gel(tp_pows, i));
- if (mpcmp(max_value, value) < 0) {
- max_value = value;
- }
+ GEN one_value = powii(gel(tp_primes, i), divis(gel(tp_pows, i), 2));
+ muliiz(value, one_value, value);
}
- GEN s = max_value;
+ GEN s = value;
GEN D = divii(tp, s);
if (mod4(D) != 1) {