1/*
2 SPDX-FileCopyrightText: 2001-2013 Evan Teran <evan.teran@gmail.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9class KNumber;
10
11bool operator==(const KNumber &lhs, const KNumber &rhs);
12bool operator!=(const KNumber &lhs, const KNumber &rhs);
13bool operator>=(const KNumber &lhs, const KNumber &rhs);
14bool operator<=(const KNumber &lhs, const KNumber &rhs);
15bool operator>(const KNumber &lhs, const KNumber &rhs);
16bool operator<(const KNumber &lhs, const KNumber &rhs);
17
18KNumber operator+(const KNumber &lhs, const KNumber &rhs);
19KNumber operator-(const KNumber &lhs, const KNumber &rhs);
20KNumber operator*(const KNumber &lhs, const KNumber &rhs);
21KNumber operator/(const KNumber &lhs, const KNumber &rhs);
22KNumber operator%(const KNumber &lhs, const KNumber &rhs);
23
24KNumber operator&(const KNumber &lhs, const KNumber &rhs);
25KNumber operator|(const KNumber &lhs, const KNumber &rhs);
26KNumber operator^(const KNumber &lhs, const KNumber &rhs);
27KNumber operator>>(const KNumber &lhs, const KNumber &rhs);
28KNumber operator<<(const KNumber &lhs, const KNumber &rhs);
29
30KNumber abs(const KNumber &x);
31KNumber cbrt(const KNumber &x);
32KNumber sqrt(const KNumber &x);
33KNumber pow(const KNumber &x, const KNumber &y);
34
35KNumber sin(const KNumber &x);
36KNumber cos(const KNumber &x);
37KNumber tan(const KNumber &x);
38KNumber asin(const KNumber &x);
39KNumber tgamma(const KNumber &x);
40KNumber acos(const KNumber &x);
41KNumber atan(const KNumber &x);
42
43KNumber factorial(const KNumber &x);
44
45KNumber log2(const KNumber &x);
46KNumber log10(const KNumber &x);
47KNumber ceil(const KNumber &x);
48KNumber floor(const KNumber &x);
49KNumber ln(const KNumber &x);
50KNumber exp2(const KNumber &x);
51KNumber exp10(const KNumber &x);
52KNumber exp(const KNumber &x);
53
54

source code of kcalc/knumber/knumber_operators.h