summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Gayot <og@satcom1.com>2017-11-18 15:39:32 +0100
committerOlivier Gayot <og@satcom1.com>2017-11-19 14:01:08 +0100
commit0916e5446434acd1a3a8384a3e9b1d935f654140 (patch)
treefa335f67b8c008c7ffee017fcc91e34c0bc07d7a
parentf5331e02dd2e10c20cb562aa7940747e860411b0 (diff)
Added multiplication of two numbers
We are using an easy to implemented but extremely slow algorithm to compute the multiplication of two numbers of size n. Signed-off-by: Olivier Gayot <og@satcom1.com>
-rw-r--r--number.cpp12
-rw-r--r--number.h8
2 files changed, 20 insertions, 0 deletions
diff --git a/number.cpp b/number.cpp
index 57dbcae..fcc6dc0 100644
--- a/number.cpp
+++ b/number.cpp
@@ -92,6 +92,18 @@ number::operator+(const number &n) const
return result;
}
+number
+number::operator*(const number &n) const
+{
+ number result;
+
+ for (number i; i < n; ++i) {
+ result += *this;
+ }
+
+ return result;
+}
+
/* }}} */
/* Comparison operators {{{ */
diff --git a/number.h b/number.h
index c905287..189011d 100644
--- a/number.h
+++ b/number.h
@@ -33,6 +33,14 @@ public:
number operator+(const number &n) const;
/**
+ * \brief Return the result of the multiplication of a number and this
+ * number.
+ *
+ * \param n The number to multiply with this number.
+ */
+ number operator*(const number &) const;
+
+ /**
* \brief Tells whether the number passed as parameter is strictly less
* than this number.
*