Глобальний простір імен усього проекту Детальніше...
Простори імен | |
namespace | EXCEPTION_SET |
Простір імен, що реалізовує виключення | |
namespace | RANDOM |
Простір імен, що реалізовує ГПВЧ | |
Класи | |
struct | Array |
Структура, що імітує масив Детальніше... | |
class | ArrayBase |
Базовий клас, від якого успадковуються інші класи, пов'язані з роботою з масивами Детальніше... | |
class | ARRAYDATA |
Клас з потужним функціоналом обробки масивів Детальніше... | |
class | ArrayProcessing |
Класс базових функцій для роботи з масивами Детальніше... | |
class | Comparative_Sorts |
Клас з великою кількістю алгоритмів сортувань Детальніше... | |
class | Distribution_Sorts |
Клас із потужними алгоритмами сортувань Детальніше... | |
interface | Printer |
Printer-інтерфейс, призначений для реалізації функціоналу виводу інформації Детальніше... | |
Визначення типів | |
using | byte1_t = char |
Аліас для char (1 байт). Детальніше... | |
using | byte2_t = short |
Аліас для short (2 байти). Детальніше... | |
using | byte4_t = long |
Аліас для long (4 байти). Детальніше... | |
using | byte8_t = long long |
Аліас для long long (8 байтів). Детальніше... | |
using | sbit8_t = signed char |
Аліас для signed char (1 байт). Детальніше... | |
using | sbit16_t = signed short |
Аліас для signed short (2 байти). Детальніше... | |
using | sbit32_t = signed long |
Аліас для signed long (4 байти). Детальніше... | |
using | sbit64_t = signed long long |
Аліас для signed long long (8 байтів). Детальніше... | |
using | ubit8_t = unsigned char |
Аліас для unsigned char (1 байт). Детальніше... | |
using | ubit16_t = unsigned short |
Аліас для unsigned short (2 байти). Детальніше... | |
using | ubit32_t = unsigned long |
Аліас для unsigned long (4 байти). Детальніше... | |
using | ubit64_t = unsigned long long |
Аліас для unsigned long long (8 байтів). Детальніше... | |
using | fbit32_t = float |
Аліас для float (4 байти). Детальніше... | |
using | fbit64_t = double |
Аліас для double (8 байтів). Детальніше... | |
using | fbit128_t = long double |
Аліас для long double (16 байт). Детальніше... | |
using | asize_t = ubit32_t |
Псевдонім для визначення типу "розмір массиву". Детальніше... | |
using | memcell_t = ubit64_t |
Псевдонім для обчислюваної комірки пам'яті. Детальніше... | |
Функції | |
template<typename type_value > | |
void | swap (type_value &firstNumber, type_value &secondNumber) noexcept |
Міняє місцями два елементи Детальніше... | |
template<typename type_value > | |
type_value | minimum (type_value firstNumber, type_value secondNumber) noexcept |
Шукає найменше значення з двух наданих Детальніше... | |
template<typename type_value > | |
type_value | maximum (type_value firstNumber, type_value secondNumber) noexcept |
Шукає найбільше значення з двух наданих Детальніше... | |
memcell_t | getMemoryCell (memcell_t right_adjust=0, memcell_t left_adjust=0) |
Повертає випадкове число; аналог time(NULL) Детальніше... | |
template<typename type_array > | |
Array< type_array > * | create_struct (const asize_t &SIZE, bool mem_allocation=true) |
Створює структуру з покажчиком на масив Детальніше... | |
template<typename type_array > | |
void | generate_struct (Array< type_array > *&Array, const sbit64_t &min_limit, const sbit64_t &max_limit, const ubit64_t seed=getMemoryCell(32), const ubit32_t denominator=1) |
Генерує випадкові значення у структурі масиву Детальніше... | |
template<typename type_array > | |
void | remove_struct (Array< type_array > *&Array) |
remove_struct Детальніше... | |
Глобальний простір імен усього проекту
Призначений для зберігання усього реалізованого функціоналу проекту.
Реалізувати розділ ALGOR_MATRIX
Реалізувати розділ ALGOR_HEAP
Реалізувати розділ ALGOR_LIST
Аліас для char (1 байт).
Зазвичай використовується для задання типу строк. Може зберігати число від 0 до 255, або від -128 до +127.
Аліас для long (4 байти).
Зазвичай використовується при зберіганні чисел. Може зберігати від 0 до 4'294'967'295, або від -2'147'483'648 до +2'147'483'647.
Аліас для float (4 байти).
На відміну від всіх попередніх типів, що можуть зберігати тільки цілі числа, тип float може зберігати числа з плаваючою комою. У комірку можна записати як додатні, так і від'ємні числа. Можливий діапазон зберігаємих чисел від +/-3.4E-38 до 3.4E+38.
Псевдонім для визначення типу "розмір массиву".
Зазвичай цей тип використовується, коли треба вказати розмір масиву чи позицію у масиві. Так як нумерація починається з 0 і не існує від'ємних розмірів масивів чи номерів позицій, можна поточнити тип з int до unsigned int. До того ж не завжди вистачає 65'535 комірок масиву. Іноді потрібно більше, наприклад, мільйон чи мільярд. Більше мільярда нема сенсу створювати структури даних тому ідеальним вибором серед short, long та long long є long. Саме тому asize_t є аліасом до ALGOR::ubit32_t.
Псевдонім для обчислюваної комірки пам'яті.
Використовується тільки у функції ALGOR::getMemoryCell, як тип комірки, що зберігає розраховане число.
|
noexcept |
Міняє місцями два елементи
Функція приймає два значення, які треба замінити місцями. Після виконання функції перша комірка пам'яті буде зберігати друге значення, а друга - перше. Для виконання алгоритму використовується додаткова комірка пам'яті.
type_value | Тип елементів, що міняються місцями |
[in,out] | firstNumber | Перший елемент для заміни |
[in,out] | secondNumber | Другий елемент для заміни |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 26
Вживається в ALGOR::RANDOM::RC4::crypto_rand(), ALGOR::RANDOM::RC4::crypto_srand() і ALGOR::ARRAYDATA< type_array >::reverse().
|
noexcept |
Шукає найменше значення з двух наданих
Функція приймає два значення і порівнює їх. Якщо перше число виявится меншим за друге - функція повертає перше число, інакше - друге.
type_value | Тип елементів, з яких вибирається найменше значення |
[in] | firstNumber | Перше значення на вибірку |
[in] | secondNumber | Друге значення на вибірку |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 34
Вживається в ALGOR::ARRAYDATA< type_array >::resize().
|
noexcept |
Шукає найбільше значення з двух наданих
Функція приймає два значення і порівнює їх. Якщо перше число виявится більшим за друге - функція повертає перше число, інакше - друге.
type_value | Тип елементів, з яких вибирається найбільше значення |
[in] | firstNumber | Перше значення на вибірку |
[in] | secondNumber | Друге значення на вибірку |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 40
Повертає випадкове число; аналог time(NULL)
Цей метод виділяє пам'ять під 10 комірок пам'яті. Куди саме система виділить пам'ять передгадати неможливо, а також неможливо передгадати, яка програма і які данні раніше сюди записувала, тому це самий реальний генератор випадкович чисел. Поки генерація масивів не була доведена до ідеалу, але як генератор великого числа замість time(NULL) цілком реально використати. Із десяти випадкових чисел функція розраховує число, яке треба повернути.
[in] | right_adjust | Правий здвиг |
[in] | left_adjust | Лівий здвиг |
cell | - розраховане випадкове число |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 45
Вживається в ALGOR::RANDOM::test_random_on_Pearsons_coefficient().
ALGOR::create_struct | ( | const asize_t & | SIZE, |
bool | mem_allocation = true |
||
) |
Створює структуру з покажчиком на масив
Зберігає розмір масиву, виділяє пам'ять під цей самий масив та повертає вказівник на структуру масиву.
ALGOR::EXCEPTION_SET::void_data |
type_array | Тип елементів, що будуть зберігатися у масиві |
[in] | SIZE | Розмір створюваного масиву |
[in] | mem_allocation | Логічний флаг, чи потрібно виділяти пам'ять під масив |
Array<type_array>* | - вказівник на створену структуру |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 68
Використовує ALGOR::Array< type_array >::array і ALGOR::Array< type_array >::array_size.
ALGOR::generate_struct | ( | Array< type_array > *& | Array, |
const sbit64_t & | min_limit, | ||
const sbit64_t & | max_limit, | ||
const ubit64_t | seed = getMemoryCell(32) , |
||
const ubit32_t | denominator = 1 |
||
) |
Генерує випадкові значення у структурі масиву
Генерує у структурі масиву значення із заданого діапазону. Якщо задати denominator, то можна отримати кратні, чи дрібні значення данних.
ALGOR::EXCEPTION_SET::division_by_zero |
type_array | Вказує якого типу будуть генеруватися числа у структурі масиву |
[in,out] | Array | Структура масиву, у якій потрібно згенерувати данні |
[in] | min_limit | Мінімально можливе згенероване значення |
[in] | max_limit | Максимально можливе згенероване значення |
[in] | seed | Сі́м'я генератору |
[in] | denominator | Дільник для генерації float данних |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 85
Використовує ALGOR::Array< type_array >::array, ALGOR::Array< type_array >::array_size і ALGOR::RANDOM::LCM::rand().
ALGOR::remove_struct | ( | Array< type_array > *& | Array | ) |
remove_struct
Звільняє пам'ять від масиву, що зберігається у структурі й звільняє з пам'яті саму структуру.
ALGOR::EXCEPTION_SET::void_data |
type_array | Тип елементів, що зберігаються у масиві |
[in,out] | Array | Масив, який потрібно видалити |
Див. визначення в файлі ALGOR_CORE.cpp, рядок 104
Використовує ALGOR::Array< type_array >::array.