![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|
Public Member Functions | |
| BignumIntermediate (const bignum_t &value) | |
| BignumIntermediate (uint8_t *value, idx_t size) | |
| void | Print () const |
| AbsoluteNumberComparison | IsAbsoluteBigger (const BignumIntermediate &rhs) const |
| uint8_t | GetAbsoluteByte (int64_t index) const |
| Get the absolute value of a byte. | |
| bool | IsMSBSet () const |
| If the most significant bit of the first byte is set. | |
| void | Initialize (ArenaAllocator &allocator) |
| Initializes our bignum to 0 and 1 byte. | |
| void | Reallocate (ArenaAllocator &allocator, idx_t min_size) |
| If necessary, we reallocate our intermediate to the next power of 2. | |
| uint32_t | GetStartDataPos () const |
| void | Trim () |
| void | AddInPlace (ArenaAllocator &allocator, const BignumIntermediate &rhs) |
| Add a BignumIntermediate to another BignumIntermediate, equivalent of a +=. | |
| string_t | Negate (Vector &result_vector) const |
| Negates a value, e.g., -x. | |
| void | NegateInPlace () |
| bignum_t | ToBignum (ArenaAllocator &allocator) |
| Exports to a bignum, either arena allocated. | |
| bool | OverOrUnderflow () const |
Static Public Member Functions | |
| static uint32_t | GetStartDataPos (data_ptr_t data, idx_t size, bool is_negative) |
| static idx_t | Trim (data_ptr_t data, uint32_t &size, bool is_negative) |
| In case we have unnecessary extra 0's or 1's in our bignum we trim them. | |
| static string_t | Add (Vector &result, const BignumIntermediate &lhs, const BignumIntermediate &rhs) |
| Adds two BignumIntermediates and returns a string_t result, equivalent of a +. | |
| static bool | OverOrUnderflow (data_ptr_t data, idx_t size, bool is_negative) |
| Check if an over/underflow has occurred. | |
Public Attributes | |
| bool | is_negative |
| Information on the header. | |
| uint32_t | size |
| data_ptr_t | data |
| The actual data. | |
|
inline |
| void duckdb::BignumIntermediate::Print | ( | ) | const |
| AbsoluteNumberComparison duckdb::BignumIntermediate::IsAbsoluteBigger | ( | const BignumIntermediate & | rhs | ) | const |
If the absolute number is bigger than the absolute rhs 1 = true, 0 = equal, -1 = false


| bool duckdb::BignumIntermediate::IsMSBSet | ( | ) | const |
If the most significant bit of the first byte is set.

| void duckdb::BignumIntermediate::Initialize | ( | ArenaAllocator & | allocator | ) |
| void duckdb::BignumIntermediate::Reallocate | ( | ArenaAllocator & | allocator, |
| idx_t | min_size | ||
| ) |
If necessary, we reallocate our intermediate to the next power of 2.


|
static |
| uint32_t duckdb::BignumIntermediate::GetStartDataPos | ( | ) | const |
|
static |
In case we have unnecessary extra 0's or 1's in our bignum we trim them.


| void duckdb::BignumIntermediate::Trim | ( | ) |
| void duckdb::BignumIntermediate::AddInPlace | ( | ArenaAllocator & | allocator, |
| const BignumIntermediate & | rhs | ||
| ) |
Add a BignumIntermediate to another BignumIntermediate, equivalent of a +=.

|
static |
Adds two BignumIntermediates and returns a string_t result, equivalent of a +.

Negates a value, e.g., -x.

| void duckdb::BignumIntermediate::NegateInPlace | ( | ) |
| bignum_t duckdb::BignumIntermediate::ToBignum | ( | ArenaAllocator & | allocator | ) |
Exports to a bignum, either arena allocated.

|
static |
Check if an over/underflow has occurred.


| bool duckdb::BignumIntermediate::OverOrUnderflow | ( | ) | const |