HowManyAreAnalyzed(): use status_user_agent to report progress
[linguistica.git] / VeryLong.h
blobb1cf31b995de0a90ad841955665ecd5bf484ddd9
1 // long double workalike
2 // Copyright © 2009 The University of Chicago
3 #ifndef VERYLONG_H
4 #define VERYLONG_H
6 #include <qstring.h>
8 int AssignFromVeryLongToDouble ( class CVeryLong&, double& );
9 void IncrementDoubleByVeryLong ( double&, class CVeryLong& );
11 /// deprecated. Please use “long double” instead.
12 class CVeryLong
14 float m_Mantissa; //between 1 and 10
15 int m_Exponent; // may be negative
19 public:
20 CVeryLong();
21 CVeryLong( const CVeryLong& );
22 CVeryLong( const double );
23 ~CVeryLong();
25 CVeryLong operator+( const CVeryLong& );
26 CVeryLong operator*( const CVeryLong& );
27 CVeryLong operator*( const double& );
28 CVeryLong operator/( const CVeryLong& );
29 CVeryLong operator/( const double& );
31 int operator=( const double & );
32 void operator=( const CVeryLong& );
33 int operator>>( double& );
34 void operator+=( const CVeryLong& );
35 int operator!();
37 int operator>( const CVeryLong& );
38 int operator<( const CVeryLong& );
39 int operator>( const double& );
40 int operator<( const double& );
41 int operator>( const float& );
42 int operator<( const float& );
43 int operator==( const double& );
45 QString Display();
47 float GetMantissa() const;
48 void SetMantissa( float );
49 int GetExponent() const;
50 void SetExponent( int );
52 double ToDouble();
57 #endif // VERYLONG_H