|
CBMC
|
#include <iosfwd>#include <string>#include "big-int/bigint.hh"
Include dependency graph for mp_arith.h:
This graph shows which files directly or indirectly include this file: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 | |
| mp_integer | bitwise_and (const mp_integer &, const mp_integer &) |
| bitwise 'and' of two nonnegative integers | |
| mp_integer | bitwise_xor (const mp_integer &, const mp_integer &) |
| bitwise 'xor' of two nonnegative integers | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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 | |
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.