// cl_I_to_UQ().
// General includes.
-#include "cl_sysdep.h"
+#include "base/cl_sysdep.h"
// Specification.
-#include "cl_I.h"
+#include "integer/cl_I.h"
// Implementation.
#ifdef intQsize
#include "cln/number.h"
-#include "cl_DS.h"
+#include "base/digitseq/cl_DS.h"
#include "cln/io.h"
#include "cln/integer_io.h"
-#include "cln/abort.h"
+#include "cln/exception.h"
+#include <sstream>
namespace cln {
if ((sintD)mspref(arrayMSDptr(bn->data,len),0) < 0)
goto bad;
#define IF_LENGTH(i) \
- if (bn_minlength <= i) /* genau i Digits überhaupt möglich? */\
+ if (bn_minlength <= i) /* genau i Digits überhaupt möglich? */\
if (len == i) /* genau i Digits? */ \
/* 2^((i-1)*intDsize-1) <= obj < 2^(i*intDsize-1) */ \
if ( (i*intDsize-1 > 64) \
#undef IF_LENGTH
}
bad: // unpassendes Objekt
- fprint(std::cerr, "Not a 64-bit integer: ");
- fprint(std::cerr, obj);
- fprint(std::cerr, "\n");
- cl_abort();
+ std::ostringstream buf;
+ fprint(buf, "Not a 64-bit integer: ");
+ fprint(buf, obj);
+ throw runtime_exception(buf.str());
}
} // namespace cln