📄 apfloat.h
字号:
friend apfloat operator- (int d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator- (unsigned d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator- (long d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator- (unsigned long d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator- (double d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator- (char *d1, const apfloat &d2) { return apfloat (d1) - d2; }
friend apfloat operator* (const apfloat &d1, int d2) { return d1 * apfloat (d2); }
friend apfloat operator* (const apfloat &d1, unsigned d2) { return d1 * apfloat (d2); }
friend apfloat operator* (const apfloat &d1, long d2) { return d1 * apfloat (d2); }
friend apfloat operator* (const apfloat &d1, unsigned long d2) { return d1 * apfloat (d2); }
friend apfloat operator* (const apfloat &d1, double d2) { return d1 * apfloat (d2); }
friend apfloat operator* (const apfloat &d1, char *d2) { return d1 * apfloat (d2); }
friend apfloat operator* (int d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator* (unsigned d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator* (long d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator* (unsigned long d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator* (double d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator* (char *d1, const apfloat &d2) { return apfloat (d1) * d2; }
friend apfloat operator/ (const apfloat &d1, int d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (const apfloat &d1, unsigned d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (const apfloat &d1, long d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (const apfloat &d1, unsigned long d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (const apfloat &d1, double d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (const apfloat &d1, char *d2) { return d1 / apfloat (d2); }
friend apfloat operator/ (int d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend apfloat operator/ (unsigned d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend apfloat operator/ (long d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend apfloat operator/ (unsigned long d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend apfloat operator/ (double d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend apfloat operator/ (char *d1, const apfloat &d2) { return apfloat (d1) / d2; }
friend bool operator== (const apfloat &d1, int d2) { return d1 == apfloat (d2); }
friend bool operator== (const apfloat &d1, unsigned d2) { return d1 == apfloat (d2); }
friend bool operator== (const apfloat &d1, long d2) { return d1 == apfloat (d2); }
friend bool operator== (const apfloat &d1, unsigned long d2) { return d1 == apfloat (d2); }
friend bool operator== (const apfloat &d1, double d2) { return d1 == apfloat (d2); }
friend bool operator== (const apfloat &d1, char *d2) { return d1 == apfloat (d2); }
friend bool operator== (int d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator== (unsigned d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator== (long d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator== (unsigned long d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator== (double d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator== (char *d1, const apfloat &d2) { return apfloat (d1) == d2; }
friend bool operator!= (const apfloat &d1, int d2) { return d1 != apfloat (d2); }
friend bool operator!= (const apfloat &d1, unsigned d2) { return d1 != apfloat (d2); }
friend bool operator!= (const apfloat &d1, long d2) { return d1 != apfloat (d2); }
friend bool operator!= (const apfloat &d1, unsigned long d2) { return d1 != apfloat (d2); }
friend bool operator!= (const apfloat &d1, double d2) { return d1 != apfloat (d2); }
friend bool operator!= (const apfloat &d1, char *d2) { return d1 != apfloat (d2); }
friend bool operator!= (int d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator!= (unsigned d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator!= (long d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator!= (unsigned long d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator!= (double d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator!= (char *d1, const apfloat &d2) { return apfloat (d1) != d2; }
friend bool operator>= (const apfloat &d1, int d2) { return d1 >= apfloat (d2); }
friend bool operator>= (const apfloat &d1, unsigned d2) { return d1 >= apfloat (d2); }
friend bool operator>= (const apfloat &d1, long d2) { return d1 >= apfloat (d2); }
friend bool operator>= (const apfloat &d1, unsigned long d2) { return d1 >= apfloat (d2); }
friend bool operator>= (const apfloat &d1, double d2) { return d1 >= apfloat (d2); }
friend bool operator>= (const apfloat &d1, char *d2) { return d1 >= apfloat (d2); }
friend bool operator>= (int d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator>= (unsigned d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator>= (long d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator>= (unsigned long d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator>= (double d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator>= (char *d1, const apfloat &d2) { return apfloat (d1) >= d2; }
friend bool operator<= (const apfloat &d1, int d2) { return d1 <= apfloat (d2); }
friend bool operator<= (const apfloat &d1, unsigned d2) { return d1 <= apfloat (d2); }
friend bool operator<= (const apfloat &d1, long d2) { return d1 <= apfloat (d2); }
friend bool operator<= (const apfloat &d1, unsigned long d2) { return d1 <= apfloat (d2); }
friend bool operator<= (const apfloat &d1, double d2) { return d1 <= apfloat (d2); }
friend bool operator<= (const apfloat &d1, char *d2) { return d1 <= apfloat (d2); }
friend bool operator<= (int d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator<= (unsigned d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator<= (long d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator<= (unsigned long d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator<= (double d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator<= (char *d1, const apfloat &d2) { return apfloat (d1) <= d2; }
friend bool operator> (const apfloat &d1, int d2) { return d1 > apfloat (d2); }
friend bool operator> (const apfloat &d1, unsigned d2) { return d1 > apfloat (d2); }
friend bool operator> (const apfloat &d1, long d2) { return d1 > apfloat (d2); }
friend bool operator> (const apfloat &d1, unsigned long d2) { return d1 > apfloat (d2); }
friend bool operator> (const apfloat &d1, double d2) { return d1 > apfloat (d2); }
friend bool operator> (const apfloat &d1, char *d2) { return d1 > apfloat (d2); }
friend bool operator> (int d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator> (unsigned d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator> (long d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator> (unsigned long d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator> (double d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator> (char *d1, const apfloat &d2) { return apfloat (d1) > d2; }
friend bool operator< (const apfloat &d1, int d2) { return d1 < apfloat (d2); }
friend bool operator< (const apfloat &d1, unsigned d2) { return d1 < apfloat (d2); }
friend bool operator< (const apfloat &d1, long d2) { return d1 < apfloat (d2); }
friend bool operator< (const apfloat &d1, unsigned long d2) { return d1 < apfloat (d2); }
friend bool operator< (const apfloat &d1, double d2) { return d1 < apfloat (d2); }
friend bool operator< (const apfloat &d1, char *d2) { return d1 < apfloat (d2); }
friend bool operator< (int d1, const apfloat &d2) { return apfloat (d1) < d2; }
friend bool operator< (unsigned d1, const apfloat &d2) { return apfloat (d1) < d2; }
friend bool operator< (long d1, const apfloat &d2) { return apfloat (d1) < d2; }
friend bool operator< (unsigned long d1, const apfloat &d2) { return apfloat (d1) < d2; }
friend bool operator< (double d1, const apfloat &d2) { return apfloat (d1) < d2; }
friend bool operator< (char *d1, const apfloat &d2) { return apfloat (d1) < d2; }
apfloat &operator+= (int d) { *this = *this + apfloat (d); return *this; }
apfloat &operator+= (unsigned d) { *this = *this + apfloat (d); return *this; }
apfloat &operator+= (long d) { *this = *this + apfloat (d); return *this; }
apfloat &operator+= (unsigned long d) { *this = *this + apfloat (d); return *this; }
apfloat &operator+= (double d) { *this = *this + apfloat (d); return *this; }
apfloat &operator+= (char *d) { *this = *this + apfloat (d); return *this; }
apfloat &operator-= (int d) { *this = *this - apfloat (d); return *this; }
apfloat &operator-= (unsigned d) { *this = *this - apfloat (d); return *this; }
apfloat &operator-= (long d) { *this = *this - apfloat (d); return *this; }
apfloat &operator-= (unsigned long d) { *this = *this - apfloat (d); return *this; }
apfloat &operator-= (double d) { *this = *this - apfloat (d); return *this; }
apfloat &operator-= (char *d) { *this = *this - apfloat (d); return *this; }
apfloat &operator*= (int d) { *this = *this * apfloat (d); return *this; }
apfloat &operator*= (unsigned d) { *this = *this * apfloat (d); return *this; }
apfloat &operator*= (long d) { *this = *this * apfloat (d); return *this; }
apfloat &operator*= (unsigned long d) { *this = *this * apfloat (d); return *this; }
apfloat &operator*= (double d) { *this = *this * apfloat (d); return *this; }
apfloat &operator*= (char *d) { *this = *this * apfloat (d); return *this; }
apfloat &operator/= (int d) { *this = *this / apfloat (d); return *this; }
apfloat &operator/= (unsigned d) { *this = *this / apfloat (d); return *this; }
apfloat &operator/= (long d) { *this = *this / apfloat (d); return *this; }
apfloat &operator/= (unsigned long d) { *this = *this / apfloat (d); return *this; }
apfloat &operator/= (double d) { *this = *this / apfloat (d); return *this; }
apfloat &operator/= (char *d) { *this = *this / apfloat (d); return *this; }
apfloat &operator= (int d) { *this = apfloat (d); return *this; }
apfloat &operator= (unsigned d) { *this = apfloat (d); return *this; }
apfloat &operator= (long d) { *this = apfloat (d); return *this; }
apfloat &operator= (unsigned long d) { *this = apfloat (d); return *this; }
apfloat &operator= (double d) { *this = apfloat (d); return *this; }
apfloat &operator= (char *d) { *this = apfloat (d); return *this; }
// Other functions
int sign (void) const;
void sign (int newsign);
long exp (void) const;
void exp (long newexp);
size_t prec (void) const;
void prec (size_t newprec);
int location (void) const;
void location (int newlocation);
void unique (void);
void swapfrom (const char *filename);
void swapto (const char *filename);
// Commont to all apfloats
static bool prettyprint;
// Implementation
apstruct *ap;
};
inline apfloat::apfloat ()
{
ap = 0;
}
inline apfloat::apfloat (apstruct *d)
{
ap = d;
}
// Overloaded mathematical functions
apfloat pow (apfloat base, unsigned long exp);
apfloat pow (apfloat base, unsigned exp);
apfloat pow (apfloat base, long exp);
apfloat pow (apfloat base, int exp);
apfloat sqrt (apfloat x);
apfloat cbrt (apfloat x);
apfloat root (apfloat x, unsigned n);
apfloat invroot (apfloat u, unsigned n, size_t destprec = (size_t) DEFAULT, apfloat initguess = apfloat (), size_t initprec = (size_t) DEFAULT);
apfloat floor (apfloat x);
apfloat ceil (apfloat x);
apfloat abs (apfloat x);
apfloat modf (apfloat x, apfloat *ipart);
apfloat fmod (apfloat x, apfloat y);
apfloat pi (size_t destprec, apfloat *LT = 0, apfloat *LQ = 0, apfloat *LP = 0, apfloat *iroot = 0, size_t *terms = 0);
apfloat agm (apfloat a, apfloat b);
void checkpi (size_t destprec);
void checklogconst (size_t destprec);
apfloat rawlog (apfloat x);
apfloat log (apfloat x);
apfloat exp (apfloat u);
apfloat pow (apfloat x, apfloat y);
apfloat acosh (apfloat x);
apfloat asinh (apfloat x);
apfloat atanh (apfloat x);
apfloat cosh (apfloat x);
apfloat sinh (apfloat x);
apfloat tanh (apfloat x);
// More trigonometric functions are defined in apcplx.h
// Constants needed for log & exp
extern apfloat Readypi;
extern apfloat Logbase;
// Functions in apfloat.cpp
std::ostream &pretty (std::ostream &str);
#endif // __APFLOAT_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -