aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp')
-rw-r--r--src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp b/src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp
deleted file mode 100644
index eef6419965..0000000000
--- a/src/libs/3rdparty/botan/src/lib/math/numbertheory/mp_numth.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-* Fused and Important MP Algorithms
-* (C) 1999-2007 Jack Lloyd
-* 2016 Matthias Gierlings
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/numthry.h>
-#include <botan/internal/mp_core.h>
-#include <botan/internal/rounding.h>
-#include <algorithm>
-
-namespace Botan {
-
-/*
-* Square a BigInt
-*/
-BigInt square(const BigInt& x)
- {
- BigInt z = x;
- secure_vector<word> ws;
- z.square(ws);
- return z;
- }
-
-/*
-* Multiply-Add Operation
-*/
-BigInt mul_add(const BigInt& a, const BigInt& b, const BigInt& c)
- {
- if(c.is_negative())
- throw Invalid_Argument("mul_add: Third argument must be > 0");
-
- BigInt::Sign sign = BigInt::Positive;
- if(a.sign() != b.sign())
- sign = BigInt::Negative;
-
- const size_t a_sw = a.sig_words();
- const size_t b_sw = b.sig_words();
- const size_t c_sw = c.sig_words();
-
- BigInt r(sign, std::max(a_sw + b_sw, c_sw) + 1);
- secure_vector<word> workspace(r.size());
-
- bigint_mul(r.mutable_data(), r.size(),
- a.data(), a.size(), a_sw,
- b.data(), b.size(), b_sw,
- workspace.data(), workspace.size());
-
- const size_t r_size = std::max(r.sig_words(), c_sw);
- bigint_add2(r.mutable_data(), r_size, c.data(), c_sw);
- return r;
- }
-
-/*
-* Subtract-Multiply Operation
-*/
-BigInt sub_mul(const BigInt& a, const BigInt& b, const BigInt& c)
- {
- if(a.is_negative() || b.is_negative())
- throw Invalid_Argument("sub_mul: First two arguments must be >= 0");
-
- BigInt r = a;
- r -= b;
- r *= c;
- return r;
- }
-
-/*
-* Multiply-Subtract Operation
-*/
-BigInt mul_sub(const BigInt& a, const BigInt& b, const BigInt& c)
- {
- if(c.is_negative() || c.is_zero())
- throw Invalid_Argument("mul_sub: Third argument must be > 0");
-
- BigInt r = a;
- r *= b;
- r -= c;
- return r;
- }
-
-}