• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeutils API Reference
  • KDE Home
  • Contact Us
 

kcalc

  • sources
  • kde-4.14
  • kdeutils
  • kcalc
  • knumber
knumber_integer.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2001 - 2013 Evan Teran
3  evan.teran@gmail.com
4 
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef KNUMBER_INTEGER_H_
20 #define KNUMBER_INTEGER_H_
21 
22 #include "knumber_base.h"
23 
24 class KNumber;
25 
26 namespace detail {
27 
28 class knumber_integer : public knumber_base {
29  friend class ::KNumber;
30  friend class knumber_error;
31  friend class knumber_fraction;
32  friend class knumber_float;
33 
34 public:
35  explicit knumber_integer(const QString &s);
36  explicit knumber_integer(qint32 value);
37  explicit knumber_integer(qint64 value);
38  explicit knumber_integer(quint32 value);
39  explicit knumber_integer(quint64 value);
40  explicit knumber_integer(mpz_t mpz);
41  virtual ~knumber_integer();
42 
43 public:
44  virtual knumber_base *clone();
45 
46 public:
47  virtual QString toString(int precision) const;
48  virtual quint64 toUint64() const;
49  virtual qint64 toInt64() const;
50 
51 public:
52  virtual bool is_even() const;
53  virtual bool is_odd() const;
54  virtual bool is_integer() const;
55  virtual bool is_zero() const;
56  virtual int sign() const;
57 
58 public:
59  virtual knumber_base *add(knumber_base *rhs);
60  virtual knumber_base *sub(knumber_base *rhs);
61  virtual knumber_base *mul(knumber_base *rhs);
62  virtual knumber_base *div(knumber_base *rhs);
63  virtual knumber_base *mod(knumber_base *rhs);
64 
65 public:
66  virtual knumber_base *bitwise_and(knumber_base *rhs);
67  virtual knumber_base *bitwise_xor(knumber_base *rhs);
68  virtual knumber_base *bitwise_or(knumber_base *rhs);
69  virtual knumber_base *bitwise_shift(knumber_base *rhs);
70 
71 public:
72  virtual knumber_base *pow(knumber_base *rhs);
73  virtual knumber_base *neg();
74  virtual knumber_base *cmp();
75  virtual knumber_base *abs();
76  virtual knumber_base *sqrt();
77  virtual knumber_base *cbrt();
78  virtual knumber_base *factorial();
79  virtual knumber_base *reciprocal();
80 
81 public:
82  virtual knumber_base *log2();
83  virtual knumber_base *log10();
84  virtual knumber_base *ln();
85  virtual knumber_base *exp2();
86  virtual knumber_base *floor();
87  virtual knumber_base *ceil();
88  virtual knumber_base *exp10();
89  virtual knumber_base *exp();
90  virtual knumber_base *bin(knumber_base *rhs);
91 
92 public:
93  virtual knumber_base *sin();
94  virtual knumber_base *cos();
95  virtual knumber_base *tan();
96  virtual knumber_base *asin();
97  virtual knumber_base *acos();
98  virtual knumber_base *atan();
99  virtual knumber_base *sinh();
100  virtual knumber_base *cosh();
101  virtual knumber_base *tanh();
102  virtual knumber_base *asinh();
103  virtual knumber_base *acosh();
104  virtual knumber_base *atanh();
105  virtual knumber_base *tgamma();
106 
107 public:
108  virtual int compare(knumber_base *rhs);
109 
110 private:
111  // conversion constructors
112  explicit knumber_integer(const knumber_integer *value);
113  explicit knumber_integer(const knumber_fraction *value);
114  explicit knumber_integer(const knumber_float *value);
115  explicit knumber_integer(const knumber_error *value);
116 
117 private:
118  mpz_t mpz_;
119 };
120 
121 }
122 
123 #endif
detail::knumber_integer::~knumber_integer
virtual ~knumber_integer()
Definition: knumber_integer.cpp:123
detail::knumber_integer::ln
virtual knumber_base * ln()
Definition: knumber_integer.cpp:830
detail::knumber_integer::bitwise_shift
virtual knumber_base * bitwise_shift(knumber_base *rhs)
Definition: knumber_integer.cpp:369
detail::knumber_integer::log10
virtual knumber_base * log10()
Definition: knumber_integer.cpp:821
detail::knumber_integer::toInt64
virtual qint64 toInt64() const
Definition: knumber_integer.cpp:733
detail::knumber_integer::sinh
virtual knumber_base * sinh()
Definition: knumber_integer.cpp:606
detail::knumber_integer::div
virtual knumber_base * div(knumber_base *rhs)
Definition: knumber_integer.cpp:219
detail::knumber_integer::clone
virtual knumber_base * clone()
Definition: knumber_integer.cpp:116
detail::knumber_integer::bitwise_and
virtual knumber_base * bitwise_and(knumber_base *rhs)
Definition: knumber_integer.cpp:294
detail::knumber_integer::neg
virtual knumber_base * neg()
Definition: knumber_integer.cpp:418
detail::knumber_integer::sub
virtual knumber_base * sub(knumber_base *rhs)
Definition: knumber_integer.cpp:155
detail::knumber_integer::bitwise_or
virtual knumber_base * bitwise_or(knumber_base *rhs)
Definition: knumber_integer.cpp:344
detail::knumber_integer::atanh
virtual knumber_base * atanh()
Definition: knumber_integer.cpp:651
detail::knumber_integer::cbrt
virtual knumber_base * cbrt()
Definition: knumber_integer.cpp:471
detail::knumber_integer::atan
virtual knumber_base * atan()
Definition: knumber_integer.cpp:586
detail::knumber_integer::acosh
virtual knumber_base * acosh()
Definition: knumber_integer.cpp:642
detail::knumber_integer::is_odd
virtual bool is_odd() const
Definition: knumber_integer.cpp:780
detail::knumber_integer::reciprocal
virtual knumber_base * reciprocal()
Definition: knumber_integer.cpp:787
detail::knumber_integer::sin
virtual knumber_base * sin()
Definition: knumber_integer.cpp:536
detail::knumber_integer::compare
virtual int compare(knumber_base *rhs)
Definition: knumber_integer.cpp:674
detail::knumber_integer::bin
virtual knumber_base * bin(knumber_base *rhs)
Definition: knumber_integer.cpp:866
detail::knumber_integer::log2
virtual knumber_base * log2()
Definition: knumber_integer.cpp:796
detail::knumber_integer::pow
virtual knumber_base * pow(knumber_base *rhs)
Definition: knumber_integer.cpp:490
detail::knumber_integer::cos
virtual knumber_base * cos()
Definition: knumber_integer.cpp:546
detail::knumber_integer::toUint64
virtual quint64 toUint64() const
Definition: knumber_integer.cpp:708
detail::knumber_base
Definition: knumber_base.h:38
detail::knumber_fraction
Definition: knumber_fraction.h:28
detail::knumber_integer::ceil
virtual knumber_base * ceil()
Definition: knumber_integer.cpp:813
detail::knumber_integer::asin
virtual knumber_base * asin()
Definition: knumber_integer.cpp:566
detail::knumber_integer::mul
virtual knumber_base * mul(knumber_base *rhs)
Definition: knumber_integer.cpp:181
detail::knumber_integer
Definition: knumber_integer.h:28
detail::knumber_integer::is_even
virtual bool is_even() const
Definition: knumber_integer.cpp:773
detail::knumber_integer::is_zero
virtual bool is_zero() const
Definition: knumber_integer.cpp:759
detail::knumber_integer::exp2
virtual knumber_base * exp2()
Definition: knumber_integer.cpp:839
detail::knumber_integer::acos
virtual knumber_base * acos()
Definition: knumber_integer.cpp:576
detail::knumber_integer::exp
virtual knumber_base * exp()
Definition: knumber_integer.cpp:857
detail::knumber_integer::exp10
virtual knumber_base * exp10()
Definition: knumber_integer.cpp:848
QString
KNumber
Definition: knumber.h:30
knumber_base.h
detail::knumber_integer::knumber_integer
knumber_integer(const QString &s)
Definition: knumber_integer.cpp:32
detail::knumber_integer::bitwise_xor
virtual knumber_base * bitwise_xor(knumber_base *rhs)
Definition: knumber_integer.cpp:319
detail::knumber_integer::abs
virtual knumber_base * abs()
Definition: knumber_integer.cpp:442
detail::knumber_integer::tan
virtual knumber_base * tan()
Definition: knumber_integer.cpp:556
detail::knumber_integer::sqrt
virtual knumber_base * sqrt()
Definition: knumber_integer.cpp:451
detail::knumber_integer::toString
virtual QString toString(int precision) const
Definition: knumber_integer.cpp:695
detail::knumber_integer::add
virtual knumber_base * add(knumber_base *rhs)
Definition: knumber_integer.cpp:130
detail::knumber_integer::floor
virtual knumber_base * floor()
Definition: knumber_integer.cpp:805
detail::knumber_float
Definition: knumber_float.h:28
detail::knumber_integer::tanh
virtual knumber_base * tanh()
Definition: knumber_integer.cpp:624
detail::knumber_error
Definition: knumber_error.h:28
detail::knumber_integer::sign
virtual int sign() const
Definition: knumber_integer.cpp:766
detail::knumber_integer::cosh
virtual knumber_base * cosh()
Definition: knumber_integer.cpp:615
detail::knumber_integer::mod
virtual knumber_base * mod(knumber_base *rhs)
Definition: knumber_integer.cpp:264
detail::knumber_integer::factorial
virtual knumber_base * factorial()
Definition: knumber_integer.cpp:660
detail::knumber_integer::asinh
virtual knumber_base * asinh()
Definition: knumber_integer.cpp:633
detail::knumber_integer::is_integer
virtual bool is_integer() const
Definition: knumber_integer.cpp:752
detail::knumber_integer::cmp
virtual knumber_base * cmp()
Definition: knumber_integer.cpp:427
detail::knumber_integer::tgamma
virtual knumber_base * tgamma()
Definition: knumber_integer.cpp:596
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:42:28 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kcalc

Skip menu "kcalc"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeutils API Reference

Skip menu "kdeutils API Reference"
  • ark
  • filelight
  • kcalc
  • kcharselect
  • kdf
  • kfloppy
  • kgpg
  • ktimer
  • kwallet
  • sweeper

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal