Пример #1
0
template <> int hkz(Options &o, ZZ_mat<mpz_t> &b)
{
  const char *format = o.output_format ? o.output_format : "b";
  int flags          = 0;
  if (o.verbose)
    flags |= HKZ_VERBOSE;
  string dump_gso_filename;
  if (o.bkz_flags & BKZ_DUMP_GSO) {
    dump_gso_filename = o.bkz_dump_gso_filename;
    flags |= BKZ_DUMP_GSO;
  }
  
  //int status = hkz_reduction(b, flags, o.float_type, o.precision, dump_gso_filename);
  int status = hkz_reduction(b, flags, o.float_type, o.precision);
  for (int i = 0; format[i]; i++)
  {
    if (format[i] == 'b')
    {
      if (format[i + 1] == 'k')
      {
        b.print_comma(cout);
        i++;
      }
      else
        cout << b << endl;
    }
  }
  if (status != RED_SUCCESS)
  {
    cerr << "Failure: " << get_red_status_str(status) << endl;
  }
  return status;
}
Пример #2
0
template <> int hkz(Options &o, ZZ_mat<mpz_t> &b)
{
  int flags = 0;
  if (o.verbose)
    flags |= HKZ_VERBOSE;
  int status = hkz_reduction(b, flags, o.float_type, o.precision);
  cout << b << endl;
  if (status != RED_SUCCESS)
  {
    cerr << "Failure: " << get_red_status_str(status) << endl;
  }
  return status;
}