File indexing completed on 2024-05-12 17:21:06

0001 // SPDX-FileCopyrightText: 2001-2013 Evan Teran <evan.teran@gmail.com>
0002 // SPDX-License-Identifier: GPL-2.0-or-later
0003 
0004 #ifndef KNUMBER_OPERATORS_H_
0005 #define KNUMBER_OPERATORS_H_
0006 
0007 class KNumber;
0008 
0009 bool operator==(const KNumber &lhs, const KNumber &rhs);
0010 bool operator!=(const KNumber &lhs, const KNumber &rhs);
0011 bool operator>=(const KNumber &lhs, const KNumber &rhs);
0012 bool operator<=(const KNumber &lhs, const KNumber &rhs);
0013 bool operator>(const KNumber &lhs, const KNumber &rhs);
0014 bool operator<(const KNumber &lhs, const KNumber &rhs);
0015 
0016 KNumber operator+(const KNumber &lhs, const KNumber &rhs);
0017 KNumber operator-(const KNumber &lhs, const KNumber &rhs);
0018 KNumber operator*(const KNumber &lhs, const KNumber &rhs);
0019 KNumber operator/(const KNumber &lhs, const KNumber &rhs);
0020 KNumber operator%(const KNumber &lhs, const KNumber &rhs);
0021 
0022 KNumber operator&(const KNumber &lhs, const KNumber &rhs);
0023 KNumber operator|(const KNumber &lhs, const KNumber &rhs);
0024 KNumber operator^(const KNumber &lhs, const KNumber &rhs);
0025 KNumber operator>>(const KNumber &lhs, const KNumber &rhs);
0026 KNumber operator<<(const KNumber &lhs, const KNumber &rhs);
0027 
0028 KNumber abs(const KNumber &x);
0029 KNumber cbrt(const KNumber &x);
0030 KNumber sqrt(const KNumber &x);
0031 KNumber pow(const KNumber &x, const KNumber &y);
0032 
0033 KNumber sin(const KNumber &x);
0034 KNumber cos(const KNumber &x);
0035 KNumber tan(const KNumber &x);
0036 KNumber asin(const KNumber &x);
0037 KNumber tgamma(const KNumber &x);
0038 KNumber acos(const KNumber &x);
0039 KNumber atan(const KNumber &x);
0040 
0041 KNumber factorial(const KNumber &x);
0042 
0043 KNumber log2(const KNumber &x);
0044 KNumber log10(const KNumber &x);
0045 KNumber ceil(const KNumber &x);
0046 KNumber floor(const KNumber &x);
0047 KNumber ln(const KNumber &x);
0048 KNumber exp2(const KNumber &x);
0049 KNumber exp10(const KNumber &x);
0050 KNumber exp(const KNumber &x);
0051 
0052 #endif