for (int i = 1; i <= numrows; i++) {
Obj row = ELM_PLIST(gapmat,i); if (numcols == -1)
numcols = LEN_PLIST(row); if (numcols != LEN_PLIST(row)) return INTOBJ_INT(-1);
} if (numcols <= 0) return INTOBJ_INT(-1);
ZZ_mat<Z> mat(numrows, numcols); for (int i = 1; i <= numrows; i++) for (int j = 1; j <= numcols; j++)
SET_INTOBJ(mat[i-1][j-1], ELM_PLIST(ELM_PLIST(gapmat,i),j));
if (lllargs != Fail) { double delta = 0.99; double eta = 0.51;
LLLMethod method = LM_WRAPPER;
FloatType floatType = FT_DEFAULT; int precision = 0; int flags = LLL_DEFAULT;
if (lllargs != True) { if (!IS_PLIST(lllargs) || LEN_PLIST(lllargs) != 6) return INTOBJ_INT(-20);
Obj v = ELM_PLIST(lllargs,1); if (IS_MACFLOAT(v)) delta = VAL_MACFLOAT(v); elseif (v != Fail) return INTOBJ_INT(-21);
v = ELM_PLIST(lllargs,2); if (IS_MACFLOAT(v)) eta = VAL_MACFLOAT(v); elseif (v != Fail) return INTOBJ_INT(-22);
v = ELM_PLIST(lllargs,3); if (v == INTOBJ_INT(0)) method = LM_WRAPPER; elseif (v == INTOBJ_INT(1)) method = LM_PROVED; elseif (v == INTOBJ_INT(2)) method = LM_HEURISTIC; elseif (v == INTOBJ_INT(3)) method = LM_FAST; elseif (v != Fail) return INTOBJ_INT(-23);
v = ELM_PLIST(lllargs,4); if (v == INTOBJ_INT(0)) floatType = FT_DEFAULT; elseif (v == INTOBJ_INT(1)) floatType = FT_DOUBLE; elseif (v == INTOBJ_INT(2)) floatType = FT_DPE; elseif (v == INTOBJ_INT(3)) floatType = FT_MPFR; elseif (v != Fail) return INTOBJ_INT(-24);
v = ELM_PLIST(lllargs,5); if (IS_INTOBJ(v)) precision = INT_INTOBJ(v); elseif (v != Fail) return INTOBJ_INT(-25);
v = ELM_PLIST(lllargs,6); if (IS_INTOBJ(v)) flags = INT_INTOBJ(v); elseif (v != Fail) return INTOBJ_INT(-26);
} int result = lll_reduction(mat, delta, eta, method, floatType, precision, flags);
if (result != RED_SUCCESS) return INTOBJ_INT(10*result+1);
}
if (svpargs != Fail) {
SVPMethod method = SVPM_PROVED; int flags = SVP_DEFAULT;
// __asm__ ("int3"); if (svpargs != True) { if (!IS_PLIST(svpargs) || LEN_PLIST(svpargs) != 2) return INTOBJ_INT(-30);
Obj v = ELM_PLIST(svpargs,1); if (v == INTOBJ_INT(0)) method = SVPM_PROVED; elseif (v == INTOBJ_INT(1)) method = SVPM_FAST; elseif (v != Fail) return INTOBJ_INT(-31);
v = ELM_PLIST(svpargs,2); if (IS_INTOBJ(v)) flags = INT_INTOBJ(v); elseif (v != Fail) return INTOBJ_INT(-32);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.