23 #include <tdelibs_export.h>
25 #include "knumber_priv.h"
71 static KNumber const NotDefined;
87 enum NumType {SpecialType, IntegerType, FractionType, FloatType};
106 enum ErrorType {UndefinedNumber, Infinity, MinusInfinity};
111 KNumber(
unsigned long int num);
112 KNumber(
unsigned long long int num);
130 NumType type(
void)
const;
142 static void setDefaultFloatOutput(
bool flag);
151 static void setDefaultFractionalInput(
bool flag);
158 static void setDefaultFloatPrecision(
unsigned int prec);
168 static void setSplitoffIntegerForFractionOutput(
bool flag);
182 TQString
const toTQString(
int width = -1,
int prec = -1)
const;
204 KNumber const sqrt(
void)
const;
219 KNumber const cbrt(
void)
const;
228 KNumber const integerPart(
void)
const;
233 KNumber const operator -(
void)
const;
244 operator bool(
void)
const;
245 operator signed long int(
void)
const;
246 operator unsigned long int(
void)
const;
247 operator unsigned long long int(
void)
const;
248 operator double(
void)
const;
250 bool const operator==(
KNumber const & arg2)
const
251 {
return (compare(arg2) == 0); }
253 bool const operator!=(
KNumber const & arg2)
const
254 {
return (compare(arg2) != 0); }
256 bool const operator>(
KNumber const & arg2)
const
257 {
return (compare(arg2) > 0); }
259 bool const operator<(
KNumber const & arg2)
const
260 {
return (compare(arg2) < 0); }
262 bool const operator>=(
KNumber const & arg2)
const
263 {
return (compare(arg2) >= 0); }
265 bool const operator<=(
KNumber const & arg2)
const
266 {
return (compare(arg2) <= 0); }
278 void simplifyRational(
void);
279 int const compare(
KNumber const & arg2)
const;
282 static bool _float_output;
283 static bool _fraction_input;
284 static bool _splitoffinteger_output;