File indexing completed on 2024-04-21 05:50:04

0001 /*
0002     SPDX-FileCopyrightText: 2001-2013 Evan Teran <evan.teran@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 class KNumber;
0010 
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 bool operator>(const KNumber &lhs, const KNumber &rhs);
0016 bool operator<(const KNumber &lhs, const KNumber &rhs);
0017 
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 KNumber operator/(const KNumber &lhs, const KNumber &rhs);
0022 KNumber operator%(const KNumber &lhs, const KNumber &rhs);
0023 
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 KNumber operator>>(const KNumber &lhs, const KNumber &rhs);
0028 KNumber operator<<(const KNumber &lhs, const KNumber &rhs);
0029 
0030 KNumber abs(const KNumber &x);
0031 KNumber cbrt(const KNumber &x);
0032 KNumber sqrt(const KNumber &x);
0033 KNumber pow(const KNumber &x, const KNumber &y);
0034 
0035 KNumber sin(const KNumber &x);
0036 KNumber cos(const KNumber &x);
0037 KNumber tan(const KNumber &x);
0038 KNumber asin(const KNumber &x);
0039 KNumber tgamma(const KNumber &x);
0040 KNumber acos(const KNumber &x);
0041 KNumber atan(const KNumber &x);
0042 
0043 KNumber factorial(const KNumber &x);
0044 
0045 KNumber log2(const KNumber &x);
0046 KNumber log10(const KNumber &x);
0047 KNumber ceil(const KNumber &x);
0048 KNumber floor(const KNumber &x);
0049 KNumber ln(const KNumber &x);
0050 KNumber exp2(const KNumber &x);
0051 KNumber exp10(const KNumber &x);
0052 KNumber exp(const KNumber &x);
0053