CBMC
|
#include <iosfwd>
#include <string>
#include "big-int/bigint.hh"
Go to the source code of this file.
Typedefs | |
typedef BigInt | mp_integer |
Functions | |
std::ostream & | operator<< (std::ostream &, const mp_integer &) |
mp_integer | operator>> (const mp_integer &, const mp_integer &) |
mp_integer | operator<< (const mp_integer &, const mp_integer &) |
mp_integer | bitwise_or (const mp_integer &, const mp_integer &) |
bitwise 'or' of two nonnegative integers More... | |
mp_integer | bitwise_and (const mp_integer &, const mp_integer &) |
bitwise 'and' of two nonnegative integers More... | |
mp_integer | bitwise_xor (const mp_integer &, const mp_integer &) |
bitwise 'xor' of two nonnegative integers More... | |
mp_integer | arith_left_shift (const mp_integer &, const mp_integer &, std::size_t true_size) |
arithmetic left shift bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
mp_integer | arith_right_shift (const mp_integer &, const mp_integer &, std::size_t true_size) |
arithmetic right shift (loads sign on MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
mp_integer | logic_left_shift (const mp_integer &, const mp_integer &, std::size_t true_size) |
logic left shift bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
mp_integer | logic_right_shift (const mp_integer &, const mp_integer &, std::size_t true_size) |
logic right shift (loads 0 on MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
mp_integer | rotate_right (const mp_integer &, const mp_integer &, std::size_t true_size) |
rotates right (MSB=LSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
mp_integer | rotate_left (const mp_integer &, const mp_integer &, std::size_t true_size) |
rotate left (LSB=MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long) More... | |
const std::string | integer2string (const mp_integer &, unsigned base=10) |
const mp_integer | string2integer (const std::string &, unsigned base=10) |
const std::string | integer2binary (const mp_integer &, std::size_t width) |
const mp_integer | binary2integer (const std::string &, bool is_signed) |
convert binary string representation to mp_integer More... | |
typedef BigInt mp_integer |
Definition at line 19 of file mp_arith.h.
mp_integer arith_left_shift | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
arithmetic left shift bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 253 of file mp_arith.cpp.
mp_integer arith_right_shift | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
arithmetic right shift (loads sign on MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 272 of file mp_arith.cpp.
const mp_integer binary2integer | ( | const std::string & | n, |
bool | is_signed | ||
) |
convert binary string representation to mp_integer
Definition at line 117 of file mp_arith.cpp.
mp_integer bitwise_and | ( | const mp_integer & | a, |
const mp_integer & | b | ||
) |
bitwise 'and' of two nonnegative integers
Definition at line 227 of file mp_arith.cpp.
mp_integer bitwise_or | ( | const mp_integer & | a, |
const mp_integer & | b | ||
) |
bitwise 'or' of two nonnegative integers
Definition at line 215 of file mp_arith.cpp.
mp_integer bitwise_xor | ( | const mp_integer & | a, |
const mp_integer & | b | ||
) |
bitwise 'xor' of two nonnegative integers
Definition at line 239 of file mp_arith.cpp.
const std::string integer2binary | ( | const mp_integer & | n, |
std::size_t | width | ||
) |
Definition at line 64 of file mp_arith.cpp.
const std::string integer2string | ( | const mp_integer & | n, |
unsigned | base = 10 |
||
) |
Definition at line 103 of file mp_arith.cpp.
mp_integer logic_left_shift | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
logic left shift bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 291 of file mp_arith.cpp.
mp_integer logic_right_shift | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
logic right shift (loads 0 on MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 317 of file mp_arith.cpp.
mp_integer operator<< | ( | const mp_integer & | a, |
const mp_integer & | b | ||
) |
Definition at line 40 of file mp_arith.cpp.
std::ostream& operator<< | ( | std::ostream & | out, |
const mp_integer & | n | ||
) |
Definition at line 45 of file mp_arith.cpp.
mp_integer operator>> | ( | const mp_integer & | a, |
const mp_integer & | b | ||
) |
Definition at line 22 of file mp_arith.cpp.
mp_integer rotate_left | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
rotate left (LSB=MSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 353 of file mp_arith.cpp.
mp_integer rotate_right | ( | const mp_integer & | a, |
const mp_integer & | b, | ||
std::size_t | true_size | ||
) |
rotates right (MSB=LSB) bitwise operations only make sense on native objects, hence the largest object size should be the largest available c++ integer size (currently long long)
Definition at line 333 of file mp_arith.cpp.
const mp_integer string2integer | ( | const std::string & | n, |
unsigned | base | ||
) |
Definition at line 54 of file mp_arith.cpp.