From 2b02612024b7218b8ab9aa7803642d9b26abd10b Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 14:41:27 +0530 Subject: [PATCH 01/11] improve (chore): remove unwated files --- .travis.yml | 13 --- INCLUDES/firefly.hpp | 32 ------- _config.yml | 5 -- src/firefly.cpp | 205 ------------------------------------------- 4 files changed, 255 deletions(-) delete mode 100644 .travis.yml delete mode 100644 INCLUDES/firefly.hpp delete mode 100644 _config.yml delete mode 100644 src/firefly.cpp diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ec768c8..0000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: cpp - -compiler: - - gcc - -before_script: - - mkdir build - - cd build - - cmake .. - - make - -script: - - ./tests/_test diff --git a/INCLUDES/firefly.hpp b/INCLUDES/firefly.hpp deleted file mode 100644 index 3357c9e..0000000 --- a/INCLUDES/firefly.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef FIREFLY_H -#define FIREFLY_H - -#include -#include -using namespace std; - -class Vectors -{ -public: - vector vec; - Vectors(vector vector); - Vectors(); - void print(); - Vectors add(Vectors v); - Vectors subtract(Vectors v); - Vectors scalorMultiply(float number); - float magnitude(); - Vectors normalize(); - float dotProductWith(Vectors v); - float angleWith(Vectors v, bool degree); - bool isParallelWith(Vectors v); - bool isOrthogonalWith(Vectors v); - Vectors componentParallelTo(Vectors b); - Vectors componentOrthogonalTo(Vectors b); - Vectors crossProductWith(Vectors v); - float areaOfTriangleWith(Vectors v); - float areaOfParallelogramWith(Vectors v); - bool isEqualTo(Vectors v); -}; - -#endif \ No newline at end of file diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 61923d4..0000000 --- a/_config.yml +++ /dev/null @@ -1,5 +0,0 @@ -theme: jekyll-theme-slate -show_downloads: true -github: - zip_url: https://github.com/tbhaxor/firefly/archive/v0.1.1.zip - tar_url: https://github.com/tbhaxor/firefly/archive/v0.1.1.tar.gz diff --git a/src/firefly.cpp b/src/firefly.cpp deleted file mode 100644 index e0964c7..0000000 --- a/src/firefly.cpp +++ /dev/null @@ -1,205 +0,0 @@ -#include -#include -#include -#include -#include "./firefly.hpp" -#include -using namespace std; - -Vectors::Vectors() {} - -Vectors::Vectors(vector vec) -{ - this->vec = vec; -} - -void Vectors::print() -{ - cout << "[ "; - for (int i = 0; i < vec.size(); ++i) - { - cout << vec[i] << ", "; - } - cout << "]"; -} - -Vectors Vectors::add(Vectors v) -{ - if (this->vec.size() != v.vec.size()) - { - cout << "Exception: Vectors size don't match"; - exit(1); - } - vector tmp; - for (int i = 0; i < this->vec.size(); ++i) - { - tmp.push_back(this->vec[i] + v.vec[i]); - } - return Vectors(tmp); -} - -Vectors Vectors::subtract(Vectors v) -{ - if (this->vec.size() != v.vec.size()) - { - cout << "Exception: Vectors size don't match"; - exit(1); - } - vector tmp; - for (int i = 0; i < this->vec.size(); ++i) - { - tmp.push_back(this->vec[i] - v.vec[i]); - } - return Vectors(tmp); -} - -Vectors Vectors::scalorMultiply(float number) -{ - if (number == 0.0f) - { - cout << "Exception: Zero Divide Error"; - exit(1); - } - vector tmp; - for (int i = 0; i < this->vec.size(); ++i) - { - tmp.push_back(this->vec[i] * number); - } - return Vectors(tmp); -} - -float Vectors::magnitude() -{ - // this the method 1 - float dot = this->dotProductWith(Vectors(this->vec)); - return sqrt(dot); - // this the second way - // float sum = 0; - // for(int i = 0; i < this->vec.size(); i++) { - // sum += pow(this->vec[i], 2); - // } - // return sqrt(sum); -} - -Vectors Vectors::normalize() -{ - float mag = this->magnitude(); - if (mag == 0.0f) - { - cout << "Exception: Zero Divide Error"; - exit(1); - } - vector n; - for (int i = 0; i < this->vec.size(); ++i) - { - n.push_back(this->vec[i] / mag); - } - - return Vectors(n); -} - -float Vectors::dotProductWith(Vectors v) -{ - float sum = 0.0f; - if (this->vec.size() != v.vec.size()) - { - cout << "Exception: Vectors size don't match"; - exit(1); - } - for (int i = 0; i < this->vec.size(); ++i) - { - sum += this->vec[i] * v.vec[i]; - } - return sum; -} - -float Vectors::angleWith(Vectors v, bool degree = false) -{ - // this is the first method - float dot = this->dotProductWith(v); - float mag1 = this->magnitude(); - float mag2 = v.magnitude(); - float radians = acos(dot / (mag1 * mag2)); - if (degree) - { - return radians * (180.0 / M_PI); - } - return radians; - - // this is the second way, not working giving NaN - // Vectors v1 = this->normalize(); - // Vectors v2 = v.normalize(); - // float dot = v1.dotProductWith(v2); - // float radians = acos(dot); - // if(degree) { - // return radians * (180.0 / M_PI); - // } - // return radians; -} - -bool Vectors::isParallelWith(Vectors v) -{ - if (this->magnitude() == 0 or v.magnitude() == 0) - { - return true; - } - return this->angleWith(v) == 180.0 or this->angleWith(v) == 0.0; -} - -bool Vectors::isOrthogonalWith(Vectors v) -{ - if (this->magnitude() == 0 or v.magnitude() == 0) - { - return true; - } - return this->angleWith(v, true) == 90; -} - -Vectors Vectors::componentParallelTo(Vectors b) -{ - Vectors u = b.normalize(); - float dot = this->dotProductWith(u); - return Vectors(u.scalorMultiply(dot)); -} - -Vectors Vectors::componentOrthogonalTo(Vectors v) -{ - Vectors p = this->componentParallelTo(v); - return Vectors(this->subtract(p)); -} - -Vectors Vectors::crossProductWith(Vectors v) -{ - float x1, x2, y1, y2, z1 = 0, z2 = 0; - x1 = this->vec[0]; - x2 = v.vec[0]; - y1 = this->vec[1]; - y2 = v.vec[1]; - if (this->vec.size() == 3 and v.vec.size() == 3) - { - z1 = this->vec[2]; - z2 = v.vec[2]; - } - - vector new_vector = { - y1 * z2 - y2 * z1, - -(x1 * z2 - x2 * z1), - x1 * y2 - x2 * y1}; - - return Vectors(new_vector); -} - -float Vectors::areaOfParallelogramWith(Vectors v) -{ - return this->crossProductWith(v).magnitude(); -} - -float Vectors::areaOfTriangleWith(Vectors v) -{ - return this->areaOfParallelogramWith(v) / 2; -} - -bool Vectors::isEqualTo(Vectors v) -{ - return this->vec == v.vec; -} \ No newline at end of file From 5a0781e005df0e7288eb438bdfe1d676d964b5e9 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 15:10:32 +0530 Subject: [PATCH 02/11] improve (cmake): revamp for file structure --- CMakeLists.txt | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e3a36d..96b6258 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,13 +1,34 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.10) -project(firefly) +project(firefly LANGUAGES CXX VERSION 2.0.0) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +add_compile_options(-std=c++17) -set (CMAKE_CXX_STANDARD 17) -set(${PROJECT_NAME}_VERSION_MAJOR 2) -set(${PROJECT_NAME}_VERSION_MINOR 0) -set(${PROJECT_NAME}_VERSION_PATCH 0) -set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}) +option(Firefly_ENABLE_DOUBLE_PRECISION "Whether or not to enable double precision. If this is false, float will be used." OFF) +option(Firefly_ENABLE_EXAMPLES "Whether or not to enable examples" OFF) + +if (${Firefly_ENABLE_DOUBLE_PRECISION}) + add_definitions(-DDOUBLE_PRECISION=1) +endif() + +include_directories(headers) + +add_library(${PROJECT_NAME}_static STATIC) +add_library(${PROJECT_NAME}_shared SHARED) + +set_target_properties(${PROJECT_NAME}_static PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +set_target_properties(${PROJECT_NAME}_shared PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) + +add_library(Firefly::Shared ALIAS ${PROJECT_NAME}_shared) +add_library(Firefly::Static ALIAS ${PROJECT_NAME}_static) -include_directories(INCLUDES) add_subdirectory(src) -add_subdirectory(tests) \ No newline at end of file + +if (${Firefly_ENABLE_EXAMPLES}) + message(STATUS "Enabling examples build") + add_subdirectory(examples) +endif() + +install(TARGETS ${PROJECT_NAME}_static ${PROJECT_NAME}_shared) +install(DIRECTORY headers/ DESTINATION includes) From 615f234c43814ff2ac9fb48afbaf84d32fdbdb42 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 15:10:50 +0530 Subject: [PATCH 03/11] improve (git): add build and .clangd to ignore file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 36dec5c..1108029 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,8 @@ install_manifest.txt compile_commands.json CTestTestfile.cmake _deps +/build* +.clangd ### CMake Patch ### # External projects From e167e3f68da4f06ceea9aa8c379820323788ac59 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 15:11:09 +0530 Subject: [PATCH 04/11] improve (ide): formatter settings --- .vscode/settings.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index cad7657..46a0957 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,13 @@ { - "cmake.configureOnOpen": false + "cmake.configureOnOpen": false, + "[cmake]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "twxs.cmake" + }, + "[cpp]": { + "editor.formatOnSave": true, + "editor.insertSpaces": false, + "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd", + "editor.tabSize": 2 + }, } \ No newline at end of file From d4a9cd03859af3983c2cbdff5dd1ab067ee18e1c Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 15:11:28 +0530 Subject: [PATCH 05/11] improve (examples): basic example implementation on new library --- examples/CMakeLists.txt | 10 +++------- examples/main.cpp | 32 +++++++++++--------------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 969eb05..8ecce5e 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,13 +1,9 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.10) -project(firefly_example) +project(example) set(CXX_STANDARD 17) -set(PROJECT_VERSION 2.0.0) -set(PROJECT_BINARY_DIR bin) add_executable(${PROJECT_NAME} main.cpp) -find_library(FIREFLY firefly REQUIRED) - -target_link_libraries(${PROJECT_NAME} ${FIREFLY}) \ No newline at end of file +target_link_libraries(${PROJECT_NAME} Firefly::Shared) \ No newline at end of file diff --git a/examples/main.cpp b/examples/main.cpp index b4186eb..92fcbe1 100644 --- a/examples/main.cpp +++ b/examples/main.cpp @@ -1,28 +1,18 @@ +#include #include -#include #include -using namespace std; +#include "firefly/vector.hpp" -int main() -{ - vector v1 = {1, - 2, - 3, - 4}; - vector v2 = {2, - 4, - 6, - 8}; +int main() { + std::vector vec1{3, 3}; + std::vector vec2{2, -2}; + Firefly::Vector v1{vec1}; + Firefly::Vector v2{vec2}; - Vectors vector1(v1); - Vectors vector2(v2); + auto v3 = v2 * 4; - vector1.add(vector2).print(); - - cout << endl; - - vector1.add(vector2).scalorMultiply(4.5).print(); - - return 0; + std::cout << v1 << std::endl; + std::cout << v2 << std::endl; + std::cout << *v3 << std::endl; } From d9e074882da0c565876b0355ede1da005a89c978 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Sun, 23 Jul 2023 15:13:26 +0530 Subject: [PATCH 06/11] improve (vectors): revamp class and add more functions --- headers/firefly/vector.hpp | 76 ++++++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 6 +-- src/vector/CMakeLists.txt | 5 +++ src/vector/add.cpp | 35 +++++++++++++++++ src/vector/angle_with.cpp | 16 ++++++++ src/vector/area.cpp | 7 ++++ src/vector/cross.cpp | 17 ++++++++ src/vector/dot.cpp | 17 ++++++++ src/vector/elem_sum.cpp | 9 +++++ src/vector/indexers.cpp | 27 +++++++++++++ src/vector/is_normalized.cpp | 5 +++ src/vector/is_orthogonal.cpp | 5 +++ src/vector/is_parallel.cpp | 10 +++++ src/vector/is_zero.cpp | 10 +++++ src/vector/magnitude.cpp | 7 ++++ src/vector/normalize.cpp | 5 +++ src/vector/rank.cpp | 9 +++++ src/vector/scale.cpp | 16 ++++++++ src/vector/subtract.cpp | 13 ++++++ src/vector/vector.cpp | 14 +++++++ src/vector/view.cpp | 20 ++++++++++ 21 files changed, 324 insertions(+), 5 deletions(-) create mode 100644 headers/firefly/vector.hpp create mode 100644 src/vector/CMakeLists.txt create mode 100644 src/vector/add.cpp create mode 100644 src/vector/angle_with.cpp create mode 100644 src/vector/area.cpp create mode 100644 src/vector/cross.cpp create mode 100644 src/vector/dot.cpp create mode 100644 src/vector/elem_sum.cpp create mode 100644 src/vector/indexers.cpp create mode 100644 src/vector/is_normalized.cpp create mode 100644 src/vector/is_orthogonal.cpp create mode 100644 src/vector/is_parallel.cpp create mode 100644 src/vector/is_zero.cpp create mode 100644 src/vector/magnitude.cpp create mode 100644 src/vector/normalize.cpp create mode 100644 src/vector/rank.cpp create mode 100644 src/vector/scale.cpp create mode 100644 src/vector/subtract.cpp create mode 100644 src/vector/vector.cpp create mode 100644 src/vector/view.cpp diff --git a/headers/firefly/vector.hpp b/headers/firefly/vector.hpp new file mode 100644 index 0000000..d6e171f --- /dev/null +++ b/headers/firefly/vector.hpp @@ -0,0 +1,76 @@ +#pragma once + +#include +#include +#include +#include + +#ifdef DOUBLE_PRECISION +using Real = double; +#else +using Real = float; +#endif + +namespace Firefly { +using VectorType = std::vector; + +class Vector { + std::shared_ptr m_vec; + +public: + Vector(Vector &&) = delete; + Vector() = delete; + + Vector(std::size_t size); + Vector(VectorType const &_vec); + Vector(Vector const &_f); + + [[nodiscard]] std::string View() const; + friend std::ostream &operator<<(std::ostream &os, Vector const &_fvec); + + [[nodiscard]] Real At(std::size_t idx) const; + [[nodiscard]] Real &At(std::size_t idx); + + [[nodiscard]] Real operator[](std::size_t idx) const; + [[nodiscard]] Real &operator[](std::size_t idx); + + [[nodiscard]] std::size_t Size() const; + [[nodiscard]] std::size_t Rank() const; + + [[nodiscard]] std::unique_ptr Add(Vector const &_fvec) const; + [[nodiscard]] std::unique_ptr Add(Real const &_scalar) const; + [[nodiscard]] std::unique_ptr operator+(Vector const &_fvec) const; + [[nodiscard]] std::unique_ptr operator+(Real const &_scalar) const; + [[nodiscard]] std::unique_ptr operator++() const; + + [[nodiscard]] std::unique_ptr Scale(Real const &_fvec) const; + [[nodiscard]] std::unique_ptr operator*(Real const &_scalar) const; + + [[nodiscard]] std::unique_ptr Subtract(Vector const &_fvec) const; + [[nodiscard]] std::unique_ptr Subtract(Real const &_scalar) const; + [[nodiscard]] std::unique_ptr operator-(Vector const &_fvec) const; + [[nodiscard]] std::unique_ptr operator-(Real const &_scalar) const; + [[nodiscard]] std::unique_ptr operator--() const; + + [[nodiscard]] Real Dot(Vector const &_fvec) const; + + [[nodiscard]] std::unique_ptr Cross(Vector const &_fvec) const; + + [[nodiscard]] Real ElemSum() const; + + [[nodiscard]] Real Magnitude() const; + + [[nodiscard]] std::unique_ptr Normalize() const; + + [[nodiscard]] Real AngleWith(Vector const &_fvec) const; + + [[nodiscard]] bool IsZero(); + [[nodiscard]] bool IsNormalized(); + [[nodiscard]] bool IsParallel(Vector const &_fvec); + [[nodiscard]] bool IsOrthogonal(Vector const &_fvec); + + [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const; + [[nodiscard]] Real TriangleArea(Vector const &_fvec) const; +}; + +} // namespace Firefly \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19138be..0b8f2d9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,2 @@ -add_library(${PROJECT_NAME} SHARED firefly.cpp) -install( - TARGETS ${PROJECT_NAME} - LIBRARY DESTINATION lib -) \ No newline at end of file +add_subdirectory(vector) \ No newline at end of file diff --git a/src/vector/CMakeLists.txt b/src/vector/CMakeLists.txt new file mode 100644 index 0000000..8760bda --- /dev/null +++ b/src/vector/CMakeLists.txt @@ -0,0 +1,5 @@ + +file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) + +target_sources(${PROJECT_NAME}_shared PRIVATE ${SOURCES}) +target_sources(${PROJECT_NAME}_static PRIVATE ${SOURCES}) \ No newline at end of file diff --git a/src/vector/add.cpp b/src/vector/add.cpp new file mode 100644 index 0000000..cabd3f9 --- /dev/null +++ b/src/vector/add.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +std::unique_ptr Vector::Add(Vector const &_fvec) const { + if (m_vec->size() != _fvec.m_vec->size()) { + throw std::length_error("Rank of two vectors must be equal."); + } + + std::unique_ptr sum = std::make_unique(_fvec); + + for (std::size_t i = 0; i < m_vec->size(); i++) { + sum->At(i) += m_vec->at(i); + } + + return sum; +} + +std::unique_ptr Vector::Add(Real const &_scalar) const { + std::unique_ptr sum = std::make_unique(*this); + + std::transform(sum->m_vec->cbegin(), sum->m_vec->cend(), sum->m_vec->begin(), [&](Real const &_el) { return _el + _scalar; }); + + return sum; +} + +std::unique_ptr Vector::operator+(Real const &_scalar) const { return this->Add(_scalar); } + +std::unique_ptr Vector::operator+(Vector const &_fvec) const { return this->Add(_fvec); } + +std::unique_ptr Vector::operator++() const { return this->Add(1); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/angle_with.cpp b/src/vector/angle_with.cpp new file mode 100644 index 0000000..45595b7 --- /dev/null +++ b/src/vector/angle_with.cpp @@ -0,0 +1,16 @@ +#include +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +Real Vector::AngleWith(Vector const &_fvec) const { + auto angle_radians = std::acos(this->Dot(_fvec) / (this->Magnitude() * _fvec.Magnitude())); + if (std::isnan(angle_radians)) { + throw std::domain_error("Can not find angle with zero vector."); + } + + return angle_radians; +} + +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/area.cpp b/src/vector/area.cpp new file mode 100644 index 0000000..01de62e --- /dev/null +++ b/src/vector/area.cpp @@ -0,0 +1,7 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +Real Vector::ParallelogramArea(Vector const &_fvec) const { return this->Cross(_fvec)->Magnitude(); } + +Real Vector::TriangleArea(Vector const &_fvec) const { return this->ParallelogramArea(_fvec) / 2; } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/cross.cpp b/src/vector/cross.cpp new file mode 100644 index 0000000..0a8b7c7 --- /dev/null +++ b/src/vector/cross.cpp @@ -0,0 +1,17 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +std::unique_ptr Vector::Cross(Vector const &_fvec) const { + if (m_vec->size() != 3 || _fvec.m_vec->size() != 3) { + throw std::invalid_argument("Both vectors must be three-dimensional."); + } + + std::unique_ptr cross = std::make_unique(m_vec->size()); + + cross->At(0) = m_vec->at(1) * _fvec.At(2) - m_vec->at(2) * _fvec.At(1); + cross->At(1) = m_vec->at(2) * _fvec.At(0) - m_vec->at(0) * _fvec.At(2); + cross->At(2) = m_vec->at(0) * _fvec.At(1) - m_vec->at(1) * _fvec.At(0); + + return cross; +} +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/dot.cpp b/src/vector/dot.cpp new file mode 100644 index 0000000..406f6e4 --- /dev/null +++ b/src/vector/dot.cpp @@ -0,0 +1,17 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +Real Vector::Dot(Vector const &_fvec) const { + if (this->Size() != _fvec.Size()) { + throw std::length_error("Size of two vectors must be equal."); + } + + std::unique_ptr dot = std::make_unique(*_fvec.m_vec); + + for (std::size_t i = 0; i < m_vec->size(); i++) { + dot->At(i) *= m_vec->at(i); + } + + return dot->ElemSum(); +} +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/elem_sum.cpp b/src/vector/elem_sum.cpp new file mode 100644 index 0000000..6331b43 --- /dev/null +++ b/src/vector/elem_sum.cpp @@ -0,0 +1,9 @@ +#include +#include + +#include "firefly/vector.hpp" + +namespace Firefly { + +Real Vector::ElemSum() const { return std::reduce(m_vec->cbegin(), m_vec->cend(), 0x0, std::plus()); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/indexers.cpp b/src/vector/indexers.cpp new file mode 100644 index 0000000..d2f852e --- /dev/null +++ b/src/vector/indexers.cpp @@ -0,0 +1,27 @@ +#include + +#include "firefly/vector.hpp" + +namespace Firefly { + +Real Vector::At(std::size_t idx) const { + if (idx >= m_vec->size()) { + throw std::out_of_range("Index out of range. Requested index: " + std::to_string(idx) + + ", Vector size: " + std::to_string(m_vec->size())); + } + + return m_vec->at(idx); +} + +Real &Vector::At(std::size_t idx) { + if (idx >= m_vec->size()) { + m_vec->resize(idx + 1); + } + + return m_vec->at(idx); +} + +Real Vector::operator[](std::size_t idx) const { return this->At(idx); } + +Real &Vector::operator[](std::size_t idx) { return this->At(idx); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_normalized.cpp b/src/vector/is_normalized.cpp new file mode 100644 index 0000000..b3c91c8 --- /dev/null +++ b/src/vector/is_normalized.cpp @@ -0,0 +1,5 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsNormalized() { return this->Magnitude() == 1; } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_orthogonal.cpp b/src/vector/is_orthogonal.cpp new file mode 100644 index 0000000..7c25358 --- /dev/null +++ b/src/vector/is_orthogonal.cpp @@ -0,0 +1,5 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsOrthogonal(Vector const &_fvec) { return this->Dot(_fvec) == 0; } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_parallel.cpp b/src/vector/is_parallel.cpp new file mode 100644 index 0000000..c637019 --- /dev/null +++ b/src/vector/is_parallel.cpp @@ -0,0 +1,10 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsParallel(const Vector &_fvec) { + if (this->Magnitude() == 0 || _fvec.Magnitude() == 0) { + return true; + } + return this->AngleWith(_fvec) == 0; +} +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_zero.cpp b/src/vector/is_zero.cpp new file mode 100644 index 0000000..4c98148 --- /dev/null +++ b/src/vector/is_zero.cpp @@ -0,0 +1,10 @@ +#include +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsZero() { + return std::all_of(m_vec->cbegin(), m_vec->cend(), [](Real const &_el) { return _el == 0; }); +} +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/magnitude.cpp b/src/vector/magnitude.cpp new file mode 100644 index 0000000..771067a --- /dev/null +++ b/src/vector/magnitude.cpp @@ -0,0 +1,7 @@ +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +Real Vector::Magnitude() const { return static_cast(std::sqrt(this->Dot(*this))); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/normalize.cpp b/src/vector/normalize.cpp new file mode 100644 index 0000000..ae389e2 --- /dev/null +++ b/src/vector/normalize.cpp @@ -0,0 +1,5 @@ +#include "firefly/vector.hpp" + +namespace Firefly { +std::unique_ptr Vector::Normalize() const { return this->Scale(1 / this->Magnitude()); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/rank.cpp b/src/vector/rank.cpp new file mode 100644 index 0000000..59a7d01 --- /dev/null +++ b/src/vector/rank.cpp @@ -0,0 +1,9 @@ +#include "firefly/vector.hpp" + +namespace Firefly { + +std::size_t Vector::Size() const { return m_vec->size(); } + +std::size_t Vector::Rank() const { return this->Size(); } + +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/scale.cpp b/src/vector/scale.cpp new file mode 100644 index 0000000..27d9c0f --- /dev/null +++ b/src/vector/scale.cpp @@ -0,0 +1,16 @@ +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +std::unique_ptr Vector::Scale(Real const &_scalar) const { + std::unique_ptr scaled = std::make_unique(*this); + + std::transform(scaled->m_vec->cbegin(), scaled->m_vec->cend(), scaled->m_vec->begin(), + [&](Real const &_el) { return _el * _scalar; }); + + return scaled; +} + +std::unique_ptr Vector::operator*(Real const &_scalar) const { return this->Scale(_scalar); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/subtract.cpp b/src/vector/subtract.cpp new file mode 100644 index 0000000..79ee630 --- /dev/null +++ b/src/vector/subtract.cpp @@ -0,0 +1,13 @@ +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +std::unique_ptr Vector::Subtract(Vector const &_fvec) const { return this->Add(*_fvec.Scale(-1)); } +std::unique_ptr Vector::Subtract(Real const &_scalar) const { return this->Add(-_scalar); } + +std::unique_ptr Vector::operator-(Vector const &_fvec) const { return this->Subtract(_fvec); } +std::unique_ptr Vector::operator-(Real const &_scalar) const { return this->Subtract(_scalar); } + +std::unique_ptr Vector::operator--() const { return this->Subtract(1); } +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/vector.cpp b/src/vector/vector.cpp new file mode 100644 index 0000000..7b77e27 --- /dev/null +++ b/src/vector/vector.cpp @@ -0,0 +1,14 @@ + +#include "firefly/vector.hpp" + +namespace Firefly { + +Vector::Vector(std::size_t size) : m_vec{std::make_shared(size)} {} + +Vector::Vector(VectorType const &_vec) + : m_vec(std::make_shared(_vec)) {} + +Vector::Vector(Vector const &_f) + : m_vec(std::make_shared(*_f.m_vec)) {} + +} // namespace Firefly diff --git a/src/vector/view.cpp b/src/vector/view.cpp new file mode 100644 index 0000000..41fb3ee --- /dev/null +++ b/src/vector/view.cpp @@ -0,0 +1,20 @@ +#include + +#include "firefly/vector.hpp" +namespace Firefly { +std::string Vector::View() const { + std::stringstream ss; + ss << "["; + for (auto &el : *m_vec) { + ss << el << ", "; + } + ss << "\b\b]"; + return ss.str(); +} + +std::ostream &operator<<(std::ostream &os, Firefly::Vector const &_fvec) { + os << _fvec.View(); + return os; +} + +} // namespace Firefly From f6b4e476e1dba7dd7dbb4f0c014e9caf8035129c Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Mon, 24 Jul 2023 02:09:20 +0530 Subject: [PATCH 07/11] feature (docs): create documentation from doxygen --- Doxfile | 29 + docs/add_8cpp.html | 98 + docs/add_8cpp__incl.map | 19 + docs/add_8cpp__incl.md5 | 1 + docs/add_8cpp__incl.png | Bin 0 -> 19362 bytes docs/angle__with_8cpp.html | 97 + docs/angle__with_8cpp__incl.map | 17 + docs/angle__with_8cpp__incl.md5 | 1 + docs/angle__with_8cpp__incl.png | Bin 0 -> 17743 bytes docs/annotated.html | 88 + docs/area_8cpp.html | 95 + docs/area_8cpp__incl.map | 13 + docs/area_8cpp__incl.md5 | 1 + docs/area_8cpp__incl.png | Bin 0 -> 12446 bytes docs/bc_s.png | Bin 0 -> 676 bytes docs/bc_sd.png | Bin 0 -> 635 bytes docs/classFirefly_1_1Vector-members.html | 127 + docs/classFirefly_1_1Vector.html | 1209 ++++++++ docs/classFirefly_1_1Vector__coll__graph.map | 3 + docs/classFirefly_1_1Vector__coll__graph.md5 | 1 + docs/classFirefly_1_1Vector__coll__graph.png | Bin 0 -> 13932 bytes docs/classes.html | 88 + docs/closed.png | Bin 0 -> 132 bytes docs/cross_8cpp.html | 95 + docs/cross_8cpp__incl.map | 13 + docs/cross_8cpp__incl.md5 | 1 + docs/cross_8cpp__incl.png | Bin 0 -> 12233 bytes docs/d0/dc0/subtract_8cpp.html | 116 + docs/d1/df0/is__orthogonal_8cpp__incl.map | 13 + docs/d1/df0/is__orthogonal_8cpp__incl.md5 | 1 + docs/d1/df0/is__orthogonal_8cpp__incl.png | Bin 0 -> 12902 bytes docs/d3/d3c/cross_8cpp__incl.map | 13 + docs/d3/d3c/cross_8cpp__incl.md5 | 1 + docs/d3/d3c/cross_8cpp__incl.png | Bin 0 -> 12233 bytes docs/d3/d4d/angle__with_8cpp.html | 119 + docs/d3/d61/rank_8cpp.html | 113 + .../dad/classFirefly_1_1Vector-members.html | 127 + docs/d4/d1b/vector_8cpp.html | 113 + docs/d4/d8b/scale_8cpp.html | 116 + docs/d4/da0/area_8cpp__incl.map | 13 + docs/d4/da0/area_8cpp__incl.md5 | 1 + docs/d4/da0/area_8cpp__incl.png | Bin 0 -> 12446 bytes docs/d5/d8f/rank_8cpp__incl.map | 13 + docs/d5/d8f/rank_8cpp__incl.md5 | 1 + docs/d5/d8f/rank_8cpp__incl.png | Bin 0 -> 12641 bytes docs/d6/d5c/is__normalized_8cpp.html | 113 + docs/d6/d83/CMakeCXXCompilerId_8cpp.html | 417 +++ docs/d6/dbc/namespaceFirefly.html | 155 + docs/d7/d02/is__parallel_8cpp__incl.map | 15 + docs/d7/d02/is__parallel_8cpp__incl.md5 | 1 + docs/d7/d02/is__parallel_8cpp__incl.png | Bin 0 -> 14931 bytes docs/d7/d7e/elem__sum_8cpp.html | 119 + docs/d7/d82/add_8cpp__incl.map | 19 + docs/d7/d82/add_8cpp__incl.md5 | 1 + docs/d7/d82/add_8cpp__incl.png | Bin 0 -> 19362 bytes docs/d8/d18/subtract_8cpp__incl.map | 15 + docs/d8/d18/subtract_8cpp__incl.md5 | 1 + docs/d8/d18/subtract_8cpp__incl.png | Bin 0 -> 15140 bytes docs/d8/d78/scale_8cpp__incl.map | 15 + docs/d8/d78/scale_8cpp__incl.md5 | 1 + docs/d8/d78/scale_8cpp__incl.png | Bin 0 -> 15093 bytes docs/d8/dc3/magnitude_8cpp__incl.map | 15 + docs/d8/dc3/magnitude_8cpp__incl.md5 | 1 + docs/d8/dc3/magnitude_8cpp__incl.png | Bin 0 -> 15467 bytes docs/d9/d1c/dot_8cpp__incl.map | 13 + docs/d9/d1c/dot_8cpp__incl.md5 | 1 + docs/d9/d1c/dot_8cpp__incl.png | Bin 0 -> 12410 bytes docs/d9/d8b/is__parallel_8cpp.html | 116 + docs/d9/dae/is__zero_8cpp__incl.map | 17 + docs/d9/dae/is__zero_8cpp__incl.md5 | 1 + docs/d9/dae/is__zero_8cpp__incl.png | Bin 0 -> 17266 bytes docs/da/d16/vector_8hpp.html | 190 ++ docs/da/d16/vector_8hpp_source.html | 199 ++ docs/da/d19/indexers_8cpp__incl.map | 15 + docs/da/d19/indexers_8cpp__incl.md5 | 1 + docs/da/d19/indexers_8cpp__incl.png | Bin 0 -> 15452 bytes docs/da/d60/is__zero_8cpp.html | 119 + docs/da/dce/main_8cpp__incl.map | 18 + docs/da/dce/main_8cpp__incl.md5 | 1 + docs/da/dce/main_8cpp__incl.png | Bin 0 -> 19651 bytes docs/db/d23/classFirefly_1_1Vector.html | 1217 ++++++++ docs/db/db7/angle__with_8cpp__incl.map | 17 + docs/db/db7/angle__with_8cpp__incl.md5 | 1 + docs/db/db7/angle__with_8cpp__incl.png | Bin 0 -> 17743 bytes docs/dc/d19/magnitude_8cpp.html | 116 + docs/dc/d23/is__orthogonal_8cpp.html | 113 + docs/dc/d82/area_8cpp.html | 113 + docs/dc/dca/vector_8cpp__incl.map | 13 + docs/dc/dca/vector_8cpp__incl.md5 | 1 + docs/dc/dca/vector_8cpp__incl.png | Bin 0 -> 12131 bytes docs/dc/de6/elem__sum_8cpp__incl.map | 17 + docs/dc/de6/elem__sum_8cpp__incl.md5 | 1 + docs/dc/de6/elem__sum_8cpp__incl.png | Bin 0 -> 16972 bytes docs/dc/df8/test_8cpp__incl.map | 11 + docs/dc/df8/test_8cpp__incl.md5 | 1 + docs/dc/df8/test_8cpp__incl.png | Bin 0 -> 9231 bytes docs/dc/df8/view_8cpp__incl.map | 15 + docs/dc/df8/view_8cpp__incl.md5 | 1 + docs/dc/df8/view_8cpp__incl.png | Bin 0 -> 14921 bytes docs/dd/d1c/indexers_8cpp.html | 116 + .../classFirefly_1_1Vector__coll__graph.map | 3 + .../classFirefly_1_1Vector__coll__graph.md5 | 1 + .../classFirefly_1_1Vector__coll__graph.png | Bin 0 -> 13932 bytes docs/dd/d8c/cross_8cpp.html | 113 + docs/dd/dc2/view_8cpp.html | 122 + docs/de/d9b/normalize_8cpp__incl.map | 13 + docs/de/d9b/normalize_8cpp__incl.md5 | 1 + docs/de/d9b/normalize_8cpp__incl.png | Bin 0 -> 12973 bytes docs/de/daa/dot_8cpp.html | 113 + docs/de/daf/normalize_8cpp.html | 113 + docs/de/dc4/vector_8hpp__dep__incl.map | 39 + docs/de/dc4/vector_8hpp__dep__incl.md5 | 1 + docs/de/dc4/vector_8hpp__dep__incl.png | Bin 0 -> 61666 bytes docs/de/de7/add_8cpp.html | 122 + docs/df/d03/is__normalized_8cpp__incl.map | 13 + docs/df/d03/is__normalized_8cpp__incl.md5 | 1 + docs/df/d03/is__normalized_8cpp__incl.png | Bin 0 -> 13188 bytes docs/df/d0a/main_8cpp.html | 139 + docs/df/d29/vector_8hpp__incl.map | 11 + docs/df/d29/vector_8hpp__incl.md5 | 1 + docs/df/d29/vector_8hpp__incl.png | Bin 0 -> 10354 bytes docs/df/dac/test_8cpp.html | 132 + docs/dir_000003_000001.html | 83 + docs/dir_000004_000006.html | 83 + docs/dir_000009_000006.html | 83 + .../dir_0baa9f3d984dd29d1429171590d769d6.html | 126 + ...r_0baa9f3d984dd29d1429171590d769d6_dep.map | 6 + ...r_0baa9f3d984dd29d1429171590d769d6_dep.md5 | 1 + ...r_0baa9f3d984dd29d1429171590d769d6_dep.png | Bin 0 -> 3988 bytes .../dir_4fef79e7177ba769987a8da36c892c5f.html | 92 + .../dir_59425e443f801f1f2fd8bbe4959a3ccf.html | 92 + .../dir_63772b626f2709090f0bdca0f40827b4.html | 102 + ...r_63772b626f2709090f0bdca0f40827b4_dep.map | 5 + ...r_63772b626f2709090f0bdca0f40827b4_dep.md5 | 1 + ...r_63772b626f2709090f0bdca0f40827b4_dep.png | Bin 0 -> 3448 bytes .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 92 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.map | 6 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 | 1 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.png | Bin 0 -> 3860 bytes .../dir_6974064bec986529c9a68c7c75e571af.html | 101 + ...r_6974064bec986529c9a68c7c75e571af_dep.map | 4 + ...r_6974064bec986529c9a68c7c75e571af_dep.md5 | 1 + ...r_6974064bec986529c9a68c7c75e571af_dep.png | Bin 0 -> 3355 bytes .../dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html | 92 + ...r_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map | 4 + ...r_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 | 1 + ...r_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png | Bin 0 -> 2387 bytes .../dir_713acbf0246a22292b4b09ce6f71bf4b.html | 102 + ...r_713acbf0246a22292b4b09ce6f71bf4b_dep.map | 5 + ...r_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 | 1 + ...r_713acbf0246a22292b4b09ce6f71bf4b_dep.png | Bin 0 -> 4368 bytes .../dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html | 92 + .../dir_d28a4824dc47e487b107a5db32ef43c4.html | 102 + ...r_d28a4824dc47e487b107a5db32ef43c4_dep.map | 5 + ...r_d28a4824dc47e487b107a5db32ef43c4_dep.md5 | 1 + ...r_d28a4824dc47e487b107a5db32ef43c4_dep.png | Bin 0 -> 3121 bytes docs/doc.svg | 12 + docs/docd.svg | 12 + docs/dot_8cpp.html | 95 + docs/dot_8cpp__incl.map | 13 + docs/dot_8cpp__incl.md5 | 1 + docs/dot_8cpp__incl.png | Bin 0 -> 12410 bytes docs/doxygen.css | 2017 +++++++++++++ docs/doxygen.svg | 28 + docs/dynsections.js | 123 + docs/elem__sum_8cpp.html | 97 + docs/elem__sum_8cpp__incl.map | 17 + docs/elem__sum_8cpp__incl.md5 | 1 + docs/elem__sum_8cpp__incl.png | Bin 0 -> 16972 bytes docs/files.html | 109 + docs/folderclosed.svg | 11 + docs/folderclosedd.svg | 11 + docs/folderopen.svg | 17 + docs/folderopend.svg | 12 + docs/functions.html | 163 ++ docs/functions_func.html | 162 ++ docs/functions_rela.html | 82 + docs/globals.html | 82 + docs/globals_defs.html | 90 + docs/globals_func.html | 82 + docs/globals_type.html | 82 + docs/globals_vars.html | 86 + docs/graph_legend.html | 142 + docs/graph_legend.md5 | 1 + docs/graph_legend.png | Bin 0 -> 23305 bytes docs/index.html | 82 + docs/indexers_8cpp.html | 96 + docs/indexers_8cpp__incl.map | 15 + docs/indexers_8cpp__incl.md5 | 1 + docs/indexers_8cpp__incl.png | Bin 0 -> 15452 bytes docs/is__normalized_8cpp.html | 95 + docs/is__normalized_8cpp__incl.map | 13 + docs/is__normalized_8cpp__incl.md5 | 1 + docs/is__normalized_8cpp__incl.png | Bin 0 -> 13188 bytes docs/is__orthogonal_8cpp.html | 95 + docs/is__orthogonal_8cpp__incl.map | 13 + docs/is__orthogonal_8cpp__incl.md5 | 1 + docs/is__orthogonal_8cpp__incl.png | Bin 0 -> 12902 bytes docs/is__parallel_8cpp.html | 96 + docs/is__parallel_8cpp__incl.map | 15 + docs/is__parallel_8cpp__incl.md5 | 1 + docs/is__parallel_8cpp__incl.png | Bin 0 -> 14931 bytes docs/is__zero_8cpp.html | 97 + docs/is__zero_8cpp__incl.map | 17 + docs/is__zero_8cpp__incl.md5 | 1 + docs/is__zero_8cpp__incl.png | Bin 0 -> 17266 bytes docs/jquery.js | 34 + docs/latex/add_8cpp.tex | 11 + docs/latex/add_8cpp__incl.md5 | 1 + docs/latex/add_8cpp__incl.pdf | Bin 0 -> 11940 bytes docs/latex/angle__with_8cpp.tex | 10 + docs/latex/angle__with_8cpp__incl.md5 | 1 + docs/latex/angle__with_8cpp__incl.pdf | Bin 0 -> 12453 bytes docs/latex/annotated.tex | 4 + docs/latex/area_8cpp.tex | 8 + docs/latex/area_8cpp__incl.md5 | 1 + docs/latex/area_8cpp__incl.pdf | Bin 0 -> 11061 bytes docs/latex/classFirefly_1_1Vector.tex | 725 +++++ .../classFirefly_1_1Vector__coll__graph.md5 | 1 + .../classFirefly_1_1Vector__coll__graph.pdf | Bin 0 -> 11558 bytes docs/latex/cross_8cpp.tex | 8 + docs/latex/cross_8cpp__incl.md5 | 1 + docs/latex/cross_8cpp__incl.pdf | Bin 0 -> 11086 bytes docs/latex/d0/dc0/subtract_8cpp.tex | 16 + .../d1/df0/is__orthogonal_8cpp__incl.md5 | 1 + .../d1/df0/is__orthogonal_8cpp__incl.pdf | Bin 0 -> 11550 bytes docs/latex/d3/d3c/cross_8cpp__incl.md5 | 1 + docs/latex/d3/d3c/cross_8cpp__incl.pdf | Bin 0 -> 11086 bytes docs/latex/d3/d4d/angle__with_8cpp.tex | 17 + docs/latex/d3/d61/rank_8cpp.tex | 15 + docs/latex/d4/d1b/vector_8cpp.tex | 15 + docs/latex/d4/d8b/scale_8cpp.tex | 16 + docs/latex/d4/da0/area_8cpp__incl.md5 | 1 + docs/latex/d4/da0/area_8cpp__incl.pdf | Bin 0 -> 11096 bytes docs/latex/d5/d8f/rank_8cpp__incl.md5 | 1 + docs/latex/d5/d8f/rank_8cpp__incl.pdf | Bin 0 -> 11334 bytes docs/latex/d6/d5c/is__normalized_8cpp.tex | 15 + docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex | 196 ++ docs/latex/d6/dbc/namespaceFirefly.tex | 45 + docs/latex/d7/d02/is__parallel_8cpp__incl.md5 | 1 + docs/latex/d7/d02/is__parallel_8cpp__incl.pdf | Bin 0 -> 11375 bytes docs/latex/d7/d7e/elem__sum_8cpp.tex | 17 + docs/latex/d7/d82/add_8cpp__incl.md5 | 1 + docs/latex/d7/d82/add_8cpp__incl.pdf | Bin 0 -> 12008 bytes docs/latex/d8/d18/subtract_8cpp__incl.md5 | 1 + docs/latex/d8/d18/subtract_8cpp__incl.pdf | Bin 0 -> 11502 bytes docs/latex/d8/d78/scale_8cpp__incl.md5 | 1 + docs/latex/d8/d78/scale_8cpp__incl.pdf | Bin 0 -> 11539 bytes docs/latex/d8/dc3/magnitude_8cpp__incl.md5 | 1 + docs/latex/d8/dc3/magnitude_8cpp__incl.pdf | Bin 0 -> 11624 bytes docs/latex/d9/d1c/dot_8cpp__incl.md5 | 1 + docs/latex/d9/d1c/dot_8cpp__incl.pdf | Bin 0 -> 11101 bytes docs/latex/d9/d8b/is__parallel_8cpp.tex | 16 + docs/latex/d9/dae/is__zero_8cpp__incl.md5 | 1 + docs/latex/d9/dae/is__zero_8cpp__incl.pdf | Bin 0 -> 12034 bytes docs/latex/da/d16/vector_8hpp.tex | 47 + docs/latex/da/d16/vector_8hpp_source.tex | 86 + docs/latex/da/d19/indexers_8cpp__incl.md5 | 1 + docs/latex/da/d19/indexers_8cpp__incl.pdf | Bin 0 -> 11629 bytes docs/latex/da/d60/is__zero_8cpp.tex | 17 + docs/latex/da/dce/main_8cpp__incl.md5 | 1 + docs/latex/da/dce/main_8cpp__incl.pdf | Bin 0 -> 12093 bytes docs/latex/db/d23/classFirefly_1_1Vector.tex | 734 +++++ docs/latex/db/db7/angle__with_8cpp__incl.md5 | 1 + docs/latex/db/db7/angle__with_8cpp__incl.pdf | Bin 0 -> 12475 bytes docs/latex/dc/d19/magnitude_8cpp.tex | 16 + docs/latex/dc/d23/is__orthogonal_8cpp.tex | 15 + docs/latex/dc/d82/area_8cpp.tex | 15 + docs/latex/dc/dca/vector_8cpp__incl.md5 | 1 + docs/latex/dc/dca/vector_8cpp__incl.pdf | Bin 0 -> 11103 bytes docs/latex/dc/de6/elem__sum_8cpp__incl.md5 | 1 + docs/latex/dc/de6/elem__sum_8cpp__incl.pdf | Bin 0 -> 11660 bytes docs/latex/dc/df8/test_8cpp__incl.md5 | 1 + docs/latex/dc/df8/test_8cpp__incl.pdf | Bin 0 -> 10480 bytes docs/latex/dc/df8/view_8cpp__incl.md5 | 1 + docs/latex/dc/df8/view_8cpp__incl.pdf | Bin 0 -> 11728 bytes docs/latex/dd/d1c/indexers_8cpp.tex | 16 + .../classFirefly_1_1Vector__coll__graph.md5 | 1 + .../classFirefly_1_1Vector__coll__graph.pdf | Bin 0 -> 11590 bytes docs/latex/dd/d8c/cross_8cpp.tex | 15 + docs/latex/dd/dc2/view_8cpp.tex | 21 + docs/latex/de/d9b/normalize_8cpp__incl.md5 | 1 + docs/latex/de/d9b/normalize_8cpp__incl.pdf | Bin 0 -> 11462 bytes docs/latex/de/daa/dot_8cpp.tex | 15 + docs/latex/de/daf/normalize_8cpp.tex | 15 + docs/latex/de/dc4/vector_8hpp__dep__incl.md5 | 1 + docs/latex/de/dc4/vector_8hpp__dep__incl.pdf | Bin 0 -> 15451 bytes docs/latex/de/de7/add_8cpp.tex | 18 + .../df/d03/is__normalized_8cpp__incl.md5 | 1 + .../df/d03/is__normalized_8cpp__incl.pdf | Bin 0 -> 11519 bytes docs/latex/df/d0a/main_8cpp.tex | 28 + docs/latex/df/d29/vector_8hpp__incl.md5 | 1 + docs/latex/df/d29/vector_8hpp__incl.pdf | Bin 0 -> 10721 bytes docs/latex/df/dac/test_8cpp.tex | 28 + .../dir_0baa9f3d984dd29d1429171590d769d6.tex | 41 + ...r_0baa9f3d984dd29d1429171590d769d6_dep.md5 | 1 + ...r_0baa9f3d984dd29d1429171590d769d6_dep.pdf | Bin 0 -> 7151 bytes .../dir_4fef79e7177ba769987a8da36c892c5f.tex | 7 + .../dir_59425e443f801f1f2fd8bbe4959a3ccf.tex | 7 + .../dir_63772b626f2709090f0bdca0f40827b4.tex | 15 + ...r_63772b626f2709090f0bdca0f40827b4_dep.md5 | 1 + ...r_63772b626f2709090f0bdca0f40827b4_dep.pdf | Bin 0 -> 7673 bytes .../dir_68267d1309a1af8e8297ef4c3efbcdba.tex | 7 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 | 1 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf | Bin 0 -> 7151 bytes .../dir_6974064bec986529c9a68c7c75e571af.tex | 15 + ...r_6974064bec986529c9a68c7c75e571af_dep.md5 | 1 + ...r_6974064bec986529c9a68c7c75e571af_dep.pdf | Bin 0 -> 6976 bytes .../dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.tex | 7 + ...r_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 | 1 + ...r_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.pdf | Bin 0 -> 9527 bytes .../dir_713acbf0246a22292b4b09ce6f71bf4b.tex | 15 + ...r_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 | 1 + ...r_713acbf0246a22292b4b09ce6f71bf4b_dep.pdf | Bin 0 -> 8240 bytes .../dir_7f57b1e41c5acd0e859ae5f3a2b075a9.tex | 7 + .../dir_d28a4824dc47e487b107a5db32ef43c4.tex | 15 + ...r_d28a4824dc47e487b107a5db32ef43c4_dep.md5 | 1 + ...r_d28a4824dc47e487b107a5db32ef43c4_dep.pdf | Bin 0 -> 6870 bytes docs/latex/dot_8cpp.tex | 8 + docs/latex/dot_8cpp__incl.md5 | 1 + docs/latex/dot_8cpp__incl.pdf | Bin 0 -> 11096 bytes docs/latex/doxygen.sty | 694 +++++ docs/latex/elem__sum_8cpp.tex | 10 + docs/latex/elem__sum_8cpp__incl.md5 | 1 + docs/latex/elem__sum_8cpp__incl.pdf | Bin 0 -> 11665 bytes docs/latex/etoc_doxygen.sty | 2182 ++++++++++++++ docs/latex/files.tex | 22 + docs/latex/indexers_8cpp.tex | 9 + docs/latex/indexers_8cpp__incl.md5 | 1 + docs/latex/indexers_8cpp__incl.pdf | Bin 0 -> 11608 bytes docs/latex/is__normalized_8cpp.tex | 8 + docs/latex/is__normalized_8cpp__incl.md5 | 1 + docs/latex/is__normalized_8cpp__incl.pdf | Bin 0 -> 11511 bytes docs/latex/is__orthogonal_8cpp.tex | 8 + docs/latex/is__orthogonal_8cpp__incl.md5 | 1 + docs/latex/is__orthogonal_8cpp__incl.pdf | Bin 0 -> 11535 bytes docs/latex/is__parallel_8cpp.tex | 9 + docs/latex/is__parallel_8cpp__incl.md5 | 1 + docs/latex/is__parallel_8cpp__incl.pdf | Bin 0 -> 11397 bytes docs/latex/is__zero_8cpp.tex | 10 + docs/latex/is__zero_8cpp__incl.md5 | 1 + docs/latex/is__zero_8cpp__incl.pdf | Bin 0 -> 12030 bytes docs/latex/longtable_doxygen.sty | 456 +++ docs/latex/magnitude_8cpp.tex | 9 + docs/latex/magnitude_8cpp__incl.md5 | 1 + docs/latex/magnitude_8cpp__incl.pdf | Bin 0 -> 11602 bytes docs/latex/namespaceFirefly.tex | 45 + docs/latex/namespaces.tex | 4 + docs/latex/normalize_8cpp.tex | 8 + docs/latex/normalize_8cpp__incl.md5 | 1 + docs/latex/normalize_8cpp__incl.pdf | Bin 0 -> 11456 bytes docs/latex/rank_8cpp.tex | 8 + docs/latex/rank_8cpp__incl.md5 | 1 + docs/latex/rank_8cpp__incl.pdf | Bin 0 -> 11366 bytes docs/latex/refman.tex | 250 ++ docs/latex/scale_8cpp.tex | 9 + docs/latex/scale_8cpp__incl.md5 | 1 + docs/latex/scale_8cpp__incl.pdf | Bin 0 -> 11516 bytes docs/latex/subtract_8cpp.tex | 9 + docs/latex/subtract_8cpp__incl.md5 | 1 + docs/latex/subtract_8cpp__incl.pdf | Bin 0 -> 11498 bytes docs/latex/tabu_doxygen.sty | 2557 +++++++++++++++++ docs/latex/vector_8cpp.tex | 8 + docs/latex/vector_8cpp__incl.md5 | 1 + docs/latex/vector_8cpp__incl.pdf | Bin 0 -> 11087 bytes docs/latex/vector_8hpp.tex | 32 + docs/latex/vector_8hpp__dep__incl.md5 | 1 + docs/latex/vector_8hpp__dep__incl.pdf | Bin 0 -> 15346 bytes docs/latex/vector_8hpp__incl.md5 | 1 + docs/latex/vector_8hpp__incl.pdf | Bin 0 -> 10704 bytes docs/latex/vector_8hpp_source.tex | 86 + docs/latex/view_8cpp.tex | 14 + docs/latex/view_8cpp__incl.md5 | 1 + docs/latex/view_8cpp__incl.pdf | Bin 0 -> 11702 bytes docs/magnitude_8cpp.html | 96 + docs/magnitude_8cpp__incl.map | 15 + docs/magnitude_8cpp__incl.md5 | 1 + docs/magnitude_8cpp__incl.png | Bin 0 -> 15467 bytes docs/menu.js | 136 + docs/menudata.js | 72 + docs/namespaceFirefly.html | 155 + docs/namespacemembers.html | 83 + docs/namespacemembers_func.html | 82 + docs/namespacemembers_type.html | 82 + docs/namespaces.html | 88 + docs/nav_f.png | Bin 0 -> 153 bytes docs/nav_fd.png | Bin 0 -> 169 bytes docs/nav_g.png | Bin 0 -> 95 bytes docs/nav_h.png | Bin 0 -> 98 bytes docs/nav_hd.png | Bin 0 -> 114 bytes docs/normalize_8cpp.html | 95 + docs/normalize_8cpp__incl.map | 13 + docs/normalize_8cpp__incl.md5 | 1 + docs/normalize_8cpp__incl.png | Bin 0 -> 12973 bytes docs/open.png | Bin 0 -> 123 bytes docs/rank_8cpp.html | 95 + docs/rank_8cpp__incl.map | 13 + docs/rank_8cpp__incl.md5 | 1 + docs/rank_8cpp__incl.png | Bin 0 -> 12641 bytes docs/scale_8cpp.html | 96 + docs/scale_8cpp__incl.map | 15 + docs/scale_8cpp__incl.md5 | 1 + docs/scale_8cpp__incl.png | Bin 0 -> 15093 bytes docs/search/all_0.js | 9 + docs/search/all_1.js | 5 + docs/search/all_10.js | 4 + docs/search/all_2.js | 5 + docs/search/all_3.js | 5 + docs/search/all_4.js | 4 + docs/search/all_5.js | 12 + docs/search/all_6.js | 5 + docs/search/all_7.js | 5 + docs/search/all_8.js | 10 + docs/search/all_9.js | 4 + docs/search/all_a.js | 6 + docs/search/all_b.js | 8 + docs/search/all_c.js | 4 + docs/search/all_d.js | 9 + docs/search/all_e.js | 4 + docs/search/all_f.js | 9 + docs/search/classes_0.js | 4 + docs/search/close.svg | 18 + docs/search/defines_0.js | 4 + docs/search/defines_1.js | 4 + docs/search/defines_2.js | 5 + docs/search/defines_3.js | 4 + docs/search/defines_4.js | 4 + docs/search/defines_5.js | 4 + docs/search/defines_6.js | 5 + docs/search/files_0.js | 6 + docs/search/files_1.js | 4 + docs/search/files_2.js | 4 + docs/search/files_3.js | 4 + docs/search/files_4.js | 8 + docs/search/files_5.js | 4 + docs/search/files_6.js | 4 + docs/search/files_7.js | 4 + docs/search/files_8.js | 5 + docs/search/files_9.js | 6 + docs/search/files_a.js | 6 + docs/search/functions_0.js | 6 + docs/search/functions_1.js | 4 + docs/search/functions_2.js | 4 + docs/search/functions_3.js | 4 + docs/search/functions_4.js | 7 + docs/search/functions_5.js | 4 + docs/search/functions_6.js | 4 + docs/search/functions_7.js | 10 + docs/search/functions_8.js | 4 + docs/search/functions_9.js | 4 + docs/search/functions_a.js | 6 + docs/search/functions_b.js | 4 + docs/search/functions_c.js | 5 + docs/search/functions_d.js | 4 + docs/search/mag.svg | 24 + docs/search/mag_d.svg | 24 + docs/search/mag_sel.svg | 31 + docs/search/mag_seld.svg | 31 + docs/search/namespaces_0.js | 4 + docs/search/related_0.js | 4 + docs/search/search.css | 291 ++ docs/search/search.js | 820 ++++++ docs/search/searchdata.js | 33 + docs/search/typedefs_0.js | 4 + docs/search/typedefs_1.js | 4 + docs/search/variables_0.js | 8 + docs/splitbar.png | Bin 0 -> 314 bytes docs/splitbard.png | Bin 0 -> 282 bytes docs/subtract_8cpp.html | 96 + docs/subtract_8cpp__incl.map | 15 + docs/subtract_8cpp__incl.md5 | 1 + docs/subtract_8cpp__incl.png | Bin 0 -> 15140 bytes docs/sync_off.png | Bin 0 -> 853 bytes docs/sync_on.png | Bin 0 -> 845 bytes docs/tab_a.png | Bin 0 -> 142 bytes docs/tab_ad.png | Bin 0 -> 135 bytes docs/tab_b.png | Bin 0 -> 169 bytes docs/tab_bd.png | Bin 0 -> 173 bytes docs/tab_h.png | Bin 0 -> 177 bytes docs/tab_hd.png | Bin 0 -> 180 bytes docs/tab_s.png | Bin 0 -> 184 bytes docs/tab_sd.png | Bin 0 -> 188 bytes docs/tabs.css | 1 + docs/vector_8cpp.html | 95 + docs/vector_8cpp__incl.map | 13 + docs/vector_8cpp__incl.md5 | 1 + docs/vector_8cpp__incl.png | Bin 0 -> 12131 bytes docs/vector_8hpp.html | 130 + docs/vector_8hpp__dep__incl.map | 39 + docs/vector_8hpp__dep__incl.md5 | 1 + docs/vector_8hpp__dep__incl.png | Bin 0 -> 61666 bytes docs/vector_8hpp__incl.map | 11 + docs/vector_8hpp__incl.md5 | 1 + docs/vector_8hpp__incl.png | Bin 0 -> 10354 bytes docs/vector_8hpp_source.html | 199 ++ docs/view_8cpp.html | 102 + docs/view_8cpp__incl.map | 15 + docs/view_8cpp__incl.md5 | 1 + docs/view_8cpp__incl.png | Bin 0 -> 14921 bytes 499 files changed, 24817 insertions(+) create mode 100644 Doxfile create mode 100644 docs/add_8cpp.html create mode 100644 docs/add_8cpp__incl.map create mode 100644 docs/add_8cpp__incl.md5 create mode 100644 docs/add_8cpp__incl.png create mode 100644 docs/angle__with_8cpp.html create mode 100644 docs/angle__with_8cpp__incl.map create mode 100644 docs/angle__with_8cpp__incl.md5 create mode 100644 docs/angle__with_8cpp__incl.png create mode 100644 docs/annotated.html create mode 100644 docs/area_8cpp.html create mode 100644 docs/area_8cpp__incl.map create mode 100644 docs/area_8cpp__incl.md5 create mode 100644 docs/area_8cpp__incl.png create mode 100644 docs/bc_s.png create mode 100644 docs/bc_sd.png create mode 100644 docs/classFirefly_1_1Vector-members.html create mode 100644 docs/classFirefly_1_1Vector.html create mode 100644 docs/classFirefly_1_1Vector__coll__graph.map create mode 100644 docs/classFirefly_1_1Vector__coll__graph.md5 create mode 100644 docs/classFirefly_1_1Vector__coll__graph.png create mode 100644 docs/classes.html create mode 100644 docs/closed.png create mode 100644 docs/cross_8cpp.html create mode 100644 docs/cross_8cpp__incl.map create mode 100644 docs/cross_8cpp__incl.md5 create mode 100644 docs/cross_8cpp__incl.png create mode 100644 docs/d0/dc0/subtract_8cpp.html create mode 100644 docs/d1/df0/is__orthogonal_8cpp__incl.map create mode 100644 docs/d1/df0/is__orthogonal_8cpp__incl.md5 create mode 100644 docs/d1/df0/is__orthogonal_8cpp__incl.png create mode 100644 docs/d3/d3c/cross_8cpp__incl.map create mode 100644 docs/d3/d3c/cross_8cpp__incl.md5 create mode 100644 docs/d3/d3c/cross_8cpp__incl.png create mode 100644 docs/d3/d4d/angle__with_8cpp.html create mode 100644 docs/d3/d61/rank_8cpp.html create mode 100644 docs/d3/dad/classFirefly_1_1Vector-members.html create mode 100644 docs/d4/d1b/vector_8cpp.html create mode 100644 docs/d4/d8b/scale_8cpp.html create mode 100644 docs/d4/da0/area_8cpp__incl.map create mode 100644 docs/d4/da0/area_8cpp__incl.md5 create mode 100644 docs/d4/da0/area_8cpp__incl.png create mode 100644 docs/d5/d8f/rank_8cpp__incl.map create mode 100644 docs/d5/d8f/rank_8cpp__incl.md5 create mode 100644 docs/d5/d8f/rank_8cpp__incl.png create mode 100644 docs/d6/d5c/is__normalized_8cpp.html create mode 100644 docs/d6/d83/CMakeCXXCompilerId_8cpp.html create mode 100644 docs/d6/dbc/namespaceFirefly.html create mode 100644 docs/d7/d02/is__parallel_8cpp__incl.map create mode 100644 docs/d7/d02/is__parallel_8cpp__incl.md5 create mode 100644 docs/d7/d02/is__parallel_8cpp__incl.png create mode 100644 docs/d7/d7e/elem__sum_8cpp.html create mode 100644 docs/d7/d82/add_8cpp__incl.map create mode 100644 docs/d7/d82/add_8cpp__incl.md5 create mode 100644 docs/d7/d82/add_8cpp__incl.png create mode 100644 docs/d8/d18/subtract_8cpp__incl.map create mode 100644 docs/d8/d18/subtract_8cpp__incl.md5 create mode 100644 docs/d8/d18/subtract_8cpp__incl.png create mode 100644 docs/d8/d78/scale_8cpp__incl.map create mode 100644 docs/d8/d78/scale_8cpp__incl.md5 create mode 100644 docs/d8/d78/scale_8cpp__incl.png create mode 100644 docs/d8/dc3/magnitude_8cpp__incl.map create mode 100644 docs/d8/dc3/magnitude_8cpp__incl.md5 create mode 100644 docs/d8/dc3/magnitude_8cpp__incl.png create mode 100644 docs/d9/d1c/dot_8cpp__incl.map create mode 100644 docs/d9/d1c/dot_8cpp__incl.md5 create mode 100644 docs/d9/d1c/dot_8cpp__incl.png create mode 100644 docs/d9/d8b/is__parallel_8cpp.html create mode 100644 docs/d9/dae/is__zero_8cpp__incl.map create mode 100644 docs/d9/dae/is__zero_8cpp__incl.md5 create mode 100644 docs/d9/dae/is__zero_8cpp__incl.png create mode 100644 docs/da/d16/vector_8hpp.html create mode 100644 docs/da/d16/vector_8hpp_source.html create mode 100644 docs/da/d19/indexers_8cpp__incl.map create mode 100644 docs/da/d19/indexers_8cpp__incl.md5 create mode 100644 docs/da/d19/indexers_8cpp__incl.png create mode 100644 docs/da/d60/is__zero_8cpp.html create mode 100644 docs/da/dce/main_8cpp__incl.map create mode 100644 docs/da/dce/main_8cpp__incl.md5 create mode 100644 docs/da/dce/main_8cpp__incl.png create mode 100644 docs/db/d23/classFirefly_1_1Vector.html create mode 100644 docs/db/db7/angle__with_8cpp__incl.map create mode 100644 docs/db/db7/angle__with_8cpp__incl.md5 create mode 100644 docs/db/db7/angle__with_8cpp__incl.png create mode 100644 docs/dc/d19/magnitude_8cpp.html create mode 100644 docs/dc/d23/is__orthogonal_8cpp.html create mode 100644 docs/dc/d82/area_8cpp.html create mode 100644 docs/dc/dca/vector_8cpp__incl.map create mode 100644 docs/dc/dca/vector_8cpp__incl.md5 create mode 100644 docs/dc/dca/vector_8cpp__incl.png create mode 100644 docs/dc/de6/elem__sum_8cpp__incl.map create mode 100644 docs/dc/de6/elem__sum_8cpp__incl.md5 create mode 100644 docs/dc/de6/elem__sum_8cpp__incl.png create mode 100644 docs/dc/df8/test_8cpp__incl.map create mode 100644 docs/dc/df8/test_8cpp__incl.md5 create mode 100644 docs/dc/df8/test_8cpp__incl.png create mode 100644 docs/dc/df8/view_8cpp__incl.map create mode 100644 docs/dc/df8/view_8cpp__incl.md5 create mode 100644 docs/dc/df8/view_8cpp__incl.png create mode 100644 docs/dd/d1c/indexers_8cpp.html create mode 100644 docs/dd/d5d/classFirefly_1_1Vector__coll__graph.map create mode 100644 docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 create mode 100644 docs/dd/d5d/classFirefly_1_1Vector__coll__graph.png create mode 100644 docs/dd/d8c/cross_8cpp.html create mode 100644 docs/dd/dc2/view_8cpp.html create mode 100644 docs/de/d9b/normalize_8cpp__incl.map create mode 100644 docs/de/d9b/normalize_8cpp__incl.md5 create mode 100644 docs/de/d9b/normalize_8cpp__incl.png create mode 100644 docs/de/daa/dot_8cpp.html create mode 100644 docs/de/daf/normalize_8cpp.html create mode 100644 docs/de/dc4/vector_8hpp__dep__incl.map create mode 100644 docs/de/dc4/vector_8hpp__dep__incl.md5 create mode 100644 docs/de/dc4/vector_8hpp__dep__incl.png create mode 100644 docs/de/de7/add_8cpp.html create mode 100644 docs/df/d03/is__normalized_8cpp__incl.map create mode 100644 docs/df/d03/is__normalized_8cpp__incl.md5 create mode 100644 docs/df/d03/is__normalized_8cpp__incl.png create mode 100644 docs/df/d0a/main_8cpp.html create mode 100644 docs/df/d29/vector_8hpp__incl.map create mode 100644 docs/df/d29/vector_8hpp__incl.md5 create mode 100644 docs/df/d29/vector_8hpp__incl.png create mode 100644 docs/df/dac/test_8cpp.html create mode 100644 docs/dir_000003_000001.html create mode 100644 docs/dir_000004_000006.html create mode 100644 docs/dir_000009_000006.html create mode 100644 docs/dir_0baa9f3d984dd29d1429171590d769d6.html create mode 100644 docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.map create mode 100644 docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 create mode 100644 docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png create mode 100644 docs/dir_4fef79e7177ba769987a8da36c892c5f.html create mode 100644 docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.html create mode 100644 docs/dir_63772b626f2709090f0bdca0f40827b4.html create mode 100644 docs/dir_63772b626f2709090f0bdca0f40827b4_dep.map create mode 100644 docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 create mode 100644 docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png create mode 100644 docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map create mode 100644 docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 create mode 100644 docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png create mode 100644 docs/dir_6974064bec986529c9a68c7c75e571af.html create mode 100644 docs/dir_6974064bec986529c9a68c7c75e571af_dep.map create mode 100644 docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 create mode 100644 docs/dir_6974064bec986529c9a68c7c75e571af_dep.png create mode 100644 docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html create mode 100644 docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map create mode 100644 docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 create mode 100644 docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png create mode 100644 docs/dir_713acbf0246a22292b4b09ce6f71bf4b.html create mode 100644 docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.map create mode 100644 docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 create mode 100644 docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png create mode 100644 docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html create mode 100644 docs/dir_d28a4824dc47e487b107a5db32ef43c4.html create mode 100644 docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map create mode 100644 docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 create mode 100644 docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png create mode 100644 docs/doc.svg create mode 100644 docs/docd.svg create mode 100644 docs/dot_8cpp.html create mode 100644 docs/dot_8cpp__incl.map create mode 100644 docs/dot_8cpp__incl.md5 create mode 100644 docs/dot_8cpp__incl.png create mode 100644 docs/doxygen.css create mode 100644 docs/doxygen.svg create mode 100644 docs/dynsections.js create mode 100644 docs/elem__sum_8cpp.html create mode 100644 docs/elem__sum_8cpp__incl.map create mode 100644 docs/elem__sum_8cpp__incl.md5 create mode 100644 docs/elem__sum_8cpp__incl.png create mode 100644 docs/files.html create mode 100644 docs/folderclosed.svg create mode 100644 docs/folderclosedd.svg create mode 100644 docs/folderopen.svg create mode 100644 docs/folderopend.svg create mode 100644 docs/functions.html create mode 100644 docs/functions_func.html create mode 100644 docs/functions_rela.html create mode 100644 docs/globals.html create mode 100644 docs/globals_defs.html create mode 100644 docs/globals_func.html create mode 100644 docs/globals_type.html create mode 100644 docs/globals_vars.html create mode 100644 docs/graph_legend.html create mode 100644 docs/graph_legend.md5 create mode 100644 docs/graph_legend.png create mode 100644 docs/index.html create mode 100644 docs/indexers_8cpp.html create mode 100644 docs/indexers_8cpp__incl.map create mode 100644 docs/indexers_8cpp__incl.md5 create mode 100644 docs/indexers_8cpp__incl.png create mode 100644 docs/is__normalized_8cpp.html create mode 100644 docs/is__normalized_8cpp__incl.map create mode 100644 docs/is__normalized_8cpp__incl.md5 create mode 100644 docs/is__normalized_8cpp__incl.png create mode 100644 docs/is__orthogonal_8cpp.html create mode 100644 docs/is__orthogonal_8cpp__incl.map create mode 100644 docs/is__orthogonal_8cpp__incl.md5 create mode 100644 docs/is__orthogonal_8cpp__incl.png create mode 100644 docs/is__parallel_8cpp.html create mode 100644 docs/is__parallel_8cpp__incl.map create mode 100644 docs/is__parallel_8cpp__incl.md5 create mode 100644 docs/is__parallel_8cpp__incl.png create mode 100644 docs/is__zero_8cpp.html create mode 100644 docs/is__zero_8cpp__incl.map create mode 100644 docs/is__zero_8cpp__incl.md5 create mode 100644 docs/is__zero_8cpp__incl.png create mode 100644 docs/jquery.js create mode 100644 docs/latex/add_8cpp.tex create mode 100644 docs/latex/add_8cpp__incl.md5 create mode 100644 docs/latex/add_8cpp__incl.pdf create mode 100644 docs/latex/angle__with_8cpp.tex create mode 100644 docs/latex/angle__with_8cpp__incl.md5 create mode 100644 docs/latex/angle__with_8cpp__incl.pdf create mode 100644 docs/latex/annotated.tex create mode 100644 docs/latex/area_8cpp.tex create mode 100644 docs/latex/area_8cpp__incl.md5 create mode 100644 docs/latex/area_8cpp__incl.pdf create mode 100644 docs/latex/classFirefly_1_1Vector.tex create mode 100644 docs/latex/classFirefly_1_1Vector__coll__graph.md5 create mode 100644 docs/latex/classFirefly_1_1Vector__coll__graph.pdf create mode 100644 docs/latex/cross_8cpp.tex create mode 100644 docs/latex/cross_8cpp__incl.md5 create mode 100644 docs/latex/cross_8cpp__incl.pdf create mode 100644 docs/latex/d0/dc0/subtract_8cpp.tex create mode 100644 docs/latex/d1/df0/is__orthogonal_8cpp__incl.md5 create mode 100644 docs/latex/d1/df0/is__orthogonal_8cpp__incl.pdf create mode 100644 docs/latex/d3/d3c/cross_8cpp__incl.md5 create mode 100644 docs/latex/d3/d3c/cross_8cpp__incl.pdf create mode 100644 docs/latex/d3/d4d/angle__with_8cpp.tex create mode 100644 docs/latex/d3/d61/rank_8cpp.tex create mode 100644 docs/latex/d4/d1b/vector_8cpp.tex create mode 100644 docs/latex/d4/d8b/scale_8cpp.tex create mode 100644 docs/latex/d4/da0/area_8cpp__incl.md5 create mode 100644 docs/latex/d4/da0/area_8cpp__incl.pdf create mode 100644 docs/latex/d5/d8f/rank_8cpp__incl.md5 create mode 100644 docs/latex/d5/d8f/rank_8cpp__incl.pdf create mode 100644 docs/latex/d6/d5c/is__normalized_8cpp.tex create mode 100644 docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex create mode 100644 docs/latex/d6/dbc/namespaceFirefly.tex create mode 100644 docs/latex/d7/d02/is__parallel_8cpp__incl.md5 create mode 100644 docs/latex/d7/d02/is__parallel_8cpp__incl.pdf create mode 100644 docs/latex/d7/d7e/elem__sum_8cpp.tex create mode 100644 docs/latex/d7/d82/add_8cpp__incl.md5 create mode 100644 docs/latex/d7/d82/add_8cpp__incl.pdf create mode 100644 docs/latex/d8/d18/subtract_8cpp__incl.md5 create mode 100644 docs/latex/d8/d18/subtract_8cpp__incl.pdf create mode 100644 docs/latex/d8/d78/scale_8cpp__incl.md5 create mode 100644 docs/latex/d8/d78/scale_8cpp__incl.pdf create mode 100644 docs/latex/d8/dc3/magnitude_8cpp__incl.md5 create mode 100644 docs/latex/d8/dc3/magnitude_8cpp__incl.pdf create mode 100644 docs/latex/d9/d1c/dot_8cpp__incl.md5 create mode 100644 docs/latex/d9/d1c/dot_8cpp__incl.pdf create mode 100644 docs/latex/d9/d8b/is__parallel_8cpp.tex create mode 100644 docs/latex/d9/dae/is__zero_8cpp__incl.md5 create mode 100644 docs/latex/d9/dae/is__zero_8cpp__incl.pdf create mode 100644 docs/latex/da/d16/vector_8hpp.tex create mode 100644 docs/latex/da/d16/vector_8hpp_source.tex create mode 100644 docs/latex/da/d19/indexers_8cpp__incl.md5 create mode 100644 docs/latex/da/d19/indexers_8cpp__incl.pdf create mode 100644 docs/latex/da/d60/is__zero_8cpp.tex create mode 100644 docs/latex/da/dce/main_8cpp__incl.md5 create mode 100644 docs/latex/da/dce/main_8cpp__incl.pdf create mode 100644 docs/latex/db/d23/classFirefly_1_1Vector.tex create mode 100644 docs/latex/db/db7/angle__with_8cpp__incl.md5 create mode 100644 docs/latex/db/db7/angle__with_8cpp__incl.pdf create mode 100644 docs/latex/dc/d19/magnitude_8cpp.tex create mode 100644 docs/latex/dc/d23/is__orthogonal_8cpp.tex create mode 100644 docs/latex/dc/d82/area_8cpp.tex create mode 100644 docs/latex/dc/dca/vector_8cpp__incl.md5 create mode 100644 docs/latex/dc/dca/vector_8cpp__incl.pdf create mode 100644 docs/latex/dc/de6/elem__sum_8cpp__incl.md5 create mode 100644 docs/latex/dc/de6/elem__sum_8cpp__incl.pdf create mode 100644 docs/latex/dc/df8/test_8cpp__incl.md5 create mode 100644 docs/latex/dc/df8/test_8cpp__incl.pdf create mode 100644 docs/latex/dc/df8/view_8cpp__incl.md5 create mode 100644 docs/latex/dc/df8/view_8cpp__incl.pdf create mode 100644 docs/latex/dd/d1c/indexers_8cpp.tex create mode 100644 docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 create mode 100644 docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.pdf create mode 100644 docs/latex/dd/d8c/cross_8cpp.tex create mode 100644 docs/latex/dd/dc2/view_8cpp.tex create mode 100644 docs/latex/de/d9b/normalize_8cpp__incl.md5 create mode 100644 docs/latex/de/d9b/normalize_8cpp__incl.pdf create mode 100644 docs/latex/de/daa/dot_8cpp.tex create mode 100644 docs/latex/de/daf/normalize_8cpp.tex create mode 100644 docs/latex/de/dc4/vector_8hpp__dep__incl.md5 create mode 100644 docs/latex/de/dc4/vector_8hpp__dep__incl.pdf create mode 100644 docs/latex/de/de7/add_8cpp.tex create mode 100644 docs/latex/df/d03/is__normalized_8cpp__incl.md5 create mode 100644 docs/latex/df/d03/is__normalized_8cpp__incl.pdf create mode 100644 docs/latex/df/d0a/main_8cpp.tex create mode 100644 docs/latex/df/d29/vector_8hpp__incl.md5 create mode 100644 docs/latex/df/d29/vector_8hpp__incl.pdf create mode 100644 docs/latex/df/dac/test_8cpp.tex create mode 100644 docs/latex/dir_0baa9f3d984dd29d1429171590d769d6.tex create mode 100644 docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 create mode 100644 docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf create mode 100644 docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex create mode 100644 docs/latex/dir_59425e443f801f1f2fd8bbe4959a3ccf.tex create mode 100644 docs/latex/dir_63772b626f2709090f0bdca0f40827b4.tex create mode 100644 docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 create mode 100644 docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf create mode 100644 docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex create mode 100644 docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 create mode 100644 docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf create mode 100644 docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex create mode 100644 docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.md5 create mode 100644 docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf create mode 100644 docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.tex create mode 100644 docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 create mode 100644 docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.pdf create mode 100644 docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b.tex create mode 100644 docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 create mode 100644 docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.pdf create mode 100644 docs/latex/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.tex create mode 100644 docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4.tex create mode 100644 docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 create mode 100644 docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.pdf create mode 100644 docs/latex/dot_8cpp.tex create mode 100644 docs/latex/dot_8cpp__incl.md5 create mode 100644 docs/latex/dot_8cpp__incl.pdf create mode 100644 docs/latex/doxygen.sty create mode 100644 docs/latex/elem__sum_8cpp.tex create mode 100644 docs/latex/elem__sum_8cpp__incl.md5 create mode 100644 docs/latex/elem__sum_8cpp__incl.pdf create mode 100644 docs/latex/etoc_doxygen.sty create mode 100644 docs/latex/files.tex create mode 100644 docs/latex/indexers_8cpp.tex create mode 100644 docs/latex/indexers_8cpp__incl.md5 create mode 100644 docs/latex/indexers_8cpp__incl.pdf create mode 100644 docs/latex/is__normalized_8cpp.tex create mode 100644 docs/latex/is__normalized_8cpp__incl.md5 create mode 100644 docs/latex/is__normalized_8cpp__incl.pdf create mode 100644 docs/latex/is__orthogonal_8cpp.tex create mode 100644 docs/latex/is__orthogonal_8cpp__incl.md5 create mode 100644 docs/latex/is__orthogonal_8cpp__incl.pdf create mode 100644 docs/latex/is__parallel_8cpp.tex create mode 100644 docs/latex/is__parallel_8cpp__incl.md5 create mode 100644 docs/latex/is__parallel_8cpp__incl.pdf create mode 100644 docs/latex/is__zero_8cpp.tex create mode 100644 docs/latex/is__zero_8cpp__incl.md5 create mode 100644 docs/latex/is__zero_8cpp__incl.pdf create mode 100644 docs/latex/longtable_doxygen.sty create mode 100644 docs/latex/magnitude_8cpp.tex create mode 100644 docs/latex/magnitude_8cpp__incl.md5 create mode 100644 docs/latex/magnitude_8cpp__incl.pdf create mode 100644 docs/latex/namespaceFirefly.tex create mode 100644 docs/latex/namespaces.tex create mode 100644 docs/latex/normalize_8cpp.tex create mode 100644 docs/latex/normalize_8cpp__incl.md5 create mode 100644 docs/latex/normalize_8cpp__incl.pdf create mode 100644 docs/latex/rank_8cpp.tex create mode 100644 docs/latex/rank_8cpp__incl.md5 create mode 100644 docs/latex/rank_8cpp__incl.pdf create mode 100644 docs/latex/refman.tex create mode 100644 docs/latex/scale_8cpp.tex create mode 100644 docs/latex/scale_8cpp__incl.md5 create mode 100644 docs/latex/scale_8cpp__incl.pdf create mode 100644 docs/latex/subtract_8cpp.tex create mode 100644 docs/latex/subtract_8cpp__incl.md5 create mode 100644 docs/latex/subtract_8cpp__incl.pdf create mode 100644 docs/latex/tabu_doxygen.sty create mode 100644 docs/latex/vector_8cpp.tex create mode 100644 docs/latex/vector_8cpp__incl.md5 create mode 100644 docs/latex/vector_8cpp__incl.pdf create mode 100644 docs/latex/vector_8hpp.tex create mode 100644 docs/latex/vector_8hpp__dep__incl.md5 create mode 100644 docs/latex/vector_8hpp__dep__incl.pdf create mode 100644 docs/latex/vector_8hpp__incl.md5 create mode 100644 docs/latex/vector_8hpp__incl.pdf create mode 100644 docs/latex/vector_8hpp_source.tex create mode 100644 docs/latex/view_8cpp.tex create mode 100644 docs/latex/view_8cpp__incl.md5 create mode 100644 docs/latex/view_8cpp__incl.pdf create mode 100644 docs/magnitude_8cpp.html create mode 100644 docs/magnitude_8cpp__incl.map create mode 100644 docs/magnitude_8cpp__incl.md5 create mode 100644 docs/magnitude_8cpp__incl.png create mode 100644 docs/menu.js create mode 100644 docs/menudata.js create mode 100644 docs/namespaceFirefly.html create mode 100644 docs/namespacemembers.html create mode 100644 docs/namespacemembers_func.html create mode 100644 docs/namespacemembers_type.html create mode 100644 docs/namespaces.html create mode 100644 docs/nav_f.png create mode 100644 docs/nav_fd.png create mode 100644 docs/nav_g.png create mode 100644 docs/nav_h.png create mode 100644 docs/nav_hd.png create mode 100644 docs/normalize_8cpp.html create mode 100644 docs/normalize_8cpp__incl.map create mode 100644 docs/normalize_8cpp__incl.md5 create mode 100644 docs/normalize_8cpp__incl.png create mode 100644 docs/open.png create mode 100644 docs/rank_8cpp.html create mode 100644 docs/rank_8cpp__incl.map create mode 100644 docs/rank_8cpp__incl.md5 create mode 100644 docs/rank_8cpp__incl.png create mode 100644 docs/scale_8cpp.html create mode 100644 docs/scale_8cpp__incl.map create mode 100644 docs/scale_8cpp__incl.md5 create mode 100644 docs/scale_8cpp__incl.png create mode 100644 docs/search/all_0.js create mode 100644 docs/search/all_1.js create mode 100644 docs/search/all_10.js create mode 100644 docs/search/all_2.js create mode 100644 docs/search/all_3.js create mode 100644 docs/search/all_4.js create mode 100644 docs/search/all_5.js create mode 100644 docs/search/all_6.js create mode 100644 docs/search/all_7.js create mode 100644 docs/search/all_8.js create mode 100644 docs/search/all_9.js create mode 100644 docs/search/all_a.js create mode 100644 docs/search/all_b.js create mode 100644 docs/search/all_c.js create mode 100644 docs/search/all_d.js create mode 100644 docs/search/all_e.js create mode 100644 docs/search/all_f.js create mode 100644 docs/search/classes_0.js create mode 100644 docs/search/close.svg create mode 100644 docs/search/defines_0.js create mode 100644 docs/search/defines_1.js create mode 100644 docs/search/defines_2.js create mode 100644 docs/search/defines_3.js create mode 100644 docs/search/defines_4.js create mode 100644 docs/search/defines_5.js create mode 100644 docs/search/defines_6.js create mode 100644 docs/search/files_0.js create mode 100644 docs/search/files_1.js create mode 100644 docs/search/files_2.js create mode 100644 docs/search/files_3.js create mode 100644 docs/search/files_4.js create mode 100644 docs/search/files_5.js create mode 100644 docs/search/files_6.js create mode 100644 docs/search/files_7.js create mode 100644 docs/search/files_8.js create mode 100644 docs/search/files_9.js create mode 100644 docs/search/files_a.js create mode 100644 docs/search/functions_0.js create mode 100644 docs/search/functions_1.js create mode 100644 docs/search/functions_2.js create mode 100644 docs/search/functions_3.js create mode 100644 docs/search/functions_4.js create mode 100644 docs/search/functions_5.js create mode 100644 docs/search/functions_6.js create mode 100644 docs/search/functions_7.js create mode 100644 docs/search/functions_8.js create mode 100644 docs/search/functions_9.js create mode 100644 docs/search/functions_a.js create mode 100644 docs/search/functions_b.js create mode 100644 docs/search/functions_c.js create mode 100644 docs/search/functions_d.js create mode 100644 docs/search/mag.svg create mode 100644 docs/search/mag_d.svg create mode 100644 docs/search/mag_sel.svg create mode 100644 docs/search/mag_seld.svg create mode 100644 docs/search/namespaces_0.js create mode 100644 docs/search/related_0.js create mode 100644 docs/search/search.css create mode 100644 docs/search/search.js create mode 100644 docs/search/searchdata.js create mode 100644 docs/search/typedefs_0.js create mode 100644 docs/search/typedefs_1.js create mode 100644 docs/search/variables_0.js create mode 100644 docs/splitbar.png create mode 100644 docs/splitbard.png create mode 100644 docs/subtract_8cpp.html create mode 100644 docs/subtract_8cpp__incl.map create mode 100644 docs/subtract_8cpp__incl.md5 create mode 100644 docs/subtract_8cpp__incl.png create mode 100644 docs/sync_off.png create mode 100644 docs/sync_on.png create mode 100644 docs/tab_a.png create mode 100644 docs/tab_ad.png create mode 100644 docs/tab_b.png create mode 100644 docs/tab_bd.png create mode 100644 docs/tab_h.png create mode 100644 docs/tab_hd.png create mode 100644 docs/tab_s.png create mode 100644 docs/tab_sd.png create mode 100644 docs/tabs.css create mode 100644 docs/vector_8cpp.html create mode 100644 docs/vector_8cpp__incl.map create mode 100644 docs/vector_8cpp__incl.md5 create mode 100644 docs/vector_8cpp__incl.png create mode 100644 docs/vector_8hpp.html create mode 100644 docs/vector_8hpp__dep__incl.map create mode 100644 docs/vector_8hpp__dep__incl.md5 create mode 100644 docs/vector_8hpp__dep__incl.png create mode 100644 docs/vector_8hpp__incl.map create mode 100644 docs/vector_8hpp__incl.md5 create mode 100644 docs/vector_8hpp__incl.png create mode 100644 docs/vector_8hpp_source.html create mode 100644 docs/view_8cpp.html create mode 100644 docs/view_8cpp__incl.map create mode 100644 docs/view_8cpp__incl.md5 create mode 100644 docs/view_8cpp__incl.png diff --git a/Doxfile b/Doxfile new file mode 100644 index 0000000..97a5363 --- /dev/null +++ b/Doxfile @@ -0,0 +1,29 @@ +#--------------------------------------------------------------------------- +# Doxyfile for C++ documentation +#--------------------------------------------------------------------------- + +PROJECT_NAME = "Firefly" +PROJECT_BRIEF = "Standalone library for vector and matrix calculations" +PROJECT_NUMBER = "2.0" + + +FILE_PATTERNS = *.cpp *.hpp +INPUT = ./headers ./src +RECURSIVE = YES +EXAMPLE_PATH = ./examples +OUTPUT_DIRECTORY = ./docs + +SHOW_FILES = YES + +ENABLED_SECTIONS = mainpage + +EXTRACT_ALL = YES + +HAVE_DOT = NO + +UML_LOOK = YES + +GENERATE_HTML = YES + +HTML_OUTPUT = ./ + diff --git a/docs/add_8cpp.html b/docs/add_8cpp.html new file mode 100644 index 0000000..0b082e7 --- /dev/null +++ b/docs/add_8cpp.html @@ -0,0 +1,98 @@ + + + + + + + +Firefly: src/vector/add.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
add.cpp File Reference
+
+
+
#include <algorithm>
+#include <cmath>
+#include <stdexcept>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/add_8cpp__incl.map b/docs/add_8cpp__incl.map new file mode 100644 index 0000000..63d79ad --- /dev/null +++ b/docs/add_8cpp__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/add_8cpp__incl.md5 b/docs/add_8cpp__incl.md5 new file mode 100644 index 0000000..92a406d --- /dev/null +++ b/docs/add_8cpp__incl.md5 @@ -0,0 +1 @@ +83613bc0bbb377543a6bddc32cd36407 \ No newline at end of file diff --git a/docs/add_8cpp__incl.png b/docs/add_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..54e856763c1c0f139b297cf8d5ad5f80c83bf2da GIT binary patch literal 19362 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 X_sSJ>Z8!uxbc?~$)z4*}Q$iB}jj9yk literal 0 HcmV?d00001 diff --git a/docs/angle__with_8cpp.html b/docs/angle__with_8cpp.html new file mode 100644 index 0000000..16e7210 --- /dev/null +++ b/docs/angle__with_8cpp.html @@ -0,0 +1,97 @@ + + + + + + + +Firefly: src/vector/angle_with.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
angle_with.cpp File Reference
+
+
+
#include <cmath>
+#include <stdexcept>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/angle__with_8cpp__incl.map b/docs/angle__with_8cpp__incl.map new file mode 100644 index 0000000..a966915 --- /dev/null +++ b/docs/angle__with_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/angle__with_8cpp__incl.md5 b/docs/angle__with_8cpp__incl.md5 new file mode 100644 index 0000000..42ba671 --- /dev/null +++ b/docs/angle__with_8cpp__incl.md5 @@ -0,0 +1 @@ +96a742c10b35bdfaff50fd2dd4fa4875 \ No newline at end of file diff --git a/docs/angle__with_8cpp__incl.png b/docs/angle__with_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f91138dddb5d3b4674be69c040c5efc0e3ff3834 GIT binary patch literal 17743 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 + + + + + + +Firefly: Class List + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + +
 NFirefly
 CVectorRepresents a mathematical vector in n-dimensional space
+
+
+ + + + diff --git a/docs/area_8cpp.html b/docs/area_8cpp.html new file mode 100644 index 0000000..28b03bf --- /dev/null +++ b/docs/area_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +Firefly: src/vector/area.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
area.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/area_8cpp__incl.map b/docs/area_8cpp__incl.map new file mode 100644 index 0000000..6da45fb --- /dev/null +++ b/docs/area_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/area_8cpp__incl.md5 b/docs/area_8cpp__incl.md5 new file mode 100644 index 0000000..b81e04a --- /dev/null +++ b/docs/area_8cpp__incl.md5 @@ -0,0 +1 @@ +b45ade17e899d9e2abe498b2a67aa13d \ No newline at end of file diff --git a/docs/area_8cpp__incl.png b/docs/area_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b35e019828d05fba2aa08e97887df45bc98f1252 GIT binary patch literal 12446 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'p~?(UW7eS*yKV_Xcz2?t|N(=+36ieR{FH>MHq>{ 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

9RmZtjYk|FlxXBLUSHfc0pdB( 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 KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/docs/bc_sd.png b/docs/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..31ca888dc71049713b35c351933a8d0f36180bf1 GIT binary patch literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ literal 0 HcmV?d00001 diff --git a/docs/classFirefly_1_1Vector-members.html b/docs/classFirefly_1_1Vector-members.html new file mode 100644 index 0000000..fac23b2 --- /dev/null +++ b/docs/classFirefly_1_1Vector-members.html @@ -0,0 +1,127 @@ + + + + + + + +Firefly: Member List + + + + + + + + + +

+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Firefly::Vector Member List
+
+
+ +

This is the complete list of members for Firefly::Vector, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Add(Vector const &_fvec) constFirefly::Vector
Add(Real const &_scalar) constFirefly::Vector
AngleWith(Vector const &_fvec) constFirefly::Vector
At(std::size_t idx) constFirefly::Vector
At(std::size_t idx)Firefly::Vector
Cross(Vector const &_fvec) constFirefly::Vector
Dot(Vector const &_fvec) constFirefly::Vector
ElemSum() constFirefly::Vector
IsNormalized()Firefly::Vector
IsOrthogonal(Vector const &_fvec)Firefly::Vector
IsParallel(Vector const &_fvec)Firefly::Vector
IsZero()Firefly::Vector
Magnitude() constFirefly::Vector
Normalize() constFirefly::Vector
operator*(Real const &_scalar) constFirefly::Vector
operator+(Vector const &_fvec) constFirefly::Vector
operator+(Real const &_scalar) constFirefly::Vector
operator++() constFirefly::Vector
operator-(Vector const &_fvec) constFirefly::Vector
operator-(Real const &_scalar) constFirefly::Vector
operator--() constFirefly::Vector
operator<<Firefly::Vectorfriend
operator[](std::size_t idx) constFirefly::Vector
operator[](std::size_t idx)Firefly::Vector
ParallelogramArea(Vector const &_fvec) constFirefly::Vector
Rank() constFirefly::Vector
Scale(Real const &_fvec) constFirefly::Vector
Size() constFirefly::Vector
Subtract(Vector const &_fvec) constFirefly::Vector
Subtract(Real const &_scalar) constFirefly::Vector
TriangleArea(Vector const &_fvec) constFirefly::Vector
Vector(Vector &&)=deleteFirefly::Vector
Vector()=deleteFirefly::Vector
Vector(std::size_t _size)Firefly::Vector
Vector(VectorType const &_vec)Firefly::Vector
Vector(Vector const &_fvec)Firefly::Vector
View() constFirefly::Vector
~Vector()=defaultFirefly::Vector
+ + + + diff --git a/docs/classFirefly_1_1Vector.html b/docs/classFirefly_1_1Vector.html new file mode 100644 index 0000000..40dade0 --- /dev/null +++ b/docs/classFirefly_1_1Vector.html @@ -0,0 +1,1209 @@ + + + + + + + +Firefly: Firefly::Vector Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Firefly::Vector Class Reference
+
+
+ +

Represents a mathematical vector in n-dimensional space. + More...

+ +

#include <vector.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Vector (Vector &&)=delete
 
 Vector ()=delete
 
 ~Vector ()=default
 
 Vector (std::size_t _size)
 Constructs a vector of a specific size.
 
 Vector (VectorType const &_vec)
 Constructs a vector from a given VectorType (std::vector).
 
 Vector (Vector const &_fvec)
 Copy constructor to create a new vector from an existing one.
 
std::string View () const
 Returns a string representation of the vector.
 
Real At (std::size_t idx) const
 Retrieves the value at a specific index in the vector (const version).
 
RealAt (std::size_t idx)
 Retrieves a reference to the value at a specific index in the vector.
 
Real operator[] (std::size_t idx) const
 Overloaded subscript operator to access the value at a specific index (const version).
 
Realoperator[] (std::size_t idx)
 Overloaded subscript operator to access the value at a specific index.
 
std::size_t Size () const
 Returns the size (number of elements) of the vector.
 
std::size_t Rank () const
 Returns the rank (dimensionality) of the vector. It is same as Size() method.
 
std::unique_ptr< VectorAdd (Vector const &_fvec) const
 Performs vector addition with another vector and returns the result as a new vector.
 
std::unique_ptr< VectorAdd (Real const &_scalar) const
 Performs scalar addition with a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator+ (Vector const &_fvec) const
 Overloaded operator to perform vector addition.
 
std::unique_ptr< Vectoroperator+ (Real const &_scalar) const
 Overloaded operator to perform scalar addition.
 
std::unique_ptr< Vectoroperator++ () const
 Overloaded prefix increment operator to increment all elements of the vector by one.
 
std::unique_ptr< VectorScale (Real const &_fvec) const
 Performs vector scaling by a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator* (Real const &_scalar) const
 Overloaded operator to perform vector scaling.
 
std::unique_ptr< VectorSubtract (Vector const &_fvec) const
 Performs vector subtraction with another vector and returns the result as a new vector.
 
std::unique_ptr< VectorSubtract (Real const &_scalar) const
 Performs scalar subtraction with a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator- (Vector const &_fvec) const
 Overloaded operator to perform vector subtraction.
 
std::unique_ptr< Vectoroperator- (Real const &_scalar) const
 Overloaded operator to perform scalar subtraction.
 
std::unique_ptr< Vectoroperator-- () const
 Overloaded prefix decrement operator to decrement all elements of the vector by one.
 
Real Dot (Vector const &_fvec) const
 Calculates the dot product between this vector and another vector.
 
std::unique_ptr< VectorCross (Vector const &_fvec) const
 Calculates the cross product between this vector and another vector. Both vectors must have three dimensions.
 
Real ElemSum () const
 Calculates the sum of all elements in the vector.
 
Real Magnitude () const
 Calculates the magnitude (Euclidean norm) of the vector.
 
std::unique_ptr< VectorNormalize () const
 Returns a new vector that is the normalized version of this vector.
 
Real AngleWith (Vector const &_fvec) const
 Calculates the angle between this vector and another vector in radians.
 
bool IsZero ()
 Checks if the vector is a zero vector (all elements are zero).
 
bool IsNormalized ()
 Checks if the vector is a unit vector (normalized with a magnitude of 1).
 
bool IsParallel (Vector const &_fvec)
 Checks if this vector is parallel to another vector.
 
bool IsOrthogonal (Vector const &_fvec)
 Checks if this vector is orthogonal (perpendicular) to another vector.
 
Real ParallelogramArea (Vector const &_fvec) const
 Calculates the area of the parallelogram spanned by this vector and another vector.
 
Real TriangleArea (Vector const &_fvec) const
 Calculates the area of the triangle formed by this vector and another vector.
 
+ + + + +

+Friends

std::ostream & operator<< (std::ostream &os, Vector const &_fvec)
 Overloaded stream insertion operator to print the vector to an output stream.
 
+

Detailed Description

+

Represents a mathematical vector in n-dimensional space.

+

The Vector class provides various operations on vectors, such as addition, subtraction, scaling, dot product, cross product, normalization, angle calculation, and more.

+

Constructor & Destructor Documentation

+ +

◆ Vector() [1/5]

+ +
+
+ + + + + +
+ + + + + + + + +
Firefly::Vector::Vector (Vector && )
+
+delete
+
+ +
+
+ +

◆ Vector() [2/5]

+ +
+
+ + + + + +
+ + + + + + + +
Firefly::Vector::Vector ()
+
+delete
+
+ +
+
+ +

◆ ~Vector()

+ +
+
+ + + + + +
+ + + + + + + +
Firefly::Vector::~Vector ()
+
+default
+
+ +
+
+ +

◆ Vector() [3/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (std::size_t _size)
+
+ +

Constructs a vector of a specific size.

+
Parameters
+ + +
_sizeThe size of the vector.
+
+
+ +
+
+ +

◆ Vector() [4/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (VectorType const & _vec)
+
+ +

Constructs a vector from a given VectorType (std::vector).

+
Parameters
+ + +
_vecThe VectorType representing the vector.
+
+
+ +
+
+ +

◆ Vector() [5/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (Vector const & _fvec)
+
+ +

Copy constructor to create a new vector from an existing one.

+
Parameters
+ + +
_fThe source vector to copy from.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Add() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Add (Real const & _scalar) const
+
+ +

Performs scalar addition with a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ Add() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Add (Vector const & _fvec) const
+
+ +

Performs vector addition with another vector and returns the result as a new vector.

+
Parameters
+ + +
_fvecThe vector to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ AngleWith()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::AngleWith (Vector const & _fvec) const
+
+ +

Calculates the angle between this vector and another vector in radians.

+
Parameters
+ + +
_fvecThe other vector to calculate the angle with.
+
+
+
Returns
The angle between the two vectors in radians.
+ +
+
+ +

◆ At() [1/2]

+ +
+
+ + + + + + + + +
Real & Firefly::Vector::At (std::size_t idx)
+
+ +

Retrieves a reference to the value at a specific index in the vector.

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
A reference to the value at the specified index.
+ +
+
+ +

◆ At() [2/2]

+ +
+
+ + + + + + + + +
Real Firefly::Vector::At (std::size_t idx) const
+
+ +

Retrieves the value at a specific index in the vector (const version).

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
The value at the specified index.
+ +
+
+ +

◆ Cross()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Cross (Vector const & _fvec) const
+
+ +

Calculates the cross product between this vector and another vector. Both vectors must have three dimensions.

+
Parameters
+ + +
_fvecThe other vector to calculate the cross product with.
+
+
+
Returns
A unique pointer to the new vector containing the result of the cross product.
+ +
+
+ +

◆ Dot()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::Dot (Vector const & _fvec) const
+
+ +

Calculates the dot product between this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector to calculate the dot product with.
+
+
+
Returns
The dot product value.
+ +
+
+ +

◆ ElemSum()

+ +
+
+ + + + + + + +
Real Firefly::Vector::ElemSum () const
+
+ +

Calculates the sum of all elements in the vector.

+
Returns
The sum of all elements.
+ +
+
+ +

◆ IsNormalized()

+ +
+
+ + + + + + + +
bool Firefly::Vector::IsNormalized ()
+
+ +

Checks if the vector is a unit vector (normalized with a magnitude of 1).

+
Returns
True if the vector is a unit vector, otherwise false.
+ +
+
+ +

◆ IsOrthogonal()

+ +
+
+ + + + + + + + +
bool Firefly::Vector::IsOrthogonal (Vector const & _fvec)
+
+ +

Checks if this vector is orthogonal (perpendicular) to another vector.

+

Two vectors are considered orthogonal if their dot product is 0, indicating a 90-degree angle between them.

+
Parameters
+ + +
_fvecThe other vector to check for orthogonality.
+
+
+
Returns
True if the vectors are orthogonal, otherwise false.
+ +
+
+ +

◆ IsParallel()

+ +
+
+ + + + + + + + +
bool Firefly::Vector::IsParallel (Vector const & _fvec)
+
+ +

Checks if this vector is parallel to another vector.

+

Two vectors are considered parallel if their direction is the same or opposite. To determine parallelism, the function calculates the angle between the vectors and checks if it is either 0 degrees or 180 degrees (pi radians).

+
Parameters
+ + +
_fvecThe other vector to check for parallelism.
+
+
+
Returns
True if the vectors are parallel, otherwise false.
+ +
+
+ +

◆ IsZero()

+ +
+
+ + + + + + + +
bool Firefly::Vector::IsZero ()
+
+ +

Checks if the vector is a zero vector (all elements are zero).

+
Returns
True if the vector is a zero vector, otherwise false.
+ +
+
+ +

◆ Magnitude()

+ +
+
+ + + + + + + +
Real Firefly::Vector::Magnitude () const
+
+ +

Calculates the magnitude (Euclidean norm) of the vector.

+
Returns
The magnitude of the vector.
+ +
+
+ +

◆ Normalize()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Normalize () const
+
+ +

Returns a new vector that is the normalized version of this vector.

+
Returns
A unique pointer to the new normalized vector.
+ +
+
+ +

◆ operator*()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator* (Real const & _scalar) const
+
+ +

Overloaded operator to perform vector scaling.

+
Parameters
+ + +
_scalarThe scalar value to scale the vector by.
+
+
+
Returns
A unique pointer to the new vector containing the scaled result.
+ +
+
+ +

◆ operator+() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator+ (Real const & _scalar) const
+
+ +

Overloaded operator to perform scalar addition.

+
Parameters
+ + +
_scalarThe scalar value to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ operator+() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator+ (Vector const & _fvec) const
+
+ +

Overloaded operator to perform vector addition.

+
Parameters
+ + +
_fvecThe vector to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ operator++()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator++ () const
+
+ +

Overloaded prefix increment operator to increment all elements of the vector by one.

+
Returns
A unique pointer to the new vector with incremented elements.
+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator- (Real const & _scalar) const
+
+ +

Overloaded operator to perform scalar subtraction.

+
Parameters
+ + +
_scalarThe scalar value to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator- (Vector const & _fvec) const
+
+ +

Overloaded operator to perform vector subtraction.

+
Parameters
+ + +
_fvecThe vector to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ operator--()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator-- () const
+
+ +

Overloaded prefix decrement operator to decrement all elements of the vector by one.

+
Returns
A unique pointer to the new vector with decremented elements.
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + + + + +
Real & Firefly::Vector::operator[] (std::size_t idx)
+
+ +

Overloaded subscript operator to access the value at a specific index.

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
A reference to the value at the specified index.
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + + + + +
Real Firefly::Vector::operator[] (std::size_t idx) const
+
+ +

Overloaded subscript operator to access the value at a specific index (const version).

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
The value at the specified index.
+ +
+
+ +

◆ ParallelogramArea()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::ParallelogramArea (Vector const & _fvec) const
+
+ +

Calculates the area of the parallelogram spanned by this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector forming the parallelogram.
+
+
+
Returns
The area of the parallelogram.
+ +
+
+ +

◆ Rank()

+ +
+
+ + + + + + + +
std::size_t Firefly::Vector::Rank () const
+
+ +

Returns the rank (dimensionality) of the vector. It is same as Size() method.

+
Returns
The rank of the vector.
+ +
+
+ +

◆ Scale()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Scale (Real const & _fvec) const
+
+ +

Performs vector scaling by a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to scale the vector by.
+
+
+
Returns
A unique pointer to the new vector containing the scaled result.
+ +
+
+ +

◆ Size()

+ +
+
+ + + + + + + +
std::size_t Firefly::Vector::Size () const
+
+ +

Returns the size (number of elements) of the vector.

+
Returns
The size of the vector.
+ +
+
+ +

◆ Subtract() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Subtract (Real const & _scalar) const
+
+ +

Performs scalar subtraction with a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ Subtract() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Subtract (Vector const & _fvec) const
+
+ +

Performs vector subtraction with another vector and returns the result as a new vector.

+
Parameters
+ + +
_fvecThe vector to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ TriangleArea()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::TriangleArea (Vector const & _fvec) const
+
+ +

Calculates the area of the triangle formed by this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector forming the triangle.
+
+
+
Returns
The area of the triangle.
+ +
+
+ +

◆ View()

+ +
+
+ + + + + + + +
std::string Firefly::Vector::View () const
+
+ +

Returns a string representation of the vector.

+
Returns
A string representation of the vector.
+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream & operator<< (std::ostream & os,
Firefly::Vector const & _fvec 
)
+
+friend
+
+ +

Overloaded stream insertion operator to print the vector to an output stream.

+
Parameters
+ + + +
osThe output stream.
_fvecThe vector to print.
+
+
+
Returns
The output stream after printing the vector.
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/docs/classFirefly_1_1Vector__coll__graph.map b/docs/classFirefly_1_1Vector__coll__graph.map new file mode 100644 index 0000000..24747eb --- /dev/null +++ b/docs/classFirefly_1_1Vector__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/classFirefly_1_1Vector__coll__graph.md5 b/docs/classFirefly_1_1Vector__coll__graph.md5 new file mode 100644 index 0000000..ee10088 --- /dev/null +++ b/docs/classFirefly_1_1Vector__coll__graph.md5 @@ -0,0 +1 @@ +c2f5e527626361316bdbbff2c7dcca5d \ No newline at end of file diff --git a/docs/classFirefly_1_1Vector__coll__graph.png b/docs/classFirefly_1_1Vector__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..64fbdbf22dcbf3e3d83f2b79650378bd46c60511 GIT binary patch literal 13932 zcmc(G1yt30w=Ec;gc2eRA_#~I5(1JUNQ-obG)PJ}DBUF`rEHLv25IS(l$7r7mUwHQ zbH4kXd%qiRjCaR)oWYTyo4x=0|66OWIp><&Us_588-oM`1qB6LOjJk~{`5paLA`ek z4Ss6Llc9n?&~zk3gitP!|9z@Xk3>PagCZs*An%Z{p6IB2ODUyhGWv@OiS(5bf)`i( zzdd{3`bB7FNAhd=jWMA}ZYh@87lxf@#$=KHZIN?vVg^Bx<=+fanwL1cGnlEudxh}J zK0TB{Rk<5*_l^MWM~(b<<|HSF=&zDLn@O_^h*i7WCT4x*(l}EX$jsVwL8tlaYa?`R zU1p zbabRqadC0m?GN&%78gY%BqWjtwPa=AKmYuCFh?cDbU44pCh^_^#az*moGb$`D<^MxIE^0%nVO2t)|w&En0yo`v5$jHpBYija# z++EN%F_91!M$>XXdjemLO-<7q8(lL^flVh03xKis@+U=%9Y|2)jfzI6a-tdZAO`v-Ftt#U6)e zpFu`WPHI)vn9)ggUQJ3yhF@414(+QXNli_Pw{PEaa&qDj6Z

&z~JmiewM4xScvA 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 I{`&p@0ToeghX4Qo literal 0 HcmV?d00001 diff --git a/docs/classes.html b/docs/classes.html new file mode 100644 index 0000000..043a8d5 --- /dev/null +++ b/docs/classes.html @@ -0,0 +1,88 @@ + + + + + + + +Firefly: Class Index + + + + + + + + + +

+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+
+ +
+
+
V
+
Vector (Firefly)
+
+
+ + + + diff --git a/docs/closed.png b/docs/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/docs/cross_8cpp.html b/docs/cross_8cpp.html new file mode 100644 index 0000000..1373bfa --- /dev/null +++ b/docs/cross_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +Firefly: src/vector/cross.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
cross.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/cross_8cpp__incl.map b/docs/cross_8cpp__incl.map new file mode 100644 index 0000000..40f18a2 --- /dev/null +++ b/docs/cross_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/cross_8cpp__incl.md5 b/docs/cross_8cpp__incl.md5 new file mode 100644 index 0000000..252e7aa --- /dev/null +++ b/docs/cross_8cpp__incl.md5 @@ -0,0 +1 @@ +300a44ce7deff29046c66dcfb41442d8 \ No newline at end of file diff --git a/docs/cross_8cpp__incl.png b/docs/cross_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..298922454e65908f20f1683873c0de5993a8fa1f GIT binary patch literal 12233 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 %(V~r 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 literal 0 HcmV?d00001 diff --git a/docs/d0/dc0/subtract_8cpp.html b/docs/d0/dc0/subtract_8cpp.html new file mode 100644 index 0000000..2d3b7b7 --- /dev/null +++ b/docs/d0/dc0/subtract_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +Firefly: src/vector/subtract.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
subtract.cpp File Reference
+
+
+
#include <iostream>
+#include "firefly/vector.hpp"
+
+Include dependency graph for subtract.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d1/df0/is__orthogonal_8cpp__incl.map b/docs/d1/df0/is__orthogonal_8cpp__incl.map new file mode 100644 index 0000000..10515d2 --- /dev/null +++ b/docs/d1/df0/is__orthogonal_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/d1/df0/is__orthogonal_8cpp__incl.md5 b/docs/d1/df0/is__orthogonal_8cpp__incl.md5 new file mode 100644 index 0000000..ddca3df --- /dev/null +++ b/docs/d1/df0/is__orthogonal_8cpp__incl.md5 @@ -0,0 +1 @@ +4138c68a0de8b3fd7cfed6def33f17e5 \ No newline at end of file diff --git a/docs/d1/df0/is__orthogonal_8cpp__incl.png b/docs/d1/df0/is__orthogonal_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..88a18c5018dd04f77e215d5ee645d9338f1814a2 GIT binary patch literal 12902 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 literal 0 HcmV?d00001 diff --git a/docs/d3/d3c/cross_8cpp__incl.map b/docs/d3/d3c/cross_8cpp__incl.map new file mode 100644 index 0000000..4fe70fd --- /dev/null +++ b/docs/d3/d3c/cross_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/d3/d3c/cross_8cpp__incl.md5 b/docs/d3/d3c/cross_8cpp__incl.md5 new file mode 100644 index 0000000..fdbe16f --- /dev/null +++ b/docs/d3/d3c/cross_8cpp__incl.md5 @@ -0,0 +1 @@ +1830369b309291175b59bdea4ad455ff \ No newline at end of file diff --git a/docs/d3/d3c/cross_8cpp__incl.png b/docs/d3/d3c/cross_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..298922454e65908f20f1683873c0de5993a8fa1f GIT binary patch literal 12233 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 %(V~r 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 literal 0 HcmV?d00001 diff --git a/docs/d3/d4d/angle__with_8cpp.html b/docs/d3/d4d/angle__with_8cpp.html new file mode 100644 index 0000000..54a3bc4 --- /dev/null +++ b/docs/d3/d4d/angle__with_8cpp.html @@ -0,0 +1,119 @@ + + + + + + + +Firefly: src/vector/angle_with.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
angle_with.cpp File Reference
+
+
+
#include <cmath>
+#include <stdexcept>
+#include "firefly/vector.hpp"
+
+Include dependency graph for angle_with.cpp:
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d3/d61/rank_8cpp.html b/docs/d3/d61/rank_8cpp.html new file mode 100644 index 0000000..0b89345 --- /dev/null +++ b/docs/d3/d61/rank_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/rank.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
rank.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for rank.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d3/dad/classFirefly_1_1Vector-members.html b/docs/d3/dad/classFirefly_1_1Vector-members.html new file mode 100644 index 0000000..876e820 --- /dev/null +++ b/docs/d3/dad/classFirefly_1_1Vector-members.html @@ -0,0 +1,127 @@ + + + + + + + +Firefly: Member List + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Firefly::Vector Member List
+
+
+ +

This is the complete list of members for Firefly::Vector, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Add(Vector const &_fvec) constFirefly::Vector
Add(Real const &_scalar) constFirefly::Vector
AngleWith(Vector const &_fvec) constFirefly::Vector
At(std::size_t idx) constFirefly::Vector
At(std::size_t idx)Firefly::Vector
Cross(Vector const &_fvec) constFirefly::Vector
Dot(Vector const &_fvec) constFirefly::Vector
ElemSum() constFirefly::Vector
IsNormalized()Firefly::Vector
IsOrthogonal(Vector const &_fvec)Firefly::Vector
IsParallel(Vector const &_fvec)Firefly::Vector
IsZero()Firefly::Vector
Magnitude() constFirefly::Vector
Normalize() constFirefly::Vector
operator*(Real const &_scalar) constFirefly::Vector
operator+(Vector const &_fvec) constFirefly::Vector
operator+(Real const &_scalar) constFirefly::Vector
operator++() constFirefly::Vector
operator-(Vector const &_fvec) constFirefly::Vector
operator-(Real const &_scalar) constFirefly::Vector
operator--() constFirefly::Vector
operator<<Firefly::Vectorfriend
operator[](std::size_t idx) constFirefly::Vector
operator[](std::size_t idx)Firefly::Vector
ParallelogramArea(Vector const &_fvec) constFirefly::Vector
Rank() constFirefly::Vector
Scale(Real const &_fvec) constFirefly::Vector
Size() constFirefly::Vector
Subtract(Vector const &_fvec) constFirefly::Vector
Subtract(Real const &_scalar) constFirefly::Vector
TriangleArea(Vector const &_fvec) constFirefly::Vector
Vector(Vector &&)=deleteFirefly::Vector
Vector()=deleteFirefly::Vector
Vector(std::size_t _size)Firefly::Vector
Vector(VectorType const &_vec)Firefly::Vector
Vector(Vector const &_fvec)Firefly::Vector
View() constFirefly::Vector
~Vector()=defaultFirefly::Vector
+ + + + diff --git a/docs/d4/d1b/vector_8cpp.html b/docs/d4/d1b/vector_8cpp.html new file mode 100644 index 0000000..d6082c1 --- /dev/null +++ b/docs/d4/d1b/vector_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/vector.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
vector.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for vector.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d4/d8b/scale_8cpp.html b/docs/d4/d8b/scale_8cpp.html new file mode 100644 index 0000000..ce0fde8 --- /dev/null +++ b/docs/d4/d8b/scale_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +Firefly: src/vector/scale.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
scale.cpp File Reference
+
+
+
#include <algorithm>
+#include "firefly/vector.hpp"
+
+Include dependency graph for scale.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d4/da0/area_8cpp__incl.map b/docs/d4/da0/area_8cpp__incl.map new file mode 100644 index 0000000..fba2bd9 --- /dev/null +++ b/docs/d4/da0/area_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/d4/da0/area_8cpp__incl.md5 b/docs/d4/da0/area_8cpp__incl.md5 new file mode 100644 index 0000000..4910369 --- /dev/null +++ b/docs/d4/da0/area_8cpp__incl.md5 @@ -0,0 +1 @@ +242ac282a95eb46ab8cd3412292c316e \ No newline at end of file diff --git a/docs/d4/da0/area_8cpp__incl.png b/docs/d4/da0/area_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b35e019828d05fba2aa08e97887df45bc98f1252 GIT binary patch literal 12446 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'p~?(UW7eS*yKV_Xcz2?t|N(=+36ieR{FH>MHq>{ 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

9RmZtjYk|FlxXBLUSHfc0pdB( z;MtIQjk~{D7_(8*J|Vs090c(tls<6Fu}Mk4fREpF9qPVrWMo9lrh8o+m|-Zy6_BE6 zz!$MJRp)$sajNWEj$)F8 zl+<+s;cYa?Q9KI12w-@}{+SRE5TJP3IQ3NFw;v(YP9U;bAqqob?o0v(4bl zNCJNr$_$f|LJ<=a)3`sV@Mg8&AH^LOD)k_lXdge0fwlvBL;MQz`52O*&Zw`! zakQPDK{<5}WRk|y^#amJouS+Oc2l1~%!4)-0J{fo*aE~JEJnJsLAy@>#vViLt-blV zNb&f#6oaZhLl}WscbxS;Duez39V-t!40%e%rUa6~cx9JY&1aigV9`NjvBH)>itF5J zxw_Q~nr5D1lOPN^M6@THZskkx-&hpE(b4!E`$M(wwqg*V>ClS6#A`nLbLi94Cwj)Z zzT9DmPtG$3A*xB|nJG8Jg;EyY?RwBzZ!bRyuf)E2v$eMu9}UQNtI^`#!wnrbf9ruS znAW4kORED}+N=q5-s^jNdle^=v!$;v(uCaT!J-3Efz4VX3X@!@KJZ$OLR%k$t_$S~ z5frIA-QU@{mH~R!Cq;U2`2~LeaPI~PEj7)}Q8pkFgV}FFFron*aagw~EvEmp9h#Y% zK7^K*BOhNlY4xI5KM6#lrH1AYn{`jt-`FGq zN6Q*`9}*Ix)G%OCdAVx{4lVHR=!&hISx;6M^&U@c>?eKtWO1?dC&4?;30a<+?tQ3} zqn!2|GzINy8!~X-)b@H%MIw@69VE3JqG$iOn=enTLB?){jsiAF6Hp8h0qKo@QwLP7 zdqFaN9})5QCyj3fOk1B{=f$r_?m;8Ta8Z0 z_m`zQ=A5Ld3tQQqN1G_!#p~+gh{t{=74%U~=Vir=ZSTA)dPq|+HW6DINWZ=CH%`mk zEpBgst_y9W$&(*CcsaX@l2WH}nJS2&>Ash5?;`_Wq1=HZ1tiey;fzvZQ=s@BLOXmQ z8>Jn+@8lDcQ+fy*9~i1o;|pArp)POb<>iZw#&*9!7k77eF9m?0uYcL7rt0LxMNLiZ z#>1kYB@=o4H&*4Df z8o{j20@#8e)P<@rTkX$;VT&OqCI)6cAE>>cU#8^(Yw@#!$-LG-KF~_KFDJb&?5;u} z_-CO%p`w87|8=-ANycaMsh6Q(w++<9m#t{1_76VE)v>Y%AR;Om=#MpP%A+O*)EhXe zDyl?ydGEQo9qE^7y(;kywV9oEom*Oxc5vW?&bySIXo#}&RauXsCKBl89W9p!9FVTh z09u7cL{ugX4vdZ_!juPvj~a%z#Yp}=a1)qC>kXE}^Fqd;^}a6sT^sJoQHadS5!L*9wyhyK_d1o-)EtdR>&W zOTAAftV>X{$Am8hKsy^ehYSSEMu)Ib$veZVkE*PRIAB+ZfpwI19s8H^K8GQ_TE>6x$^{2Ez66-4Ctn;M$MD~-^GJ)?rDSci;azq z`Z5X@vl=#j0?0-JE>)~;u!dE*?-(!tNedsh$$@K2osZVV`MGwT(<9VZ4#!_p3cG)R zm<@n`1P$ey0ShxWF0Ki*U4TI;r~v$YySENz(m#C8rjUGTU^$5UTg=Q0H=|q_peP@R zsJG451{8!Bm^5_Cj4^%BcWyv{1fYx+KXG2`Iy+!qJqT$$x|r@d;gVU*YW?04rdeC%W`he}fCr7?@&1XR(UF)$PO`Oox)b+k$W( zIZ^QV_4oHD=pr#dm}hb0H#vr(G^C-SG0U`T+aJit1d|Dz;W+GASC3W2ja8~a$diZ^WScw(VV`u+T%s4sE3?` + + + + + + + + + + + + diff --git a/docs/d5/d8f/rank_8cpp__incl.md5 b/docs/d5/d8f/rank_8cpp__incl.md5 new file mode 100644 index 0000000..4ea181f --- /dev/null +++ b/docs/d5/d8f/rank_8cpp__incl.md5 @@ -0,0 +1 @@ +6550b81ec2ef7982654a6f726216f122 \ No newline at end of file diff --git a/docs/d5/d8f/rank_8cpp__incl.png b/docs/d5/d8f/rank_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..7489af734d0d13513204556b9135e5b8ecebe820 GIT binary patch literal 12641 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

eT~&{$%K5U*S6&`tT$?AVl_YiJ|8e z2N21XFAtc@{%4%7snv{^L9bpN+tV(=GvU6kByIneBh{q0`@@U7{J#aKYm)Xe|+ZEBQW5(st=bWK4`G;6?-L6*dbZS5B>czhFC< z<$&DW0Vkk-uZ!sxr9cAojjyar08PfBi3+{Lr6Ro_Nr0!^Q8x z7ITfC198ctK7DG2+h4iZXh`Rs>eOyN=k5FI<_{k}1bdec4KOYvu)j6y9D<=uX}dZ8 z z5@u%WvPXteQrOTtUY@dU%7IP)dvUhYlPZ`DX6rSb5_s0^p98jE2e)qCtle65X0!Gg`@JQg?17;Bhfq}se-CS<#*`D2nR#IM@ z2WVH^3G~9R-?+hH)I$QU4_o7LrlW>fl?F4>k8lcUn3(HYPW)@Bt9~i1OhU8soM(Hs zWb`XpSsKUzU>#=H-mnn^pL4alXy3kl`$#36dU?L{p3{0Z1#qRsot^%Qej#ay20+nn zft_yr%@_0U`3@h?A-EmTjSVcNiC%hN(~L!13)cRV;{;htwdU>Tsl3{c7qsKcTX68kMUYyH-EbDl?9Mm-7N=+Zp&w4l5-m3f`JLF4_Z zcwWU2#*NzsQ`MFv&?S;jl~GkC0Tk_>=}x)gn+hY@E2ra%^n!&%`w$%bZFqRN?sCp` z^>gxew_1gf?Me@6we_4_mD%VkIXPNx?kg99_}Go`;PmAMYF}>pcWLMErFK4#V|KQt zzfZ;W`#8UY9g^dDb_g8A{L0FY0;R9K?uX3a+KoA9_yST9!(rT~ItM)~zh3?~3R`q? zDf4i^OhX0PoUV&g&Crk0KZauf8$0z7MIJ1vTJmIIK>nOa&@@4Py{;O*q{YPhAZudj{0J;noe_D=x!m3zAPY0ZNl*al81pWX65M4>sV zX{W#eT3!tBSd4q8rBOlk2b3lXD63E+mcl9T6iMW5N`a26S~y-x4VYLbDmNkm4-Jl( zHiM^EuJEnE6kedOvJMU$4Z!}ub^m?PC#4M9}_8-C?oe340PfeL=}_HCox`EQtq zjtA>X)6>(1@|1Q?s` z!(5WLL&5m;hiHg8*?QN?HT)%I+6+OD_ylr#RVD`CeRiTa{+D#|Q zX#ix?g#-Kf;F+Si?0<+Gwz2Av{ZkB@XD@$J1UW;>D@c{OA6eBotm$b%5eje9%K#Tt z;B2$vdEd=eAREWKGRq*Q|8FECmDvtjv{bz(Xqq2NR@M;R4dQKlLG7 zh8qA+iO(DvrQ?_vAdIVS=khV;5HvP6Zq6W4r_O-K_P}Xv3P$RI{}?cRq+mZoZD^gF zOLO08h=<(Mf0}3^=SEl^M#Q4dZqR|B>bB0XVOLaj(CZ8qR8PW_)@Kgoo@Y*QS{Utj z7G%PFZh_SaZu1ow_{@1*#t)0{4KZ;QTdd+$U4(r5`}c3*7WiENORl;%gt(nc|2&y7 zy#Z3rKQQpA)26Dn%K~P7LxURNjpt`axl*x=e>Ze4^}yf6xd-4K40M`kh|G9T%W+G=}m6`HJC-pZ9xK8MMXt- zA(ZC+*otRG(xtliB4*t}0dXBFH|(C8^m6@o2JTy20J7x)R0r%E;EVoeJ56a&NUtjB z)fouH9iQ7DdJve^;Q^yje;es(3>MvT*CSCZ5KrW5BverO|`*|3q18~h??V*lP88<1Yi(KynRam zXq6sRgajGB9nzBeJ!~N%A^(5?wRT~^0y~8-e&byLdU2PEsy~Rz>qA;v8kb9`8I`b? z03?9^T%#wmTDd>ej{UXVH1#QRE;Ij<5^G5TOXU9keg&yWfd+#0UzQ;kWXD*97nYw7 zjda`qfV`mKRIAJg;S?xuL?;XTp|L$|@bovJT?55h{BdkLeUXnOR4YyHz*)vv*{=y@ z?I9e=pf}^1XG@!4ED7Le0|nh2Ldf)MtcV=O(5}n=I$x0{j#W!aQSmNh(c;y~2Lfo? z^JoU`DrT=ZXfR%{WFIi%z<~4|A=lvyhfM&nwFq43LbDHsOfq*EWHLJY`wNc(l@d8o z(d$rk-;EWj!OE$%yW*@5_xJZ3g>M3|I0U4?(6o}_7Z5>UV@H5nJe(V`)$loVG9LIG zVKCI^fj6Ir`ql z0sK>*kFLsem=?gCet1Zsesx=HR8$M>n)Erh36# + + + + + + +Firefly: src/vector/is_normalized.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_normalized.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for is_normalized.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d6/d83/CMakeCXXCompilerId_8cpp.html b/docs/d6/d83/CMakeCXXCompilerId_8cpp.html new file mode 100644 index 0000000..9941418 --- /dev/null +++ b/docs/d6/d83/CMakeCXXCompilerId_8cpp.html @@ -0,0 +1,417 @@ + + + + + + + +Firefly: build/CMakeFiles/3.26.4/CompilerIdCXX/CMakeCXXCompilerId.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
CMakeCXXCompilerId.cpp File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Macros

#define __has_include(x)   0
 
#define COMPILER_ID   ""
 
#define STRINGIFY_HELPER(X)   #X
 
#define STRINGIFY(X)   STRINGIFY_HELPER(X)
 
#define PLATFORM_ID
 
#define ARCHITECTURE_ID
 
#define DEC(n)
 
#define HEX(n)
 
#define CXX_STD   __cplusplus
 
+ + + +

+Functions

int main (int argc, char *argv[])
 
+ + + + + + + + + + + +

+Variables

char const * info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
 
char const * info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
 
char const * info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
 
const char * info_language_standard_default
 
const char * info_language_extensions_default
 
+

Macro Definition Documentation

+ +

◆ __has_include

+ +
+
+ + + + + + + + +
#define __has_include( x)   0
+
+ +
+
+ +

◆ ARCHITECTURE_ID

+ +
+
+ + + + +
#define ARCHITECTURE_ID
+
+ +
+
+ +

◆ COMPILER_ID

+ +
+
+ + + + +
#define COMPILER_ID   ""
+
+ +
+
+ +

◆ CXX_STD

+ +
+
+ + + + +
#define CXX_STD   __cplusplus
+
+ +
+
+ +

◆ DEC

+ +
+
+ + + + + + + + +
#define DEC( n)
+
+Value:
('0' + (((n) / 10000000)%10)), \
+
('0' + (((n) / 1000000)%10)), \
+
('0' + (((n) / 100000)%10)), \
+
('0' + (((n) / 10000)%10)), \
+
('0' + (((n) / 1000)%10)), \
+
('0' + (((n) / 100)%10)), \
+
('0' + (((n) / 10)%10)), \
+
('0' + ((n) % 10))
+
+
+
+ +

◆ HEX

+ +
+
+ + + + + + + + +
#define HEX( n)
+
+Value:
('0' + ((n)>>28 & 0xF)), \
+
('0' + ((n)>>24 & 0xF)), \
+
('0' + ((n)>>20 & 0xF)), \
+
('0' + ((n)>>16 & 0xF)), \
+
('0' + ((n)>>12 & 0xF)), \
+
('0' + ((n)>>8 & 0xF)), \
+
('0' + ((n)>>4 & 0xF)), \
+
('0' + ((n) & 0xF))
+
+
+
+ +

◆ PLATFORM_ID

+ +
+
+ + + + +
#define PLATFORM_ID
+
+ +
+
+ +

◆ STRINGIFY

+ +
+
+ + + + + + + + +
#define STRINGIFY( X)   STRINGIFY_HELPER(X)
+
+ +
+
+ +

◆ STRINGIFY_HELPER

+ +
+
+ + + + + + + + +
#define STRINGIFY_HELPER( X)   #X
+
+ +
+
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+ +
+
+

Variable Documentation

+ +

◆ info_arch

+ +
+
+ + + + +
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
+
+ +
+
+ +

◆ info_compiler

+ +
+
+ + + + +
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
+
+ +
+
+ +

◆ info_language_extensions_default

+ +
+
+ + + + +
const char* info_language_extensions_default
+
+Initial value:
= "INFO" ":" "extensions_default["
+
+
+
+
+
+
"OFF"
+
+
"]"
+
+
+
+ +

◆ info_language_standard_default

+ +
+
+ + + + +
const char* info_language_standard_default
+
+Initial value:
= "INFO" ":" "standard_default["
+
+
+
+
+
+
+
+
+
+
+
+
"98"
+
+
"]"
+
+
+
+ +

◆ info_platform

+ +
+
+ + + + +
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
+
+ +
+
+
+ + + + diff --git a/docs/d6/dbc/namespaceFirefly.html b/docs/d6/dbc/namespaceFirefly.html new file mode 100644 index 0000000..53e0e4a --- /dev/null +++ b/docs/d6/dbc/namespaceFirefly.html @@ -0,0 +1,155 @@ + + + + + + + +Firefly: Firefly Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
Firefly Namespace Reference
+
+
+ + + + + +

+Classes

class  Vector
 Represents a mathematical vector in n-dimensional space. More...
 
+ + + +

+Typedefs

using VectorType = std::vector< Real >
 
+ + + +

+Functions

std::ostream & operator<< (std::ostream &os, Firefly::Vector const &_fvec)
 
+

Typedef Documentation

+ +

◆ VectorType

+ +
+
+ + + + +
using Firefly::VectorType = typedef std::vector<Real>
+
+ +
+
+

Function Documentation

+ +

◆ operator<<()

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::ostream & Firefly::operator<< (std::ostream & os,
Firefly::Vector const & _fvec 
)
+
+
Parameters
+ + + +
osThe output stream.
_fvecThe vector to print.
+
+
+
Returns
The output stream after printing the vector.
+ +
+
+
+ + + + diff --git a/docs/d7/d02/is__parallel_8cpp__incl.map b/docs/d7/d02/is__parallel_8cpp__incl.map new file mode 100644 index 0000000..a9bdd70 --- /dev/null +++ b/docs/d7/d02/is__parallel_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/d7/d02/is__parallel_8cpp__incl.md5 b/docs/d7/d02/is__parallel_8cpp__incl.md5 new file mode 100644 index 0000000..97c6a40 --- /dev/null +++ b/docs/d7/d02/is__parallel_8cpp__incl.md5 @@ -0,0 +1 @@ +931462df4b4de32c4e0397ec82bb55cf \ No newline at end of file diff --git a/docs/d7/d02/is__parallel_8cpp__incl.png b/docs/d7/d02/is__parallel_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c98da117ec3b3e15845382d9d1220d8520bde6ed GIT binary patch literal 14931 zcmZ{r1yt9|*X{`s1Vt&47Le``q?PWHZt0TlQWQj5C8Rr*knRu(>F!dx8>G4W_rL4D z>%Hq;?>U~M=kTqW*?Z5-=XoYrSyAd9CNU-w64E^xX>nB~BxHN|b0fxW`1d(O1S9-* z+gMIY9O(w}cUnVk6cW;7BpLA+Y92}3v+f>hZRgGVyIVQK?_9Fnv#9kK)&23&B+zbs zjtxM1hxyLv1u}v1B_(}JIOQFT480HoG*u*=2i3>~XfLwSvc6(G(h+t0cXfqRO8e>d z6K}VuGr{})Vkb$-p8ZL)?iQ;_$;b-B-2dM%CgSKpWYb6dE|yY>y&AJ?&$tVJ^d$1y z=MQpNN(3ds&wfnWvN2?P5t9Yw5Ktx8SD-9%cak)ZkAJOo-6SUakVBB?yxQluHb9yA zYarxN)F85DLXK6HBAq?FhcGLuD#t1TYp7Fqn7bEkeW}nYVdb66!Ps4k60JB6liP%> zdcRM0b$uIi2+;XG32};&n#BWrFHRh{rz&i38b?=cbR5&7+-VsY7FUF%bz5)YUP7CBS&99; z@X*i@CgSqh*;%WBv={!-`Bn*s&g)B8zwV3d9rlZuROna@W!>@f^P|s}R!~@8j1*bP z&rPACr1XE8tH@#c`$2tu{lt$~sKLR(alPi`ey6XjN57e|*{}8`ms<|LBVf`{u5mKk zsoNF4sDu{mZ&%H8+D@=Xt7;W$@Yqf?`=g?>C-#=x%_fW$>Q4XbpYSu$S5Z+xg5JLG z?(RNSVH1>^N&yWm(65W7mWog=HI?Ca-4MSzKSp*EOu?m*oiM4?V)i-x8x#-_@Mm)~ z(dJ@_HnWH>#p7K-z^%Si5hb{EeJC4?_T@QYMWpcg$MSOS9&@f3Ce0k1@uFxZP1bR( z%!~{tA4R{V(YZ6<>+n_T;>BJiZ_5N6y_3-@n{n30(*>*qp4VNz|7JUa@#s!ZrtSTY zcsCk-FFuBZWOyBK2p;^V_VDmvcV3aNw4Yb(j%Bf$DrbP-77v!YpPyH+!(dpA6%fHo zX@!M_<$Ota?OMmj3A6F3T7oG2e)lB{SdABv^(H(uIXhUkoht7%&`@+0y4?GPq81$JUqArTeC>-?^i>=S2NX)NLzCaiFkC1?60S| zXJ%)S=~Xgrg%Yx@_@k2>jTh_bN@*;pahGKC&mIWkeS+9&x2SE)qikrX0|71pC$_6A60leRZEMf!DH!9(5Mp%A=? zj)o8a1$~~cmXG_?X6)9Vi4qen=7+-PYt$Eq!$U*Q+;>Q=tgLFrVrJV0pkq}Eb)I@> zAm!;+?I;K>_jEX$^i)AxIt7zl{>{2C?(Fo%b6M;iADivYHP}v9h99o>o0MohbKSs~ zk&&rsPe@%|dQyDSCuguKT(wxJQK(Zi?Rqd4wouwR-O&-Wn&KTXGNOh}#^1Uz`u%MA ztD(oqq{a4yDR~sLN=AV1$0q`HZrd65^NlA>0%Fcs{RaFYVw_9Sh;DLP)wVuOks5f+wkNU!>a z20o9y$4~*Yz5ne%aueUbe_x|W&vW>-SG-B@?ti*pw{T1^H8u6{^YH$PdtDA+LU)Ac z&E;W#lCUqal9CefQ)_WZAQ^f29>*J6g#?F{9wNWfzvvex0`5CY5d4?Nk$E?S{k&B`}I_G-A-*N+`ObSwk=3kRzD>m0Hy26lP5?usTcJTyiLX zb};`X9rT(EbOVESscCGfsHmvc4FJsmj;gTa#soxPv6< z=6lfdI#BNFuWi4;?X z6`Y(n&AMYN?B!r0g6BmuYjbwLc9|sW59bKQxcIl53ynJo_2R2gvMbW7X;~Z0^n^5W zbar06JUdj&S8X$(&6@XjygYRj52)L1Ow7u9GBYznZ`kM)@j7+d*)B||&ZM)jp=|mF z>O?fFKEIrRxx4TI|J-G{lmX{MlaC)iIwbr{TshaP-As$la9Zx-6|&=uce?x;l9)&W zeOz&q{N+o_&-dteu(0Z^3@Ip5_1>HsbH?Yv%Oj@k3z*8FI?W#GL3m$C43cbil1jO8 zFlF0?Jk34nELP2yRr#itpGeM|*bBw`*R}f!zmxUFOp3F~)+Cvni@Kbhu}Kico7?n^_$TJ3ISyRxZrvjtRw%Ra~|i zRz=V6Ct3#nG~4AFqFpn96AA2?yDBv*vT}#Ek7rB-iq0OhT3PeP*0BX1nsx zos0vKx|kfRK*>l?LS!j{1MCL@8SehHc1YQ+zoH)esV?0!yYU!gBDG1t8|a*F3v8ED z3edbIDUOzRS%~Epx+0v#`f8cOpE2c!<kTQXu|g{y{@Fvf z7k1;PkN%S539hfT-c$Y+r9x$^&Z7}f6qQ8BJ@@Cd2l5JW4TvgNqM7|6Nr2qisrMAfRtKs!l%T|j!2d`e6f znM2^p?`n^o(N#`uim&Z$r#+92|4q( z4#NEqvghPb5by}`QuXt9*-`N1dbzL0c$lg9BxHml8DGL9*4+YHJH4B+y4uA)N9Nu7 z&l4s8)h7pkWYkYMqqk0cEx7V6m?X^$rI@OK0M9V6UHa*NT_kN;AdlN-gMvKhzafyh zSo89yp&Y|PD( z??-qgI~Jv}>hhYz_n!>Zs#yuM^OGw$t9$iK{}f%!uEdy@n0P=YZ6A%BX~HQAU6YRA zjV6g-Az;hhi{sKi?fiXk8&!t>Ma`qGgj#5TFH(~t0Hkadvw0B&+Y^+Dm*D4eZyAO>2^^Zo&;KmEj-ycd$eEgsB2k2!xWy8N2(xbQw|sxGs(7ZUyPy+W_V(d6JpFUK<#{Ct>c(uPf#!R$|n0mTl*^- z`p5T9u}C7d8qQ{ux+K%WMx(H?$W;mNVvo{5STkp1yyUqyYiOsSWfLZ(#9&8#h`*SD zG9sV3IKrK|p7M{ZRLgVhiB|E=I<{JKD^C@EBie?pg3EZYz|EH^BI=ggiNP^l?^7i( zo(MToV{(c9_(^G<@N%H@0-FKjA?0BpH`lv5dVU5iT^lC!dsuyF&|?M0CY2awF&VU% z!rIX50H|DrckNW3@BHfHC8qrv9L>Fn~88jH#u}t0F zJD--tTab~*@&r9%vi&+lEh^SaLY|E(dXu8NJWZ8a3W^6IfCg+JoK^YHH#m_MMk&bMg;D7X^^EF09%(m>{?H?bFkZEhx zjWi&UF9LbCBLdpHe~s@-<_G?v#l*?u6M0Vdl%GeznS1uIQG(J@b=PY_<9S$|Ho)b{*ifY7FInH@v9$vgNPj{+Y;!qJrx5xuz{vGZz9MQQpt`AtLCVfnZy463L5^V z&V<-}z~1Zh`eJwg-@jayOi97R9xm;6XKE^{JoWDnp;H&;ymyzgzZxv;HVuDG(X031 zI9%y9X$v7Z@l}2K(*MX{9k7?>Z0*z6)0N9nO2UplCitIjE}CvKVI#0LTgTfy;j*&7 z4v!xEuF00-d!h|HgVrCfem%fh=}Ybw`Zps6`xUFd2fOb?0`=?{La_uVB>?dx3~BBuoz7u05DUT!(Y*hdA_zNm221tTLScg z&TE;UPZbNo#vv!~3nSt>JsMWp?tmq}sE!V?ed8Hzh0S=5d^{%t(ahGlPj`10DcD6P zCH265Cto=oMg5!F->ZM~P3vbszOo^JVbc->@AR=B525&~I0xH#i@qd2`4qu;*tOw3 zeAo{A^zG^KV#9vmY<;j9dcJ5d7u)wIOd=h(CQ1^! zX6ikiV@qLw-U^LVQd5h*Dv67G1mJOfvMl$i1opB+g}S`J%Vc5Ws$K6<;yeA}9?2)e_ z>&rtWoeFCS2y_`m#l8{+yQ5J}!~M0)NGJGQpj)jr#SQI{=3CQW*$n$o?+Z3VYyvyM zHtC2k1FCj5S46|fBk%v4eFM6zXh!vr zw6w?P|91P|p$uCNiar7BtO0UW(n*nnWKKTYWQAaeWI^k!r7FMo4>;%hUY=V4Cx00fB)f zZreH#du2zpe^d8&dT!q*?^#WKqbM$Z>pi-Ke(1Ae56Q4cKU;(Gw43~dzOw2Y&(^xi zrwWrvQ*ch#xwAo{j@t^i z%)B=Pa$fN2Xjq%INNB$mueGCN7}%t$s;bjg4S^I}<0;kL+}vFX;iUKI_f<0`?*Sg$ zJ3Q=mCxTqah7JS3^Z_{71Vs~c011!nV}5@A?rZ&8m!CjKQ~l0^i<_>`V;6{oytvKF z;&G@Y9kwPoKwL1r`SS+miL>1|H*yGo26qG9G;0aC1EK}_n@dN)^-_sEueHj|?`6w< zZJed8>x7Eic7D9+2?@@i{tX|&=^sCS{GUOzihU9K@uMXbRoyO7r-kZAVldvC^Ds-V zWxZqd{{4wkAzHN#vThAGltb`*EmN)7K&YEH4+<$KVDd`4S!*NHKpQ|pdbKXWzkmOp zo=TxWtWbo!Pqyk{r4(gX_n_CR+NEEYNeASIzJ#YXr8EA>llS9c>z^A{wStd=iaJ^E z$px%33qi9hCB(%a;m73gu>thSeLzTP;ezo2?iwR|jhLAlr^Sc43#+>7P9&iK0_t-D0$h_lT9G{N%OYhsjyv&+@PH7pX?95?{3&5wjv6hjw~X zA9sgi!V=7&P9xpjn^u{N>;ozF?lrDJG^JjuswREY&(`xbO!()e*EP0gT)SsMx|z$; zccIM}t-jf~F_f{pxsn_@AN%V@z)#BYYIE6OLBGgf=Wt5RtgLf8`qiQLy4kXRWqQ(; zN%m9;y@5X8s;zdtvVldyB42O+Vnv3%R=t`$o&ib1kZ}AkZl1|63 z1=+2>loE*75VaU*6^*vCHKVKeTO0dF*Qj>s&Jrb_z3B zyQv*D1U)68M3IKUlW0Xgs7}VvQ_Fd)qYF>A1Z9n!AWwr(L+C$S z?v_nioV%pzA?`QViFpDIS1L@k@DT^Sd0F?^pBV5@1}IPkNTTPX1?n4`r`xs(X*B#Z8`{Y{CZkvPS#eG$g_CAGy_vx%hnlT4un?c(yFe4h zRyelWEC9#Y^Kn_C?=kw#5wJB3pxyxRIK@L!tf#baacgc^Mz0&-7mF0-_w1bN{Vysq z)8tb1Juf^YCoLbIedJ&HT?@k!oZ5WbNLejSXDQF?*FyGZb&q=V%N|S7y5SXVmkZYWQjZ~So5t# z^a5|mex>3NrBH-RAXu8+X2hHNhVsb8iD+`S9uhKZ=ns(gbTN#QZL~e#y2I5j)X*XiSPpC#Ynbg@}(%wwN2cUxyVzk z-@GeB@|fG8HsnDuegie?h!YS-=4XlqFZXhArzCFY>r1u+(&}w%4cHXgzl8`3HgcB( z)(>{oQ9tv)@J#IPoD!T0Gb$f*@u!d|Bs|HO9B%_CKFOL3gH!MPq$pf@})SsJK*j8bhAw~hzU9H}IaplNBf;qBJbpq%z-;ZcY zc0?uqc}A4+c*cD3?^$GCIQ$Ro-^4ZdNuvDwFm!EOHv1lCx>-OoTJ#vK-uq6C7@`?x zqN@KuKvU@gpZ6J7A>py16e^vP9nP75v}z0)=1|C0e<=Pr&U;=lyH;H;kgFNV_D*zM zcJb3Q?L6kKmzW~{pO!+oKi*Zw=}V|aw%zGb!Tg>Z$RXMB#gK>c*4{pk$wV?;O)$1< zVkXMyFRIgY2lUFo_Rgt4PlwvqCdvgez2_vPS16p2y!F@VM$`8X$}tR)BE`|ZJp))u z01&6T`3;(vB>Fdk|J%Ct3?s||#h?64VW|{(ZjZ>mx@|&xQ1tk$#LiLBx?1hN^BuZ zMmmX^JNpK+q~f`Q6K8KG>Zquu%nTAO-e1h32~{Es7v`$&?kK{yO}*xr_WmDH@X7MV zB+&9JQLbt8LV_vYFPfS;B$c!C^RT=DK8bcOIEt3%QU7sg$gP|@RV9Hk7@0JqMqGZW z+xhpPf9Zw>TPjg%3}^U%>;JXccgW2O|VS_IL*FwqZsE-Z>;! zzX*#^r~^pO`uK@K0#z9G%b}vr%@$}4*0q^|tul8-#gy1|@Q;W;OV%{1P4oD712JwU z5YeJTJnBR+aN%{Da0mfLF~OK||J3$i=X9`{?9^4Xaiqd&Q^u$Azo`_}^d9V-%D(n4 zf@tgKXiKTl#!jYhy~fu(>@;(pTw^PfXc<>>@GaoD4y;XZC)X#dt`IFo8@sC{*72EE zjI{Q!J{DwD4(H`hX?Z}(#KzQy&oRg_Wq4)jBIr)_5;qldQz|zK%WC&;)3&h=6>tPtF-V@bXw& zP(lN%9=d6Eghv!U8|s|CGs9kJF(^MZ9@yF`ZImOk#?2;uW#l3l$iOZ6EjU;oWpL2n zx?pf0KU!YK2iKtr1B;!DZ^|&4oxc*;u087Pr*d~nc?L`wfoB>y@iXzRizt}m77Nof z>|FfH4OVJC5%{D`@1voBfxnnBiMSR@N^@HWJTNX2vBMVZ4-FQBJ- z{V=DdB{Dh$1vvTxQaYCCh2xCaa%9nQ8JZFY+_rhDyHM-pD7#4~%)Ufft=@Gu5|EXy zXO>u7dzF6HRF{AFN!Ti`v&$HVA44#CP_c-fIyjUahn_lwJ}N%Huk>6+B|EALm0&q5 znevIoIZ`M``j7PJ;N={fyHzz@%0>yQE@5|-MTp39sm*#~^NbWs(}*9DGEvIz<6yeu z$YTnJW2#X~c6jEtXoN(LCQ~*uJ(n@UW}hW!Qm=+jCNug?Y-NRK&|Ny0Ch|Q*b*Rt5 zceWGxtpHL8cL3AdD%E-dqO_bx#Az=+w939!z`@#jUacwr@yq6}NZWcIlKSKX2A1ND z2g6^=0F+`Bnzwx959hj1$I=Pz3RTHaVupXl{^?jcWNw14OxCujg8a=y?X8YBKIjk_ zFHE1-Y3BpO zQC`gg&7W-SE{SmIcCpVDeGa{@vt%+3RfU1JvS0>()}TL^Ld*Z^G)32~s-K=Aho^>vE93jQK;4ztf?4^5LnyZDt^kkfct+Ge77Tb>+yurcQn=k^jl)V7 z%MW#iITmag0Wr(^fM9k)_SN#pxAZ>}@NW_b(<=Gd1%p6f198e+V1Rp^3@wqqF%(-( zpA;{i1EGaSj4r?}VQBF+F0C$Gr4nA+Ya|SoIi;{2r>}zaf-Xge&~8jh+n;U2MVBXF_%#`G?nD z(!?HG^t~3StxY8=0&KH~eL=7e@$YSYn7v2fPjPQQ7gd{u&j7S(57yAK=m*Kd5Asn3NAD!MBoCM$tv1m4Mmw?%iRB@u28Z zUB&K@H2iw~*Ch4?fie|#nwIr01g9wJ-0^H1K*rxrO00j4JA2A(z?gGqQAIHF9v95|1Gke z)lBs%AUH+k+B($#FJJhpebxPhACJ}w?0jzSTx7gc6EmUW8grhP=^U{k6{B|^mJFo- zY5h`ALyy&EHHiGM@8=(ne7lMtG+$fq8F6XH{rO#;6em(CPsoUt_*`&6oNnh$0D2zR zAo3~GqeA?Le^SpH3GUtQkaJzk;OeVTlcbLR?PhY$s~3gaNK8t78K(^cg#Zsj(+ce$3$K#f~vm6vGUCH?k>)YKMV(yG@ows(nK( zpbtrQKYLQ1OViM&`SU{%ZmCg6x#(|)IuJ;V8_3agTr7nq{3*_k?rr@Y78<>A?k$%+ zpBznArg}>Mw{D<+_z7hUY&`cB{BC%ih?iWgs zg2V4`&wSSH6{{D#0?{a+X*52K*CHoMyMFD$Tx2^yoNr&bkG7}hNc?aOL~0sYmDyf# zGMtUHy!Xmd0k>sU(1+NJWzPe<)rJmZ=^VyvGff=zW4Cjb$Z&85b;Yku#MvcF;shsj z_i>8i<^EVT1ZYmpd+4w(ST%f>kXD&}rT%tHd{>1)@D7RGc`4G))oDstx zww{xU?qztR`5Cz7JH{C{#*~zlSkOk6Jrt94?*)y;f|&)76;?wEuz`im#8o}nwmG1A z2nOrjG5ugr{R&#VU-xm~$1Ab=dL&kq$Mnq0#D5F|nvSmbJ1AnoGnh!;&!M7Lq-ScL z$NT`CTg*rN^0ZME;GJPjs3+ST%9g{HnQLrpJa71PKUXQ0wR|aA`#%B*=dMknL?;ly z(ks&;LgxSGP5Cd;rS;2pJhUj6x(uBJ?4FX&yLUuuaxpTLBJY0_u_@8itr_dwcUJ&WbyXJCSB7FpMUpQAXr?}7ivn-seehPw$jTy&xZrJ^>!h^N zsf?fy=>rH3ylO*X8W>dv{8Lu%rj#n&+Zjd22Zqi&ckX~a&8Tb=p&bBd1al%b>9b~V zMQ-(<0id4%MML3NAYl0?@L&*Q9RD=?Cl;ZZu{whV@d@oUSCpfwDlWo-H$*djlYds@ zyn4Fdk+>>#0S)7G+tP~daI)_1F}ph7EIv7mA3p2)G-?K2mFLc}xK^hN|h?ZCVU zwp(nRSHQs43Uy)-Mn!m+3Q$i(6Tqh_4{w9dLwLo2`jweWAdT!4+(e`S$7GE&9aRfF%JZO;&J!Gt zSQ&TjB3@SOw%v7obpdo6!1g{!REV3vmCEO|gaMTB73gaxs|eq*rhzALK*mpBzPtku zBuH18Kqf(R8Lsy{)Ma%B=?P&u9VyU`f;T(%3;o-J=wIC2v|%fQQ3Dt6eIUBwK>eHn zgaUQlHbaOwz;ffk&&F4N4-1$kF5E^6cB?Gowh&SQw=fv$L~-)CA;klJ|CT1^wnS=%9GL{#zS^If3qedO=<%t! z`MLE--cR7p4B*p+s4(4MXybmJaFOw^ugAP>Fjt8Ju|V5WSK?0urEJcIhj%nNwMs8T_%v4o}OOi8|I!=U#P)EEg6=k zU*`rY2T|E%4~!_nE(`2`3Di6b;Md^y`vPWX96UVK=1{iA-yp&~dgkyLDCn(b^oQr6d9*45`NQxz zfuogCqu}GHwHZWE7}@4jH?LwmCmJ*!Sol83Ev&2&ga#h|Jg=vep<6-elmk8wmPQJs zn=_^JOMB=oGw7Hk0e9B!AgX2%W)KQuKFCx^2zm0&%@yy>#r)0Q$;k?+UM`zs;b4v( z0{ITQPO{2wcB}v9&-?pvoMxCn!}G67pu$Cglm{ln7N|S2phkhDM~CpLn{w_$CgFh& z+ClL~Z$d%Cvg<2b|NHyGzacn?MEnGizz_@rG&Fa;+wjkz=rtdZYsI8zKS6$=f0=W) zv$GQl&!64h)a|pb&C6fCtA~m+`#(CN@=R3OQ-DCyW~-R`p&G;-#IXTTcmJ%fcfzyz zJP)3LhI^uvzD4@X;VlsC36XHH@Wv|T)K^kKM~YmZz6a^71hi48o%H&(<-ce-I7L&1 zeYbAxN52uU=vJ2hD}^SBE_cP8!I1`J#Bl{EyI`3gzIH8!5C!8Z8ct0iXVcBKH)KLH z=!ZyIbn6g-2eaQFPA%VrL^lFIETWWvN;jis4yI!yOE@_IqSMjFC{`4M5E=NXr~Lf%wTlfJv`UNv zeIL1le0sDsIqa9@Sz)H9NBZl-y-fM|BeSP4r-U~(y@@zpcD??)a_C97Q@!f@w*?K3 zKY+MhYo!Y}BFb#j%@rF63JAM89HJP2dB?W9)?=Rv)&nQ+gN|-@@18)$rbmO`MI~1Q zF6El+i)Q^`&2xMkBoNj?-z>ES)9MM~E@TDxjo)2;H~4@!bU>6^7sDA96}8Q_bC;+g znuMa;7WC2jvz5fKM;!0kLJ1FB@sv#S$45V6K%)0lun1ory}X8y<+SJ{1;z6{oc(}E ztZf*MO77tz4#9xpLXo5(v&p((49A%1=kY3O%G1NuV_6i!e;zr@D2!-H$wwuvEb zkU)#I$p2-^Y3A8u%1IFXPYw>IAViwUaw|NL_KZQGf?|jEyN*R7U}?#;E0!g(xc0#L z+8-r3{U9RBy}|2PS$2O|No24{U*KX9bRal6qXI`-KHR6k&N5`bi-`#)0SeIkK!PmQ zn?Y#AP~*0ytNQ1LyD!BO>MO^;Yu=CQY=zlN4345~M;g{RE$0y0I*!1q3A*ldtE}I_ z{l+3at@|t6;^LySZduD{q3+kS!_}xSUyPL+1>ClNA3pqsP=0ymeWGB=f~ct%4hi2? zWmR$&$^5R*EG{k{^YO)lxTaiXr+*oEw(9+u*4l~dXpED<7UORaR%X}4T z-;IU(DOCoE_qXp!OG~GLvEgJJ(J9l@7deM9<7aHqi*>^&aB=`F&?Za2KiBWIU?Emf zAju6jc)NrDxeaQs5}1_pbt)Jg9UZlETngZf2$YW*I9>w-I0VLhuam7#ka<1#+XxXR zbTH6Vj;lBNoat3vfW{4n1n`K7yTGKKubPdCP&VOw55n^-qt&JY;~N|iVGipSgbT&P z%j*EV6rlE6QY<#AgFp)hrb40pV8IuGB~)-&*ivSsaM!UXD1a6zo*&%jJcD4a9L!V6 zoc=Z+A4baeMbpri0FEL-R!gd>;k#~*E&oKPSOUukqM(Al2&k&KB@FF5H5VUac56$OQKhqH{nFeECg{0X*)> z%NY)iBX#cfz<1LLZEZuWEKV0At>zmWg!We|d_j1WPkQzl(ku{S&k^c}@Xe+3#R;r| zApDZwJ+u8)0Y}NYAE-jDgHrY?)>o&}*6L=%f-_#L+!E)-ix-GR9E1_0TAtAj5_e*6 zm0k`w<`IbtnQQ^GAC$;c2zWT0G)~&xGXN$Z=7(4iTr6+L*yl_lg(N*Zo`Kr=3I^I` zV+7XZu|}Nn;PhH3>ldbGU_I_X2|JS1d^c`5SFzimIq{Oh1=&7AOqyt+B`vcuzsLHXnVou!2G;E>;!aQ%``X? g`9FU3E#Dv~9SM##h>~u?DN!UD2}SWDQKNVN2iIBf*8l(j literal 0 HcmV?d00001 diff --git a/docs/d7/d7e/elem__sum_8cpp.html b/docs/d7/d7e/elem__sum_8cpp.html new file mode 100644 index 0000000..49ab15d --- /dev/null +++ b/docs/d7/d7e/elem__sum_8cpp.html @@ -0,0 +1,119 @@ + + + + + + + +Firefly: src/vector/elem_sum.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
elem_sum.cpp File Reference
+
+
+
#include <functional>
+#include <numeric>
+#include "firefly/vector.hpp"
+
+Include dependency graph for elem_sum.cpp:
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d7/d82/add_8cpp__incl.map b/docs/d7/d82/add_8cpp__incl.map new file mode 100644 index 0000000..cc68ba6 --- /dev/null +++ b/docs/d7/d82/add_8cpp__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/d7/d82/add_8cpp__incl.md5 b/docs/d7/d82/add_8cpp__incl.md5 new file mode 100644 index 0000000..d1df748 --- /dev/null +++ b/docs/d7/d82/add_8cpp__incl.md5 @@ -0,0 +1 @@ +aded1bb33b33db9cb02078fb90d7cf5c \ No newline at end of file diff --git a/docs/d7/d82/add_8cpp__incl.png b/docs/d7/d82/add_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..54e856763c1c0f139b297cf8d5ad5f80c83bf2da GIT binary patch literal 19362 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 X_sSJ>Z8!uxbc?~$)z4*}Q$iB}jj9yk literal 0 HcmV?d00001 diff --git a/docs/d8/d18/subtract_8cpp__incl.map b/docs/d8/d18/subtract_8cpp__incl.map new file mode 100644 index 0000000..1968e3e --- /dev/null +++ b/docs/d8/d18/subtract_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/d8/d18/subtract_8cpp__incl.md5 b/docs/d8/d18/subtract_8cpp__incl.md5 new file mode 100644 index 0000000..d25f91b --- /dev/null +++ b/docs/d8/d18/subtract_8cpp__incl.md5 @@ -0,0 +1 @@ +d7ab5238b44435a5d4f2d93a803e0a7e \ No newline at end of file diff --git a/docs/d8/d18/subtract_8cpp__incl.png b/docs/d8/d18/subtract_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4cb601b5cbc65c0d90b30b28cb60e2ebb79c7260 GIT binary patch literal 15140 zcmaL8by$^K^e##_(x8M$cc_4XlptNQK)OVfknTnVln{{akVfeS2`OPoDJU%+B1lTt z9c%y2Kj+?i&a?NkapSkXHRq@~#{0fA{E>ztF##f=Aibq4cg{J)QfsR+k-(TK-Z^th`?+<HK^-eDDlc`slMQ% zZD6a`pK7lA$QS;@uvVqc;rkfkh`UuKTy68H`L{QTao4BNKx=4@;F*F+u~8@dL^Id*aJ=5K#$x>M?G<+M~VBeO+dN&M6G_AKJ! zX%SRBi|gykiQJE0{`+oiYs-D@+O-S`@3^VD7fb8wNZ8CojTK2%Rn?CY?KeZ2_n$sX zoTa*b`}WKyPZC^Q+|}Xi;bN`4%KCbdh6alsf;8b53j3>r=#3tKX+L>xvx|r%+5Y^n z@b_<2US8hGZd0B6VmJP^n-XE)tu41^n$X@d+^6Q@;nB#FKn7vrDk&*_9vqB9ea+LS z`xE=fw@s$4J~4k|zI}U?k(p^T*VZZ~72NUJ>~fFh&(DumQuV$^4gpseo|}LFu1{34 z2)`I(<>uxdPdVD0+*eZL=jY#?sv|_>;NYMYwoND-ELu;_*z+O2d)7BJv=!^xH}%Fl zktd>{@;LUWGnB9?@Jh>ByYa}Ejaq;n!wKnl5Vu~?03!Im}NL-!o&$M{Q&jp+f8hb2#A!cS_DKYsZg2thl zh1#u7sebIZSzu;D0_F3;GPLnh zlO$QaumwWm6V0_D0rhpCibOhtt zjF&S=Umia#x1XGtc=TQtyR@vV#H_uo>F;3rJ*$ru0T-u!=exc1(g8CW#jaVJV=06q zj3*_J-eX)|Ug9xXPt|fYIQ+7J;3c{)cxyamKcYl7lwk6*9b&JgwRP~~ko6)?+jLl< zPmD6(Sc^BPhhzKl;;hDHMa9^}q{OI!zoKQ2puWC-)kRNFZ~v+wVW!bJc(%2sLOflJ zFE$~e8!{H3hzKjkg1H;bMOb;lOFFmwvXgnJwIiUc5raO+g(%XKoy7M-K7|R zjiHpAQht4qy^Ve+ckuD?^9u{f>F6Snma=%e4`B}vPKDcDz0zED65_rr#(RF$Ewldl zfeJRiI8pUfEn6xR8PAcv=I!1rZS^{YbYgls{@uHGFHG96F7Iz`ZHbDCqCF}>utAn6 zT3WJ}mzSrgv8RdHrao_Oa;bGI43_Z1ujt=kzxN_xd;?mZyPrPPr^m*UI z>go zgyno`>MI|*u+2ya!+no;Nl7@LV_6i#qM`~O1mk$4LT7&?MkSHkd7%?~pWa7Dhtk>E zdGgPF_dk^5@jcqo`l!o? zbB+FZq8<&Z>6auvqZBb$b_iLhl}Vnn-f!4clLWo@EHg4P!otI!%zqBj`Jlr!?uxwO z8gTLby&Nu7ozy$e2s}JIM8(8X*S7CMiK((gl0%V1MQIe>y)Ru|EW;_Tqb1rLL^zlb z9I#YL7Y^96s)ldf4xBdP5Z(b$vM6hu>Pv>Cc;C$uy^_J=O?b!5tj*Gv4EA>QB z4fZ zeE072-{}VLt)?|67niRMWf{&z`T0AYgaWrhWK@*x?06v)bie@9#tuXKNS@V}Q_Nd@ ze6VDP`T2Pn_|_(`U1soAq2I~g>M76T4-ehkgkYyJ64F)!P|b$wVzz&M>dn0G=>^}x zY1Sq|BVa0&y#&sLni>`z9k9&&++oarS8u*Im23$tiijsZJa6E0Y_-bJbKaKe5%GWwWc1vkQ|Gih$i-g zjJ0^Z0q+Ccmx+mw>-Ul3X4!R@YuSNP<7;cB_ba44oSi#*dV0=X9Xw+wYt8n2j7@u) zF0_?Q|H~DwbrtzNexfp?hM~h1T2=G#+dL5nQJuXZ^YA=D)wfN>D=ncr%KcP52>pM* z*duZ|pCziy!VhXCHb>}O2=o89t|GDTle)uP+u*NHo^{vcv|JKhFK)~;uvHmFkgf`{rH4JpJ>iUFDYz?uL9g}bJtZQei@>&s@ zY5Vo0qlL|9<9GD1B+Kg;KIYn~YEc&a*ds}%xacbQE@0fIUHbPmvh8wVUv8mT4`b&@#XvK(4;EP zh&T$95T6;H`7*CA$6q-@UF$2Y@E-pIpR#zLJmD)@gr-%# zsyBSr5yGww@ z((uCG`JZOp}&l^?)*liewM+J|=%$ZX87wFmrC*?N0C<{s- zH4xac3L5L)>#UHel}e0$@GDflVrQF%zx^lvd45h!hwA1}@tg8oe}D8DVFpO6Dzez& zjHt0U8~H5ac#-z%-=e3G1~a@i?9JmW$fWhAsWIKihY)0Z>7l^zH_11=#;{jMA8dH2 z5p5?w&#qQWyv1B@!w{dFpliEqGLVsRQbg)T&EA|`*iBs7)}W+Tx5|gV`x~F3TCUmp zzsI<}X;`iV#jugSE5#@%SCjFyI*1n*SGgR|Jiz@h~;EDLFmCy9SF~_+JDk1mPCA8xqlBw-D7rM!3S;#JJ>Tu=?5l zeeO0RGU+BOlS5Fd7Ou7srYA7-y=KFZP748yj%8yiIxwU`eKit4JdZXCK4R7X5Qc+K*WWI8mWYp&~SF4QCFNOyn zf5|mIW1Z2UYN`5a#ENo*J}MVj0~Yp(%~M|*a63zzuIk#pOpjWYw&f9)_jUm%y?U}x zUGUM3kq82aM6nmbLpW{TaZ>uTs#6DJ7jg%cr z>slNW9#iCfDb>0kdgmm+F^TZ;;zwPQNG5qdp1e`5Q!LC~mL2q7dpdQ^#+@&81A$QP zEGA{F60Nb5DR!$Kt)i=}S6-^yZVvxM``WhZyz3cSCFS+_Ccn?``1Y_{WB=kAtM7ch z!|1F(%}G^Ysl~GGXRQ7{9iJOhoatmpKxarnh0N=b;q>|hnofrjO=4qqR)->%YKM?{ zfK1By$G}EA`)3yIq&nCLcZ@n|SWJ$>?8#2dJEM?gV*FH^pKlR+X6X2Mvj{U$E{V$p zmmpH2_;m_RpUcgC${ZhqtE3OPmIVs4F=UO8$7DyiR2Ol+5qeQP2yE>(W83OvVSAI` zjT6piaBBSWT8BBYoOS}aBHMPaVA}QQ&&NtZGBMqjKW=vg*0_z{szvll8%I;UB4uS> zTYJD&C3{D=jIf+D5HZT`jVHlb7UkI(ly8wmLY~ju6j}HV^(f0d^X4uir7Yj`;BT0TSZdpK8h;`=sz-VzZv>)u1@+EZa499S zf1%XWi9qa?EN9XnIk|4H81M@+H%8=phQ<7DYisaw^N~mDRW{&ZOrf3K9r4`qcj%;j zpeL+ezzLx|ByV0^`hxsi9`EK2b;1W9UV5=+i>Fwd?@(>jg;fdNJ`TggVf=oL!4X4G z-T`02U$!TV3cZIuD>p%j+k34ue@&7}x!+loDjdmb;J{Y=Vu#Eu@n@!UL_~*?-4DG* zY%G>{Gogy6m@mv9!ojByyhB;=P>Y7w^>>}dl&BaPu}+_;CF@1j5(D1sJ+H{6DS17Q zw=+!rMXa|U5U|Hz`r2k{S<2q|JkK*`dp#@HS|h5()yZYK!jgUKpV+pm?EJGGGKR;C z{8Ev#q`Mt$7PJa~2$48k?_{{w!_WPry0j?=OJY5*fy+sDXi0gn;Gc&6;d&U)R5*{L3dnPQ^Qm35n;yLvgblqmRHFNqqHC!2S+v_$L8DPD`r- zV?2|50cX<3hid8h1qHhY<7WF)FDkynoPBz-xc zl^S%x6n}Dgw(acc3GHp>^0KAW)w!!eG(8gLAk^@4yd1Cj4pD9UlUqVk(&k4o8FY|V zSC<#7BClS(8gOsf`^w|D(}6qF9yn)wd9s#Gas7H<7#WN8_gw5U!#az*6@WT6GmW>SqocjNy`6U#<*5Zs2WFaF4XP|cPg>&R z;*`|YS89f(^1#WW_wS?Tp=ib{SFNs@Q`RDwXmChws=(Cf#m5x(V4Y(lQmXWk*;Tle_Ia5j5dFLN+yv$f5)X= zSn0GN3*MRl&_Wik?PN85aifu0@JT1uScREpFb?s6>uA%UX5iJu5y~v7{mwH9IUK*lg$EDLqo29L-=$e|lkTt_1v^<02?ti*-9t00W#$N1a zUoA%pwB@L$ivT+F?USdYgoMQLZZ9LD&RkzC3(Dc_+NXz!ku(C&VW^*^9-XSSp@0|R zn#1;Zjp_%C>+L4*oc>!64i1(JS~RFMM;|THEPC1-ogiSA1s1>Syx1+VWK?f=Bk*i` z4waICfDU9y(s8lD*gjOF>9TilP~f>e3;5;GIsQ(=T)^Gr2K(tGG8TpT-@n5uDg*#S z91z*gGHXKATW7TZI@aP%aj!x89(F@@b?48YiGbZU0aRJ*YMejEsyH78XjXXRdTTYgxWS=Yg%J zF{Ty69s^@zN%{HtMcYJ#2pIlRupG+E=$JT`>CY!yyzhc${{)clP`mVF;QS4_-Y_Stj1ciIl&w1&&lyp z%;YCef$;F~3^CW&ke#VTZ3N7Mg6|;Rs=am>?eZLsUEA(|d@uKAuOjdwGAHNO>uU_B z4|m_v3P-@HQ0;%_vADD}S#M7VfH(R`(ICpEvYpw!E<`u(gus#es<@aFAWEyYUx2-q zH)Zw1$&r1m9teOn7B)5+BctZShgdv%<(5119jJPqM1DJ;{_b-kaPG^OXz)qJ(L!~D zRv%%oG46;oLNoPFD5RZsm4!T1FpW3Y){Sl){{9{u7KUdUaPllJF0T4lLEO)8@8zm$ zYMw&RV%+AJ3iQLbB27la1_$ELr3N)ABKEZVYs0;eP*VP<5-v~Fk<*YmRSgYR-C<-I z(t%kJK?~d4*&BT#0?_~DK)JD-tPXASKTC_@U}vv(UDJ@2m93VX9UY~B>I3JXWgBKm z&hA@A>6@*lC`JZFz`$XA*UZxI=$GfodQo<-kCh0jIm;%UEPYrcQasYO4> z-B2WJcHy=7UR*}}GXmn}zuI&?3y;YbpV%q)FLLY!hFRc81oRbg-gpgDbx9n_%iH9O z*nSK&z0%`H)Zr&mVl<;3N*_NepGVvh=D!wm&>FgHut*s8u0jb}f!KKx)}X&5ib@QzogK=9r&9|Vm6B^!+LiOk8VwW0I=@yi`G?0?nJpSYw^`sLppv9Qr| zE)=vFEOw2%X2^d)rYWhyP^+$6tNiRO*gCm>36j}i~SY!f*SD}i2K!2oGJ7*gtJ zsbJJ*aQT|k#&t0w^byjCO9*}1@^R{yvNT49@s|3$dHwaPI0NJJzbv>EktlE_^yh1YNbz!+M9q7$>cW@!vgCL( zIIFbw1_;W$ukfoVjcS-wgDdnA69?(aT;~my_{x|@Mri^*a@{n~4-EKcqp=SLP{C9;U zDL;}%CafAAaymD;hMsWfOseIZbdhNXpx$__Q&FMQS{i?==>hWELz{aB|9dPdMwHk zo*lcBsIsV{3mNIXH^=)cpNi2sv3Ah;VPB}yDItXbwkO$mL=6Pp!iZd_hIv?rVkvjI z2PTW9_m#aU8XD~&N(%t9Ek%yB69LjKn1n9Er_GG(1ZeY{T8KCi8JUnxPPXX~OPR`w zV^8OXY`!EXG0o0LZ-wrn#d(QWm6A)||f{C-9hDARWGUBwj>q zD8;O`(0ycxl9Va9V43fUe7w1)vv$A!os&0Tsegwh#37m57GIPtUavN2%Wqh8RPte- zAQ=$yii|Ss$)l7`Z0WD0S3dhdI>3*wOn2*+tVdED9@B4zO+FDo0(Aiiqd?EbSKcr; zbJpqC$LO@wE_tf*MM;9ZgEz6e9|u03L+^Pfp*Wv-_0#=mbYCJVi6Yt%PRTi|7pNMv***D&O zWo6otbCLgj{DGC-9<5#Qq>%KSmo1QZmrB}}VR-2{wEqbPb-J3H@tFMPhY)nVI3HAl;;26;ycjK=$+MjxpWzmgRA^{>PP+EFR>ZP<3<12Gv?ntJCpt$!E znHDN*UaP(&SN4>PGrpVAsd7ATGLs{QVv#2Rz@ccwV$f&W2}V->hEw}kzPf02ZxO(Z zBP=hNah;~(+7Jw+OlL~S_8@*7MzV5u2~Fl(#%*j19QcxQe%(igz5Aj83nSW}iE`>* z+AE~g4k*%(iSw@@0jnp_cNuy8kC-4NdP)44X+rVsH}R~Z1sZ-iEVsL~Hq9*`!^Xt3 z&W}S?HJMUF=c(}1L&Jyv174R91RCn;`jx1l3v4tlQN5yG>?c28T(qWLWYINL0c>ww zpLhN}S8BLn?_TYuoi}4+#kjT`-9yS;fGh{+c?^|zMjjBm(f=b%rn~5TcDL-QHi1G^ z3*Wa&r^yMd_&)torA~TPS{ths8h%`SeRkGNDAgKeOWxEsJiRvK;*MnfLLY2+5%Btt z=Qt=8Vh)n}38}PktzLFs!~$E2~XV5 z(AF0|&if?E@0DmLroNX}9)OfUmKV&{R;7{7?yfhzbM2MDOBzzYnC1A~ zsZ9fKac=Kqb0|t^OrlTX&hvy=?T_~f`7umM4#|9Lql*Ne8OunqVvPp3_SnG=4GrRs zlV$A9%VxX(L=amff-cr0;DzN|i{AzH7SW+>l2R5V(p#3YelyfD#=SmEJ zWm~!*piBfWQ2R`*&x556uaqx)%F_=B)`M!keFMXB+a$#C8;axheKX%zbpTIF-cZcBdr96Tb<_c{PW3e#2vxmPPBWj1MIJT6{e4a5TZt={Uag1a_W zKwsqrd5bH5Drj2_1TG>0L$=`K4`&@&rLdTk9CwLOHdXR$90>uo{_l4syH(HMyW2er zSDB^#8e1E~oT^0|S8tY*QBdUF~@2jk0avEQs|knaF~A6Z}Qb! z@ofMeo0)l{r1DDT&!6y^(HEJu&K}S4c2W~`-n}x{rmf*!P*o`aT7h|~HKtT1wRApn8LX07V`M32{1B8b(cNrK@p+L;W3OFYJAmQJnDWtN!I3@%vYGXu6 zf~t5^IKGi`hP?(Ecl1;#E7>L#i4FoqEJ0 znPR`60>%zPsiH(b9_}P{7}W|xX)n0#jHwhZkQz=WV-eL&Rv8aE&-Isy4FRscerLABS-_s*La8r9jXVE?wh8lH{5VT<#uV!Klxx%##QhR_SB>xUjk zw9`1|C&{yIbIdbx8|6HunMV^EIB{Qq-mFuKDaC|3&ZF=p-VIK+NHl-bnAls`*WF*W z^Bz#2Mci(&7>DTbbXi3Ewp>M$kdkk%7#6d`o7Gpla8%<)S^t*RUt@-ob&g%7ZKxSj zYhGd9ymo;gZY{*z3$XnW{>3uSFxk-q`*{Jqo<0ffkCLq<@w(QL z&LoxVZ=f=RhFI)b;s{2B&L_Q$E|7G_EZycK56zmz&_MIvHfQ~Yzk@>OY0TVu1fakD zJkQdG@rMA}fDjzg==BC#n9C{84NY)L5RvAD9)eGO_NG5*O2NbhfOd4EY2J-=w@oSx z8hqUwZ`5VK&9Qplb1iak^Lso-?os%bYJKY#@`c7I)+V{`Kb{v2@1F7M3Y!qH6NIxi zJc!47-^DXwWXE@jS9jYwz0^AX>vgW{B&@3Xx6CCTG4*$;DdAlA>oJV#m94gWM<6x{xCe#FdcDPF#~9%S^4 zFFxEKfe57!w7cV+H&><>n(LzB5@zumTptxE}q+{0fQ?} zScW5Ze_PY#%RCRQHAQN@!q&T$cg? zbeJDY7%BERPM8>f1dG*5jaZ-Qh7hY-GmTX#TSPv^OVab4@%^|0N2x~{V{T;59a6c{ zuihi#!g5?I-0uvZEvwSCXBXrt_x>J;OkiGeRL!5uOrUEe6~#kFzbxD9u^_7J)*5BM zfdfUweq@5}z4I3udBMjg*1e(!9>?ot^VE>{kF5 z%2hTTYi#KAPX5PRh6iG@^pDiaRJbF|hGNrn#s4TNGhn&D`w<&=D*Fg`M8M)J^bpAW zH9n*H`q_um)y;gi_89kNoC^@Q9_kCHmi!M?^ zGIHhU6DD&AVmjWqg8QJIy+fR0Na;?)hR&Q zOlQ;VLUeS_ce~ZbfJA>~S0+uE=f1Xz4MLI78UGiH8AMNM9Q9Y zz4mTnXEQ3Zu;=6A3I{}o#``{~^gtE&DG8D438?tu;^JQ5yf)q+-Yr~g?92qjNX`Sy z%}unMXt&7nAD70sb6tM(1?r|2#7&CPYpI+c9`gwE=uk%#7Z)=-$`y^?`1tta^Y_S4 zUOm0NG^%@`|IrF0#C8IGEVJsY!Q&4);d?9l?ezv}fPJx#d$PNCApU<9!GK}pkY~4O zYiozUeap(nceL_upJ!Md^rOAe3_MAZ??B8U|Gt}J8#tfuz>rB)Sgz@1X@it&c6L@R zO$Y^-Q#~(+r+O4dr$*F#0COp;s^&TTYEJ9P zS?@cG*OYn!dbysdRe(L6JUs=*M5x%Lf#I6(B9Z<9T-;0D3e&+{`ADIt_ut|g{sUKC z_m-94e%U-qFl!IU1gn#ilMnO`Wl5^~`AMt|XLH=S6SveGlim*kTCsq0QO~UzWL??$ zS3rG1DmE8*m03Ec2FN)j4Zra%cJ|kOeM;q~t*5+2rJPO80T<#x9p1WqdpEXvVnQE; znAI0sv!J>KYQYHFV)5e95(&es2D?AnS7hNX@Qy?@xcJ zJ7^9E&V5!7e4c&XI0&5CI1wUvHnj}o7fPm=l5(9}w-n~T0@Y+ho&qt7U;`N{Fb!*f zfcpLWuJ~{3S30Pg!OZf2KLWhE8cJh2-!IU<{5c4dh*2s70P<+~^$5^ocJ?cJ0b4U- zU*6u31E&J059-ppftP+L0s%O<@Q4Um6=aL|{_%#{l}fghKS3U$(8AW12JB4C_mCF^ z#jv0@;5I?79aC2)tXFQ_0Vp&uG-=s2?i;#NpvdLcD_27x$U)-CYtl>!;#dfOklU_P zj5m4wHEcUxB%GO<0Rdg1R-S_2+24l7#>SKl)E`dft}fqv{K$h6UrR}4^+eL7Zyc|t zJ07njo9TmIv+D54lL!zhF89TvkWB#Do&HVa2~aZb zyH-QXparEDcMJRRLkBn|-29kL-Ew0j5UD8XI)rEug!;dY@tAN5j%pyyU}=p`3mD+q z)z+g~%y~dxS6_&I|NdQx3;)`+LSO~ZN{yT1y55ku{*RznEbvl7N=oX-hsTk`bRv(+ zjl~>h8an{Av>sXBO`lD+WRDLAw3Qsh(pghV8XASbngBnE2X=vAzB!!?NG6IS1A0dL zlZQP@Y6nRS4-Oq1L_|gTZ*F8yZ`>dy-TAS0Jb;|G7P8PC-B~l9H3lzPZNWb-crb;xa)GKY2RQ(GdgyEfDR%XXFBbG1KfG39dF5 zqBZ#B!AHTae|Q)LMMI`yyvA`(3RpLM5|TBbhl-x{Cp9)VS6hE)2FlVJ7&x@66V208 zN04x?LMn8B`SRRX8|xSzMG--O;p5B$W4i>|bbh)~0lH_`gFla(-8U3~_^<(a_^)R7 zJb=qr*8(pN#s^Yv2UGFrro@;42oJXXpjRtBgk^VcRJ0EPub3iaLyks9Mg|1i?97#!|H03vXD&dagIbpn2v-{5a3D>>px*TN z^Nf%4w2w31^q0);xvQCO+~O4rfsCSE|DFDO7PbLOY~V(VflCH0FWf5$0@ItrJ%<3A zuY-_@z=TK-Y%7Ro@=xE_4p;#*F2a?ITI=txF3yf9ZrliukJql^v&jFC1h|^Zl_yNQ z=jd?r+2ab+OyGT-PxhXnd2G!n7pNpwLW&2@`0n=5ptu#p*P;)u!&#CjZv#<)wyx|0 zR0nW6{?e8GBVu$jvI_dUel z=CAZN!WrN(`#_s53dMyzzC~m#rrp*p&;3&gPIH`S%yj{Wc}^)3{Jkl6p(3L zhud>8>FIP()B^H{Al)%{fXsUG?3sLpY3sN3k=)1|OIw6D#r1;K6n|_rAw)Dk63LwjtyTd7f>fZrICJk4z3E7B*^Y>u!_L>u$}6-J=nZF0gB64FF$dGf~L|1ou-oEo3hJxe8c8DL_EQO<7#_s^wDV zefgu40puspWaBZRv<1Mki7;xaslkD%Rc0ux@b)@-zM0^^gM*&_enJ`=n$ptJYLl5# zxW$4*BB8{6kr?Sel}|hW3i13#qi6|rV!_EJ2+Q4BU}>*>rUfLclarG<5as$tS4~=v zWMwhnPLXCEw=txq0g%%`lB_QK!sC99@Bcu#&-OpO0oNNW;QGtzx{xYcNDkb0p%-)M zKKCT0q3MO(C^l*+KY67K;)~zo6^vY5Tqpzn`B<^IvJ#5YT1T3C*L{cP?DX(&Kh%uD z-hzbHdvLL9Rq*K-qWvF8aNP|-bD4Tg-DmJT6^ciu6S14`p)t#c*67EF#5OnQ0DrEK z95^UYcLE@WUA-+Vn8C_1Ev67-@-6|xhCz{$gh4?;Z*NMb9nA%1!@*n)%~P}Ib~IeK zLFq%*LE-{z-7QFl>9}YJc_wD&S0Dht33f~qvXO-(ydmi$1cW^s6H^d2A$7|12c43U zr~M|z#@B&zL`O$&Ihys=fsBUAQR(nYytAvThOM-^Si49gBqT)8YsVb)Juzivd=LuD zpl(?e+u~SRS?K}2Jt{Y#9M8jVfnwVq4!qp28Xny^__sZmjnZ!tJ7gVD!bovThq=QE>1f;NS*DL2s+?(SYlFl-vcnRv`5maB<(* zVZJX#bqoqIHwU3M*^K1lqs|SKMWI=I4+UMP%rFto@}=Lu``|~72_=7|&(YQ(=s=Kg z^WkPwVVs#+05m~wuiwVV`>q6KQPgD_4~|?o&R0);B)1L(2tr*x&O@rCio0{8x}&r0 z_Ff=6LCOTGh%VsMkN-Bz;o;+V3=KuY32y!@@iJ={lqFiNKJHM=?Xs>=O?BYKhS>?! zYB8UGoNz0P&wi@*HplGw*WM_)UZ}1o@DBYtTPldWC9|v3p_(DJR-XfAILRTxsAL_jw+HXdSpuz}A?o}JZfAXmOJ4AiNR6T{ z*w4?8dT_O?tNK|#>ew@Aa$$pO6&Uld*g~i)s740X@FS-*>0e2{=D+Ln~ryz?8mXDzkmN;d@F~p#vX5a;M>8<#zv)jAHsqs$%EI#;YBh{Xi7>7qH6Xy9_}$U z@dw0P?dhiPQ@4YFj_2n#TR*gKsyzh0Jxs1Y`*L**^>7E@H1j + + + + + + + + + + + + + + diff --git a/docs/d8/d78/scale_8cpp__incl.md5 b/docs/d8/d78/scale_8cpp__incl.md5 new file mode 100644 index 0000000..7ae78e5 --- /dev/null +++ b/docs/d8/d78/scale_8cpp__incl.md5 @@ -0,0 +1 @@ +8c3aa8c79c1473b8ea0460527bce2ddf \ No newline at end of file diff --git a/docs/d8/d78/scale_8cpp__incl.png b/docs/d8/d78/scale_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5681bea987b89dad6db5b26193b93a519538caf0 GIT binary patch literal 15093 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 + + + + + + + + + + + + + + diff --git a/docs/d8/dc3/magnitude_8cpp__incl.md5 b/docs/d8/dc3/magnitude_8cpp__incl.md5 new file mode 100644 index 0000000..a41273f --- /dev/null +++ b/docs/d8/dc3/magnitude_8cpp__incl.md5 @@ -0,0 +1 @@ +d1b5da96c4f7db9088a19754a9ccdc5e \ No newline at end of file diff --git a/docs/d8/dc3/magnitude_8cpp__incl.png b/docs/d8/dc3/magnitude_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..95a39a7ebafdda9c5074722d050b11a3ab163053 GIT binary patch literal 15467 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 + + + + + + + + + + + + diff --git a/docs/d9/d1c/dot_8cpp__incl.md5 b/docs/d9/d1c/dot_8cpp__incl.md5 new file mode 100644 index 0000000..b7615dc --- /dev/null +++ b/docs/d9/d1c/dot_8cpp__incl.md5 @@ -0,0 +1 @@ +d6eb81e6c7c7dc7f66deaae60206c2f7 \ No newline at end of file diff --git a/docs/d9/d1c/dot_8cpp__incl.png b/docs/d9/d1c/dot_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..77d45b1c60146af244582f32844c1eadc6079930 GIT binary patch literal 12410 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 + + + + + + +Firefly: src/vector/is_parallel.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_parallel.cpp File Reference
+
+
+
#include <cmath>
+#include "firefly/vector.hpp"
+
+Include dependency graph for is_parallel.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/d9/dae/is__zero_8cpp__incl.map b/docs/d9/dae/is__zero_8cpp__incl.map new file mode 100644 index 0000000..8e67ceb --- /dev/null +++ b/docs/d9/dae/is__zero_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/d9/dae/is__zero_8cpp__incl.md5 b/docs/d9/dae/is__zero_8cpp__incl.md5 new file mode 100644 index 0000000..c709631 --- /dev/null +++ b/docs/d9/dae/is__zero_8cpp__incl.md5 @@ -0,0 +1 @@ +339ed3de1af0f1f8c3bf0657587957c9 \ No newline at end of file diff --git a/docs/d9/dae/is__zero_8cpp__incl.png b/docs/d9/dae/is__zero_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6e60977c11bb4ac6de2638a4743c235cb0a4225d GIT binary patch literal 17266 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 + + + + + + +Firefly: headers/firefly/vector.hpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
vector.hpp File Reference
+
+
+
#include <cstddef>
+#include <memory>
+#include <ostream>
+#include <vector>
+
+Include dependency graph for vector.hpp:
+
+
+ + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  Firefly::Vector
 Represents a mathematical vector in n-dimensional space. More...
 
+ + + +

+Namespaces

namespace  Firefly
 
+ + + + + +

+Typedefs

using Real = float
 
using Firefly::VectorType = std::vector< Real >
 
+

Typedef Documentation

+ +

◆ Real

+ +
+
+ + + + +
using Real = float
+
+ +
+
+
+ + + + diff --git a/docs/da/d16/vector_8hpp_source.html b/docs/da/d16/vector_8hpp_source.html new file mode 100644 index 0000000..59cc1a2 --- /dev/null +++ b/docs/da/d16/vector_8hpp_source.html @@ -0,0 +1,199 @@ + + + + + + + +Firefly: headers/firefly/vector.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
vector.hpp
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cstddef>
+
4#include <memory>
+
5#include <ostream>
+
6#include <vector>
+
7
+
8#ifdef DOUBLE_PRECISION
+
9using Real = double;
+
10#else
+
11using Real = float;
+
12#endif
+
13
+
14namespace Firefly {
+
15using VectorType = std::vector<Real>;
+
16
+
25class Vector {
+
26 std::shared_ptr<VectorType> m_vec;
+
27
+
28public:
+
29 Vector(Vector &&) = delete;
+
30 Vector() = delete;
+
31
+
32 ~Vector() = default;
+
33
+
38 Vector(std::size_t _size);
+
43 Vector(VectorType const &_vec);
+
48 Vector(Vector const &_fvec);
+
49
+
54 [[nodiscard]] std::string View() const;
+
62 friend std::ostream &operator<<(std::ostream &os, Vector const &_fvec);
+
63
+
70 [[nodiscard]] Real At(std::size_t idx) const;
+
77 [[nodiscard]] Real &At(std::size_t idx);
+
84 [[nodiscard]] Real operator[](std::size_t idx) const;
+
91 [[nodiscard]] Real &operator[](std::size_t idx);
+
92
+
97 [[nodiscard]] std::size_t Size() const;
+
98
+
104 [[nodiscard]] std::size_t Rank() const;
+
105
+
113 [[nodiscard]] std::unique_ptr<Vector> Add(Vector const &_fvec) const;
+
121 [[nodiscard]] std::unique_ptr<Vector> Add(Real const &_scalar) const;
+
128 [[nodiscard]] std::unique_ptr<Vector> operator+(Vector const &_fvec) const;
+
135 [[nodiscard]] std::unique_ptr<Vector> operator+(Real const &_scalar) const;
+
141 [[nodiscard]] std::unique_ptr<Vector> operator++() const;
+
142
+
149 [[nodiscard]] std::unique_ptr<Vector> Scale(Real const &_fvec) const;
+
150
+
156 [[nodiscard]] std::unique_ptr<Vector> operator*(Real const &_scalar) const;
+
157
+
165 [[nodiscard]] std::unique_ptr<Vector> Subtract(Vector const &_fvec) const;
+
173 [[nodiscard]] std::unique_ptr<Vector> Subtract(Real const &_scalar) const;
+
180 [[nodiscard]] std::unique_ptr<Vector> operator-(Vector const &_fvec) const;
+
187 [[nodiscard]] std::unique_ptr<Vector> operator-(Real const &_scalar) const;
+
193 [[nodiscard]] std::unique_ptr<Vector> operator--() const;
+
194
+
200 [[nodiscard]] Real Dot(Vector const &_fvec) const;
+
201
+
209 [[nodiscard]] std::unique_ptr<Vector> Cross(Vector const &_fvec) const;
+
210
+
215 [[nodiscard]] Real ElemSum() const;
+
216
+
221 [[nodiscard]] Real Magnitude() const;
+
222
+
227 [[nodiscard]] std::unique_ptr<Vector> Normalize() const;
+
228
+
235 [[nodiscard]] Real AngleWith(Vector const &_fvec) const;
+
236
+
241 [[nodiscard]] bool IsZero();
+
242
+
248 [[nodiscard]] bool IsNormalized();
+
260 [[nodiscard]] bool IsParallel(Vector const &_fvec);
+
271 [[nodiscard]] bool IsOrthogonal(Vector const &_fvec);
+
272
+
279 [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const;
+
286 [[nodiscard]] Real TriangleArea(Vector const &_fvec) const;
+
287};
+
288
+
289} // namespace Firefly
+
Represents a mathematical vector in n-dimensional space.
Definition vector.hpp:25
+
std::unique_ptr< Vector > Subtract(Vector const &_fvec) const
Performs vector subtraction with another vector and returns the result as a new vector.
Definition subtract.cpp:6
+
std::unique_ptr< Vector > operator*(Real const &_scalar) const
Overloaded operator to perform vector scaling.
Definition scale.cpp:16
+
std::size_t Rank() const
Returns the rank (dimensionality) of the vector. It is same as Size() method.
Definition rank.cpp:7
+
std::unique_ptr< Vector > Normalize() const
Returns a new vector that is the normalized version of this vector.
Definition normalize.cpp:4
+
Real AngleWith(Vector const &_fvec) const
Calculates the angle between this vector and another vector in radians.
Definition angle_with.cpp:7
+
std::unique_ptr< Vector > Add(Vector const &_fvec) const
Performs vector addition with another vector and returns the result as a new vector.
Definition add.cpp:8
+
~Vector()=default
+
Real TriangleArea(Vector const &_fvec) const
Calculates the area of the triangle formed by this vector and another vector.
Definition area.cpp:8
+
std::unique_ptr< Vector > operator--() const
Overloaded prefix decrement operator to decrement all elements of the vector by one.
Definition subtract.cpp:20
+
friend std::ostream & operator<<(std::ostream &os, Vector const &_fvec)
Overloaded stream insertion operator to print the vector to an output stream.
Definition view.cpp:15
+
bool IsNormalized()
Checks if the vector is a unit vector (normalized with a magnitude of 1).
Definition is_normalized.cpp:4
+
std::unique_ptr< Vector > Cross(Vector const &_fvec) const
Calculates the cross product between this vector and another vector. Both vectors must have three dim...
Definition cross.cpp:4
+
Real operator[](std::size_t idx) const
Overloaded subscript operator to access the value at a specific index (const version).
Definition indexers.cpp:25
+
bool IsZero()
Checks if the vector is a zero vector (all elements are zero).
Definition is_zero.cpp:7
+
std::unique_ptr< Vector > operator+(Vector const &_fvec) const
Overloaded operator to perform vector addition.
Definition add.cpp:35
+
Real ElemSum() const
Calculates the sum of all elements in the vector.
Definition elem_sum.cpp:8
+
std::unique_ptr< Vector > operator++() const
Overloaded prefix increment operator to increment all elements of the vector by one.
Definition add.cpp:39
+ +
Real At(std::size_t idx) const
Retrieves the value at a specific index in the vector (const version).
Definition indexers.cpp:7
+
bool IsOrthogonal(Vector const &_fvec)
Checks if this vector is orthogonal (perpendicular) to another vector.
Definition is_orthogonal.cpp:4
+
std::unique_ptr< Vector > operator-(Vector const &_fvec) const
Overloaded operator to perform vector subtraction.
Definition subtract.cpp:13
+
std::size_t Size() const
Returns the size (number of elements) of the vector.
Definition rank.cpp:5
+
Real Dot(Vector const &_fvec) const
Calculates the dot product between this vector and another vector.
Definition dot.cpp:4
+
Vector(Vector &&)=delete
+
std::string View() const
Returns a string representation of the vector.
Definition view.cpp:5
+
Real ParallelogramArea(Vector const &_fvec) const
Calculates the area of the parallelogram spanned by this vector and another vector.
Definition area.cpp:4
+
bool IsParallel(Vector const &_fvec)
Checks if this vector is parallel to another vector.
Definition is_parallel.cpp:6
+
std::unique_ptr< Vector > Scale(Real const &_fvec) const
Performs vector scaling by a real value and returns the result as a new vector.
Definition scale.cpp:6
+
Real Magnitude() const
Calculates the magnitude (Euclidean norm) of the vector.
Definition magnitude.cpp:6
+
Definition vector.hpp:14
+
std::vector< Real > VectorType
Definition vector.hpp:15
+
float Real
Definition vector.hpp:11
+
+ + + + diff --git a/docs/da/d19/indexers_8cpp__incl.map b/docs/da/d19/indexers_8cpp__incl.map new file mode 100644 index 0000000..de950b0 --- /dev/null +++ b/docs/da/d19/indexers_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/da/d19/indexers_8cpp__incl.md5 b/docs/da/d19/indexers_8cpp__incl.md5 new file mode 100644 index 0000000..00a4696 --- /dev/null +++ b/docs/da/d19/indexers_8cpp__incl.md5 @@ -0,0 +1 @@ +7dc4dd2bf26fa3022b0b457c9acd47c7 \ No newline at end of file diff --git a/docs/da/d19/indexers_8cpp__incl.png b/docs/da/d19/indexers_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1fcb1f90bce6609e2fbae32c9ee24ba601d777 GIT binary patch literal 15452 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 + + + + + + +Firefly: src/vector/is_zero.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_zero.cpp File Reference
+
+
+
#include <algorithm>
+#include <functional>
+#include "firefly/vector.hpp"
+
+Include dependency graph for is_zero.cpp:
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/da/dce/main_8cpp__incl.map b/docs/da/dce/main_8cpp__incl.map new file mode 100644 index 0000000..e54e841 --- /dev/null +++ b/docs/da/dce/main_8cpp__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/da/dce/main_8cpp__incl.md5 b/docs/da/dce/main_8cpp__incl.md5 new file mode 100644 index 0000000..038b7a3 --- /dev/null +++ b/docs/da/dce/main_8cpp__incl.md5 @@ -0,0 +1 @@ +34361de4698407218189a85bf4ba4b60 \ No newline at end of file diff --git a/docs/da/dce/main_8cpp__incl.png b/docs/da/dce/main_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c6baab842311d788da47a25698dc2ffdce6a05d2 GIT binary patch literal 19651 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 z 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 X7$H9qf95paHT3lSd;@)InOy$AVs^c! literal 0 HcmV?d00001 diff --git a/docs/db/d23/classFirefly_1_1Vector.html b/docs/db/d23/classFirefly_1_1Vector.html new file mode 100644 index 0000000..7091e2d --- /dev/null +++ b/docs/db/d23/classFirefly_1_1Vector.html @@ -0,0 +1,1217 @@ + + + + + + + +Firefly: Firefly::Vector Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Firefly::Vector Class Reference
+
+
+ +

Represents a mathematical vector in n-dimensional space. + More...

+ +

#include <vector.hpp>

+
+Collaboration diagram for Firefly::Vector:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Vector (Vector &&)=delete
 
 Vector ()=delete
 
 ~Vector ()=default
 
 Vector (std::size_t _size)
 Constructs a vector of a specific size.
 
 Vector (VectorType const &_vec)
 Constructs a vector from a given VectorType (std::vector).
 
 Vector (Vector const &_fvec)
 Copy constructor to create a new vector from an existing one.
 
std::string View () const
 Returns a string representation of the vector.
 
Real At (std::size_t idx) const
 Retrieves the value at a specific index in the vector (const version).
 
RealAt (std::size_t idx)
 Retrieves a reference to the value at a specific index in the vector.
 
Real operator[] (std::size_t idx) const
 Overloaded subscript operator to access the value at a specific index (const version).
 
Realoperator[] (std::size_t idx)
 Overloaded subscript operator to access the value at a specific index.
 
std::size_t Size () const
 Returns the size (number of elements) of the vector.
 
std::size_t Rank () const
 Returns the rank (dimensionality) of the vector. It is same as Size() method.
 
std::unique_ptr< VectorAdd (Vector const &_fvec) const
 Performs vector addition with another vector and returns the result as a new vector.
 
std::unique_ptr< VectorAdd (Real const &_scalar) const
 Performs scalar addition with a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator+ (Vector const &_fvec) const
 Overloaded operator to perform vector addition.
 
std::unique_ptr< Vectoroperator+ (Real const &_scalar) const
 Overloaded operator to perform scalar addition.
 
std::unique_ptr< Vectoroperator++ () const
 Overloaded prefix increment operator to increment all elements of the vector by one.
 
std::unique_ptr< VectorScale (Real const &_fvec) const
 Performs vector scaling by a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator* (Real const &_scalar) const
 Overloaded operator to perform vector scaling.
 
std::unique_ptr< VectorSubtract (Vector const &_fvec) const
 Performs vector subtraction with another vector and returns the result as a new vector.
 
std::unique_ptr< VectorSubtract (Real const &_scalar) const
 Performs scalar subtraction with a real value and returns the result as a new vector.
 
std::unique_ptr< Vectoroperator- (Vector const &_fvec) const
 Overloaded operator to perform vector subtraction.
 
std::unique_ptr< Vectoroperator- (Real const &_scalar) const
 Overloaded operator to perform scalar subtraction.
 
std::unique_ptr< Vectoroperator-- () const
 Overloaded prefix decrement operator to decrement all elements of the vector by one.
 
Real Dot (Vector const &_fvec) const
 Calculates the dot product between this vector and another vector.
 
std::unique_ptr< VectorCross (Vector const &_fvec) const
 Calculates the cross product between this vector and another vector. Both vectors must have three dimensions.
 
Real ElemSum () const
 Calculates the sum of all elements in the vector.
 
Real Magnitude () const
 Calculates the magnitude (Euclidean norm) of the vector.
 
std::unique_ptr< VectorNormalize () const
 Returns a new vector that is the normalized version of this vector.
 
Real AngleWith (Vector const &_fvec) const
 Calculates the angle between this vector and another vector in radians.
 
bool IsZero ()
 Checks if the vector is a zero vector (all elements are zero).
 
bool IsNormalized ()
 Checks if the vector is a unit vector (normalized with a magnitude of 1).
 
bool IsParallel (Vector const &_fvec)
 Checks if this vector is parallel to another vector.
 
bool IsOrthogonal (Vector const &_fvec)
 Checks if this vector is orthogonal (perpendicular) to another vector.
 
Real ParallelogramArea (Vector const &_fvec) const
 Calculates the area of the parallelogram spanned by this vector and another vector.
 
Real TriangleArea (Vector const &_fvec) const
 Calculates the area of the triangle formed by this vector and another vector.
 
+ + + + +

+Friends

std::ostream & operator<< (std::ostream &os, Vector const &_fvec)
 Overloaded stream insertion operator to print the vector to an output stream.
 
+

Detailed Description

+

Represents a mathematical vector in n-dimensional space.

+

The Vector class provides various operations on vectors, such as addition, subtraction, scaling, dot product, cross product, normalization, angle calculation, and more.

+

Constructor & Destructor Documentation

+ +

◆ Vector() [1/5]

+ +
+
+ + + + + +
+ + + + + + + + +
Firefly::Vector::Vector (Vector && )
+
+delete
+
+ +
+
+ +

◆ Vector() [2/5]

+ +
+
+ + + + + +
+ + + + + + + +
Firefly::Vector::Vector ()
+
+delete
+
+ +
+
+ +

◆ ~Vector()

+ +
+
+ + + + + +
+ + + + + + + +
Firefly::Vector::~Vector ()
+
+default
+
+ +
+
+ +

◆ Vector() [3/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (std::size_t _size)
+
+ +

Constructs a vector of a specific size.

+
Parameters
+ + +
_sizeThe size of the vector.
+
+
+ +
+
+ +

◆ Vector() [4/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (VectorType const & _vec)
+
+ +

Constructs a vector from a given VectorType (std::vector).

+
Parameters
+ + +
_vecThe VectorType representing the vector.
+
+
+ +
+
+ +

◆ Vector() [5/5]

+ +
+
+ + + + + + + + +
Firefly::Vector::Vector (Vector const & _fvec)
+
+ +

Copy constructor to create a new vector from an existing one.

+
Parameters
+ + +
_fThe source vector to copy from.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Add() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Add (Real const & _scalar) const
+
+ +

Performs scalar addition with a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ Add() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Add (Vector const & _fvec) const
+
+ +

Performs vector addition with another vector and returns the result as a new vector.

+
Parameters
+ + +
_fvecThe vector to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ AngleWith()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::AngleWith (Vector const & _fvec) const
+
+ +

Calculates the angle between this vector and another vector in radians.

+
Parameters
+ + +
_fvecThe other vector to calculate the angle with.
+
+
+
Returns
The angle between the two vectors in radians.
+ +
+
+ +

◆ At() [1/2]

+ +
+
+ + + + + + + + +
Real & Firefly::Vector::At (std::size_t idx)
+
+ +

Retrieves a reference to the value at a specific index in the vector.

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
A reference to the value at the specified index.
+ +
+
+ +

◆ At() [2/2]

+ +
+
+ + + + + + + + +
Real Firefly::Vector::At (std::size_t idx) const
+
+ +

Retrieves the value at a specific index in the vector (const version).

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
The value at the specified index.
+ +
+
+ +

◆ Cross()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Cross (Vector const & _fvec) const
+
+ +

Calculates the cross product between this vector and another vector. Both vectors must have three dimensions.

+
Parameters
+ + +
_fvecThe other vector to calculate the cross product with.
+
+
+
Returns
A unique pointer to the new vector containing the result of the cross product.
+ +
+
+ +

◆ Dot()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::Dot (Vector const & _fvec) const
+
+ +

Calculates the dot product between this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector to calculate the dot product with.
+
+
+
Returns
The dot product value.
+ +
+
+ +

◆ ElemSum()

+ +
+
+ + + + + + + +
Real Firefly::Vector::ElemSum () const
+
+ +

Calculates the sum of all elements in the vector.

+
Returns
The sum of all elements.
+ +
+
+ +

◆ IsNormalized()

+ +
+
+ + + + + + + +
bool Firefly::Vector::IsNormalized ()
+
+ +

Checks if the vector is a unit vector (normalized with a magnitude of 1).

+
Returns
True if the vector is a unit vector, otherwise false.
+ +
+
+ +

◆ IsOrthogonal()

+ +
+
+ + + + + + + + +
bool Firefly::Vector::IsOrthogonal (Vector const & _fvec)
+
+ +

Checks if this vector is orthogonal (perpendicular) to another vector.

+

Two vectors are considered orthogonal if their dot product is 0, indicating a 90-degree angle between them.

+
Parameters
+ + +
_fvecThe other vector to check for orthogonality.
+
+
+
Returns
True if the vectors are orthogonal, otherwise false.
+ +
+
+ +

◆ IsParallel()

+ +
+
+ + + + + + + + +
bool Firefly::Vector::IsParallel (Vector const & _fvec)
+
+ +

Checks if this vector is parallel to another vector.

+

Two vectors are considered parallel if their direction is the same or opposite. To determine parallelism, the function calculates the angle between the vectors and checks if it is either 0 degrees or 180 degrees (pi radians).

+
Parameters
+ + +
_fvecThe other vector to check for parallelism.
+
+
+
Returns
True if the vectors are parallel, otherwise false.
+ +
+
+ +

◆ IsZero()

+ +
+
+ + + + + + + +
bool Firefly::Vector::IsZero ()
+
+ +

Checks if the vector is a zero vector (all elements are zero).

+
Returns
True if the vector is a zero vector, otherwise false.
+ +
+
+ +

◆ Magnitude()

+ +
+
+ + + + + + + +
Real Firefly::Vector::Magnitude () const
+
+ +

Calculates the magnitude (Euclidean norm) of the vector.

+
Returns
The magnitude of the vector.
+ +
+
+ +

◆ Normalize()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Normalize () const
+
+ +

Returns a new vector that is the normalized version of this vector.

+
Returns
A unique pointer to the new normalized vector.
+ +
+
+ +

◆ operator*()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator* (Real const & _scalar) const
+
+ +

Overloaded operator to perform vector scaling.

+
Parameters
+ + +
_scalarThe scalar value to scale the vector by.
+
+
+
Returns
A unique pointer to the new vector containing the scaled result.
+ +
+
+ +

◆ operator+() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator+ (Real const & _scalar) const
+
+ +

Overloaded operator to perform scalar addition.

+
Parameters
+ + +
_scalarThe scalar value to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ operator+() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator+ (Vector const & _fvec) const
+
+ +

Overloaded operator to perform vector addition.

+
Parameters
+ + +
_fvecThe vector to add.
+
+
+
Returns
A unique pointer to the new vector containing the result of the addition.
+ +
+
+ +

◆ operator++()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator++ () const
+
+ +

Overloaded prefix increment operator to increment all elements of the vector by one.

+
Returns
A unique pointer to the new vector with incremented elements.
+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator- (Real const & _scalar) const
+
+ +

Overloaded operator to perform scalar subtraction.

+
Parameters
+ + +
_scalarThe scalar value to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator- (Vector const & _fvec) const
+
+ +

Overloaded operator to perform vector subtraction.

+
Parameters
+ + +
_fvecThe vector to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ operator--()

+ +
+
+ + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::operator-- () const
+
+ +

Overloaded prefix decrement operator to decrement all elements of the vector by one.

+
Returns
A unique pointer to the new vector with decremented elements.
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + + + + +
Real & Firefly::Vector::operator[] (std::size_t idx)
+
+ +

Overloaded subscript operator to access the value at a specific index.

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
A reference to the value at the specified index.
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + + + + +
Real Firefly::Vector::operator[] (std::size_t idx) const
+
+ +

Overloaded subscript operator to access the value at a specific index (const version).

+
Parameters
+ + +
idxThe index of the element to retrieve.
+
+
+
Returns
The value at the specified index.
+ +
+
+ +

◆ ParallelogramArea()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::ParallelogramArea (Vector const & _fvec) const
+
+ +

Calculates the area of the parallelogram spanned by this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector forming the parallelogram.
+
+
+
Returns
The area of the parallelogram.
+ +
+
+ +

◆ Rank()

+ +
+
+ + + + + + + +
std::size_t Firefly::Vector::Rank () const
+
+ +

Returns the rank (dimensionality) of the vector. It is same as Size() method.

+
Returns
The rank of the vector.
+ +
+
+ +

◆ Scale()

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Scale (Real const & _fvec) const
+
+ +

Performs vector scaling by a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to scale the vector by.
+
+
+
Returns
A unique pointer to the new vector containing the scaled result.
+ +
+
+ +

◆ Size()

+ +
+
+ + + + + + + +
std::size_t Firefly::Vector::Size () const
+
+ +

Returns the size (number of elements) of the vector.

+
Returns
The size of the vector.
+ +
+
+ +

◆ Subtract() [1/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Subtract (Real const & _scalar) const
+
+ +

Performs scalar subtraction with a real value and returns the result as a new vector.

+
Parameters
+ + +
_scalarThe scalar value to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ Subtract() [2/2]

+ +
+
+ + + + + + + + +
std::unique_ptr< Vector > Firefly::Vector::Subtract (Vector const & _fvec) const
+
+ +

Performs vector subtraction with another vector and returns the result as a new vector.

+
Parameters
+ + +
_fvecThe vector to subtract.
+
+
+
Returns
A unique pointer to the new vector containing the result of the subtraction.
+ +
+
+ +

◆ TriangleArea()

+ +
+
+ + + + + + + + +
Real Firefly::Vector::TriangleArea (Vector const & _fvec) const
+
+ +

Calculates the area of the triangle formed by this vector and another vector.

+
Parameters
+ + +
_fvecThe other vector forming the triangle.
+
+
+
Returns
The area of the triangle.
+ +
+
+ +

◆ View()

+ +
+
+ + + + + + + +
std::string Firefly::Vector::View () const
+
+ +

Returns a string representation of the vector.

+
Returns
A string representation of the vector.
+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream & operator<< (std::ostream & os,
Firefly::Vector const & _fvec 
)
+
+friend
+
+ +

Overloaded stream insertion operator to print the vector to an output stream.

+
Parameters
+ + + +
osThe output stream.
_fvecThe vector to print.
+
+
+
Returns
The output stream after printing the vector.
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/docs/db/db7/angle__with_8cpp__incl.map b/docs/db/db7/angle__with_8cpp__incl.map new file mode 100644 index 0000000..0d616d4 --- /dev/null +++ b/docs/db/db7/angle__with_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/db/db7/angle__with_8cpp__incl.md5 b/docs/db/db7/angle__with_8cpp__incl.md5 new file mode 100644 index 0000000..560d668 --- /dev/null +++ b/docs/db/db7/angle__with_8cpp__incl.md5 @@ -0,0 +1 @@ +aeb2693683fea740600b938ecf18edeb \ No newline at end of file diff --git a/docs/db/db7/angle__with_8cpp__incl.png b/docs/db/db7/angle__with_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f91138dddb5d3b4674be69c040c5efc0e3ff3834 GIT binary patch literal 17743 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 + + + + + + +Firefly: src/vector/magnitude.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
magnitude.cpp File Reference
+
+
+
#include <cmath>
+#include "firefly/vector.hpp"
+
+Include dependency graph for magnitude.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dc/d23/is__orthogonal_8cpp.html b/docs/dc/d23/is__orthogonal_8cpp.html new file mode 100644 index 0000000..f47481d --- /dev/null +++ b/docs/dc/d23/is__orthogonal_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/is_orthogonal.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_orthogonal.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for is_orthogonal.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dc/d82/area_8cpp.html b/docs/dc/d82/area_8cpp.html new file mode 100644 index 0000000..cae6174 --- /dev/null +++ b/docs/dc/d82/area_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/area.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
area.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for area.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dc/dca/vector_8cpp__incl.map b/docs/dc/dca/vector_8cpp__incl.map new file mode 100644 index 0000000..a7b5a2e --- /dev/null +++ b/docs/dc/dca/vector_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/dc/dca/vector_8cpp__incl.md5 b/docs/dc/dca/vector_8cpp__incl.md5 new file mode 100644 index 0000000..6a27561 --- /dev/null +++ b/docs/dc/dca/vector_8cpp__incl.md5 @@ -0,0 +1 @@ +da800a456d5a8ed16969c42689c8ba51 \ No newline at end of file diff --git a/docs/dc/dca/vector_8cpp__incl.png b/docs/dc/dca/vector_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..521e5e2cf69bd5a17ef7ad69ac2d88c698d42818 GIT binary patch literal 12131 zcmcI~WmMKt_a&l)2qGd~BHay=A`oL*c>lxE$ zX7~@?NKQr)QvVsHG!9f-!s!j>5iva`Ci>7czSet zaV1VK{q&`;;oQELh?mHsms$O6f8xz;LC3zh?HidKJvyWYzV5-Qlg*h`L zJJu{*-@+!d^6jggBCZ@v>t`uS9-{etwYvqV>?1=v4Y4X(8)+Xu( zFyB1dnofxS^5yRaw+cHe+>a^qPw3E&8iI)^V?IAhiT!ztHdCffctC{`qUs@zU1rpq zr=&9orlt41wZk~t6}A*)0=BG!TqA}0iYh89X@@I8d@RnQq%&&)He*G;Ys0xj|A<%m zl4$t(%LmRJ+v20EDK7(FGr3+}xR2y%KC`xFRn1k)bX@8C^W)XcUlU|66csxrClfBu zkB5p3p9#5c^>juuoL-%82Zn`p^!JCc>sHS##~kL~CnDCt?-Fu;}iQeC^Jj9+Qbu z3lwZBF>(O`furr&{unmx=Lkge=;&AEgXZTQrbico_*SAukA8XER=rsotFWWe)6)|< z7%u# z;^MU)yY~*l!DBPQo1>QBbrV-aTuX~o`MW$d8yn8U{$j7UZ!P}(z&l(UPWL?Ca@wAu z$Q|y2)t&CN;8tyxPp*y?(_q{spG$I`c`CW*C0d~6SiWu(1|i?wteAbXIzTPtvhlnv zh#*eLnc1u_k?Cd48=LAC-L6ZB`oX`UkL{skHwVgXv_Brj^I7d33@J|fB#V0TUtL`} zt&iZmQ_I&H|8VE$`)+qd;N1<^NAjIE#v%&q&zMJxMMOk?C}m=8ZEf*d47Q3L?JadvoLLQK+%|3xG3-wk zJsPMvJFK+q9p5A6(2izS#k_mBo%mU=*0CV2n3iyDDJ1>vpz<++96qZ5yRZ-#8rticmm7!)k!tGi@2~HH zY@H~x!Y3oM!fj40>`=ApJH5DQ-#mZD+TeBivo1MTKP-17 zasPCb4ELd+;Awn{W8dRAeRvO#o|*@8ii&2_)y`wq{FZ-yG+iFghSk&v!(zMk1zl&~ z3jF^4`>0V?L7{xxe`}(wo6>1~t7cn_-)5rq`-=qg*?Lj6+~KrB*zEcBb-76T7v`{8 z78VvqVV9$1EENNmu*_yvR{x<_C*+8e)gn#hps z_Fhr!)DJ?ZRATz#{{8!_vkgxkHA7miPL$=gENoY;P>P*z@VIP@H9fi7#r;^$kmB{_ zbbp1%w1*hEV1SMv`VC@GR}EVlD1aEI!#S$8ha=i<9v<9YC-%u+d$M9@t2FJODdaK{ z(Vv2Y(|xY5RC3kWMo0e!@iEZS+OH0zc~!{p>+9@l#)^rLpITbxTxP5efBEv|F+hsX*-*+4m29PYV_jWWfP#uyZ{c=gNk70j z_{0y@+?bZ#S=fA*k;L$Dack?m7TNyVcI{GgJm>}o>!V>~V;Wu2EGtEC_pLZSu?QHS zm}zK?wUT*!V}1j5kM8E~{yX*Q2dfw}s^h*FuzGR{tI-18QJwY}wubcp$S_5~uR9`Y zhUSv4!yj7!+0GwhO* z?5J|=dbO(?N;;oQue6mNjk@hxuf00Q%PL8Yd-TjkQ=^#E-=|By|0c=drIs1sef0m- z+@h7b&@9|oGNbMc{=ap@|KAscl-zllQ-mhdiJCgB8mx_($Z5~j@zcq8p?F88r_+d4 zF^_y85P4ft3b~@l~VJ1BW!3+tpI_W@I$G?()h;1QxVo_Vlk$GH&M*@NoR8Y z-1clGZ!3yi$EYORap#K8P)UQpc^Hbx<4$8ix15u`m;cxi$7gY^L_X}_B zheM51e+y)@n_+7anMLA`q$f9ubf@VJxNKS3uX3W8Mc~%F2_0n}bv(Y#^GUrV41dy9 z(vY`^kwMotD45tM#13#*V3y66NQYbGIKSM7P$qTNE?H`I_-sP=T%{J|w)AoCSf|rN7pQIb9CCW`XG53Lt$2F9hSRVo^m=E)YHPBi~=9SGxzros=4CSiA z!^5lFWB>IPw2WIHAK2MWpN@-l_WZJI&QaYh&)qj|TJh zZ3h>UoCgrzQ9vnUxFS!#ff6rGtISg6$IJPc_eUG!B_Wie@!R$1ck!M|GV0fRQLE*v zjDH(-&$Zf^C<`X#v$S7H^6|=|Y1GFW>@9`l)6L74VhXJ=DVe6Hd&OH8?7eu5_%`%D80W@KgYcwe}Y@>@S&>WX$hng0l_ zCakVuYNT@*x(P9-0m^W$dX~%P#KpS)b@lS;+w-GL7$Q$jPq|>;K&@cOM8rM)fX;`D zgA)ySFZ+~DuT~?T-)5~S&+Bw=Zz1eS(5GKJ^DS+}G>*$X5rCP&pMLpV?NjaU??=YQ z63ZeGU;3Y1>oBY4&@w0_GQLc~6+20-JzY*XDu-Se6c!dn%fK-CHI(X!Ucg-n=0}fg zCd;G$4P{MEjuhy!z|x{JGBQwy_xpsmpC<`9FE(6X7V17XV-99{^?Wg!Jr(s zK_kjXt&T7%4sUPopKs4y1bwb*k$+HvPFCf%Ym~fBn>F9^F*qS1!RzXD4Ha^QoF6WM9JiE^+x`4wiIVh9`@2U>~r zy`H{&`OY`0eGgrpzrKh(DIIX6U&l-Im55TD_VE<;uJtMq`DemE>3H`3>5 zf8WvE4(4QqLX6AhH%c`m>F7tthP#{to z8pN>inXkKJj*j5V{PwopljY5Yg=b-uq9==yiW<<>57$St;4RT|7-}vd22~?Q#gDHv ziH$2^_VRyg(iSUKj#u(Qc924eTRLjlXawT?~?{IL! zbi{8v_595nZW!Z@4px8X>DH7tzV!qK3ug)x_;DFtjFygW{M>Un&dhBgRA8*ik%5R^ z#{iyzA_B=$RUZT6*}}4mF_ELqL}_4A5$An;{J_tjO}D11u!%WS8#i;Tf6Jk%rV)#I zJw_hEj;9>SMLnXBhb?k)dDu3rDH*7Q)scKMn2*0HridLab#``o9Z$PTN=plg)WeC# z&C|04u%jO84BmF}SA<5sS^zdlGn_I1jTNU~u7yG!ZF^lFj;a*uB`q$Re2I)C5wInX zi;EMvI$3D#=zuYn3~EdY#v)snXx)WQh7^;{iLww1;g}!-7H;P?6;xDItf_)1W+~fc zzf2y{yJxC>)Or8mgI#sq!vnw9|Gs(7Mr`fpZ> z_ZyAmNoxGeE+Ob%k8Yu(@3r7Q;WTW%6)#}7H9$y6xSRn!whH=S;5`C@rH%WEYj6Or z%XCpaS{@R(a9 zO#aG>^UPDi){I$$JM4gtEUu5}=$7pI3TPOzJ!)|CJw(}6*IdhWPUwQllnJMt^l`Rw z8S>BTO{c5oa0IUwvbA&8ISLQ%7v{X^$x)x>=1-WCrz%(As5h$3;f;30h>73a|JJ*7 z@+Ic4XOiwaX7UPtoOmSx1N+iH&x!PI1>B}3bz`9RJtjQn?>rR~B*GsJoD6*6-5Q=8 zE}qp^_hLE!57B)#AHsPVuG$AA1~UzDV(;rCg4!cje2c}a@l3}CV+l_ytJ=bd5Q5O5 zq}YW^L+8;F?Ek4f6W0EPh+_;;XN{W@J%8o+gVVBZaK-#iX&i;Qtp~^9KR%^lnj}Lb z;@cUhLs$!ZEYUAovA z{g1;bTcxCmO9h(-O$p19;>S6$T-xj*eHzWYbud;P^FUdx_bXjpTJLf#jE|!58pE=@YUHR;70M`d`imP#O`#Z z3%`U^?x~G=#yw?u9mIuwb1MjwR|czO+nV|nx8$6zak}ye4gL3`Gm1)y9BtOxC`StS z$=Jgy8v3%L_Lr|={HcC@Gd(le_iN}qti+q&UwiDmdbOc?HzekW(2%A%{8Pbldh^z- zLhG$UBN7Q^Ma8Z7(^Og3o-N13T8g`gd;y)#qMs5^QkgQWC{-=8=JRc}90K@FDA=p4 z4ax42;fWK4RAqOcVlkUX|KZ|yxe@#bwRc~NOZv0(39J1C@pto2x$g&d)C5?a%Kr2h z?G8o{h{=uYPCmM`Y2C!KM1lQOjU~UiI#xgUO`i2rmZjUqC#b8Gc;+!g!;jN)GrgtJ z3rU{cvu`H8a^HP~SK)D*&Rhqj;48>ddIMcbP9~w~sbBc7g5}6>lpI;%(cH79tA7p6 z1z8#s*}96~e+@3wa63eNq9Qz5$-G4f?~-fbmg}{IxoPIBVc_AAY;s4Jc_wb_g4Ujs zd%%g~GZ#g>K3g;o&p4WO7$&dcgN|70--83D#y!#Zp3v@;2UK>+wrDRgxmBG6k#PvI zlx{jpc4PZxg@ne;hs8#=3A&VrGybF9q1cg^OpR05SqPBsrig3KZB%Z&;U|md%gVI2 zaGA3RL-!~nQyR{_`)s&@MeUfE%{B4;L7rY8wZ55DH;QvxQ0)FV&3xQJSt${($r^Ga znLFUE(E<+6E;7f)MN5=OHCRJfnbgG&w5g-JG{?{`9^jdKJWdZt+|a*!pPiO=Cza=} zA$HK0W&W01e#wotegb^0-Sjwi(F7BmM_s$ak$rbJt*L+CXK!9;4<$s7>}Dfh*xdZ5 zLj8&H+NE9iwjbwyHj9yy%O$%OUkx1nk{gNl^>NFsE5HOxjM*~~MY8h0#R zJ_XNHMfjQ~m8>iIE4I{NV`|ZOXYfoAzrW|rM>xYC2%AuYZ=LVsD9r6#b^JRU5QasgQ1|dEl5ifPP+@U4y13jUNBd zY*hIkB(yd*o09cZ*&JTv+=fR1VX4wpKd~MLC2x`RT-hh_lD2W@Z0#)9Fb;nSweF;* zSKOl}_P>aQZr@_i`6lc3?lwzy6OMtSSpb)bhw09j5-TRggnQU-o|+C5(F~*bT@5^IAQs zjxR^OBK+~eKmX~gpS+9+E#Vq|RnF>_&G+b1vW{dS%Uvc?sLHw)io#i`jP4VS9nx-( zYjaQg#t)~0Sk&F}h~~$C70@@2A3o3+(fv?OEsv^Yd?I0eLGv?LaCKu)Wrnv__m^r~ zo&KDD0qKN6gK{sWfvsdJ$^3=~)-(I4S{&@oQu||utK}ky4<0^4(2^turIg!E^T7E# za_9@DPb}{W*6=&C0hxY}oQ>_CbOcT5dIx7i(RRGv)cbT3GzsPYH>K3nHWEw%c%CigU@WSt2?&5}`| zF-CWfgv4CW#YNPgPUe&1EnEC~{5<)f1AzwQ^^z@O&%O!8-Hs9=hml}QF z8hhK&o~X&lKtVF~wu?(r1+!DOn^`pvCh<)b6jKys-CbpWmVq61^bcyCy8QF1AJ1{l zO7eL9UCLRGle|dnF&e`^+mq~Y2aLAd>@mqAT&4Y>hIrRobbsvgj#=?T>4J+(l0L~> zv08okMLP#!F?*B}n4E-+xIH_+<~BDJDRS&rr|6{^P5h_G9?;3z@R#2_;swj4?%l>UPnD=e=EIr zvM_{P?;d1u?a*^F_J-=ePhU*w&%;l-NPgn*&77U!-In`o>Kwrvfq*MK-QHk#(e`;Y zl^tWvDkkeyEQ=_Md5_uVZq5KVG7)?d12sZzLj|X$m(7!nFB_%Vh2_x)+cd z5Pn9N>0BMi{EHL*uW8??1%s16mVlh@GD+LHGt+Yhjnlk}w^(z`99s<4R-JG%WS%Ku z=XgWd*?4~QC*jz5LC^DJVF|qsUYkab1?kzJF1N>{J9Fp*4WsbxUcu)aKEpTyd;T5=kr#W^w4~{uuFLNxIq&Sh~mw^pxO-(=-MazwvWCH_k@` z)=bH32=?jy`YxXC%$OQ7vT)Q}0tVPd+-~`gEm^XeRhRWr6W?Jb65ctMz7=1=S6Rq0 zIBWd^Pm9Fxwx*10zIy$l%J(sD;=q^GvlyhTsL73%b+3K~RDAGd$*3Og^1wc3El}}1UbZD2V-DZiAcnki6qAbM#(jNGHa(3;o+E%@Mc=SF7GB@ zv`b4%lj3$>k)e9aix>Oy!CNA_8%k5TbJ1Igf*(V;*t%>F5GW|P*hnt`2#LppQnOTV z4_*~h9Tgi=_trgH8g#r|b_+BO(Y#MeI+0s+jsyFdn>;(3skD~emTepT+&TAoPz`Rj zEddv%Yoca=jC6LT&*7oG$I-YM!?Mm?Ovg=&>FNz~rLKE-ToV>F3Qj#zN27iCkPJ%f zx69PO|Ng}}bWpf1R=q%!pS1~TArM#?xRk7W4xkM0?smGeXL4@?o7@HQG@w^ zE1$d!#N9qPa56G7`t|GATcO2^3CGBonD(vdn&2hc3?&4C|9z?%;D%Cx!f{XT>?^#q z1bXn+ty`QP2j%;PuUdE^v`j5C&rYAe|t!-_u$}CkS z{eYPTs*@tw=gOVmZbtqCI?iL~wFiZ@dsuaz$EHC3CyIK;tgf1u+s*cYv!E}*uD%mI z55yvFoJh&C((9BPxJ+kamWCr5na`X+1q0Q-v%5>p&mRMt^H+%WZm+;>k>iSjq#sb- z`=bq4(G8cIcK*d!iQj;2cltNz50N)6(+Ug@UVuj+tsiaE(@Dtf>`M|xS|rXL)e7}` zW4VlxqA@W2AZBuT9$5p^DF-5JzE)ZFycp!xFEYDY-@-zU;^JbY_5kEN3KbQVXNsuD z!JN=S2rncQI68 zCKWhk6fgLk*G>}#ukBPUk6GW&z%$(45pBC-t5NoHn@MR84%*%Q&cZC$OULfPmfB!ubsN?8_GKrJLR;cZUC z#}^G+6%W)dGBQd^gU+L`jf@_pONSb@1mJ+@BpldME?_g2l$9N)^>%l6N2jln~+)M2hyp+qLznZ0C|+B zSrTyLCi*~$nIa05rQ2>B(e1l;O@T576M~-CuGBe{&7?Iy$Q=kse)oTwUpd>0EQgt; zKa+PJ&-(PQ{!RzkzGTx3j4XyGAGzH;b) z2RDg)lF+arg{PsLyb#^L7S(X6zm=4jZMsIY@F;#SLz2I_wP z-#=Lul?NQPJE%Zmr`b+d_aq8N0+WsOPN0Zgi&$M%fR0cEv4L`@n0avHXmhdy%q|vS z5r%zbL2d_6vd=`0yQ;O=|B_BqE1gu?F-m*ad`>be`@1X>EbyPq%CH>2U+h3 zo*_N&)7N<;c^03*|0NGrk8Ir<=tI=i8$lz3yywQYG+}Vtd=gW` z5vEfUUA z%?-%P%DP;b0V`7{>=|A}!rDH_qFJ($^iw|9m*Q&AafvzKIj@s%cU*u^$+$p%V>tEc z&8@m)y>r=x|57Euhotpm{d*-m$n_Q)8f@BaaRY;g&TD@R7uxe`8mHY?lE9S}f<&5< zajb*vLO{K{KC9pk$^aP<*#jUj09I0<1#B9Nk7VeAy~<#Jx%cGk3<~nd>I_s9eiSzC z^48woP(TsGVw1Ke(c>xO+4_P!kUza3^^aOAgNZnh>gdsE+-!A7P>|8iT$4&cqO*1{ zBAOY5o|F~0{~7n0{d)U(RLC;W81#nJG7$u7c^XZl`aZoNDnEALqit$xI@p>P9<7J` z@S5!X&xvgrzxx0YDeBiDz*q*6#TKf|S+1Fb?6q%67LmGq$-WCRC<{&EXlcxG9;%BFO zniW15kh^ib7Werq|1@@Ve1w4jZY2qLK}ku80tFx#Vpyy}9;3+`qqKXx2VOQX^Jwr} zk2O-bPBnoEDHh5u{JQ!99yAd!k0E^9nSUK&U^xeLY2V$382&I007O-)UaE7-z)!=ZuSr4TZi9qK-niockEybftInumt8 z2*OPT2Y9OX_!^2{zk*%gJvuVIx;U+@xpqiTg@K^9uFlReu_!+KfD+Df1z>boP-@1rO!BMrH_~POMy7|Y;?T1ih&;oZ$fY)uF=vM*-`V@@bV-eoE-i48mDUaqQlnFI6bC)4P28;pU z($kR+L%1+aDwyzKV>}WrM%t&qhvasBdAw;1PN&W4O))VsY%>0k@bG)dZ;v#=xYi4w zLrRygUcI{Ot4b((vC{$?9a61M_E=*Q5fvS;c4q1LOi@C$Q2z>oP)xu|CTg!_tCg9BiMUK$b)fL&^BqeW!lJflp z@O#L{77DQZ8{!zxYtanwREf-cjUOo~RG;+_5YV&h>R^xp8v{Xmw@Wp&A7OHd9ObOLuqJ1>9$nYz*Vn6N z#Tv1Yu5dp(A)$EWFj42>d`^}+Y*{xiHa#_U0+nk4J?Rb+`ywdiUKhI^&>QLc#Y(_~ z8XOXWeRi~|jcL_#O6j@51uxnLlZGa2HW&d-=9~RBSP4N??0`udImLlf!W5?Do+M$U zx9`S4x(sfz+uz&B*$BL+;LvRy9X*bp9R|ED2EW4JzkiWn1GCcWX208|7DMRoNO(+N z0w6+8jMu*v25)H^VDQmGZPg+C?De)DTsTttvSOf^a5)aT4jJ z3nAue9$#Wy`r_2DO;9sw*O1gNcHT4onsI3me)GS#Yww8|l8}*UCpt4WnwDrf*AdAh z5QyRsN7xV}l8)geepmNb;2&Zk*bkk>Oz4eSUlec;sF+EtILZ9}z51UAhbHvluS#4k zdJeym`F=7+kBmRvPg6&OBi{ewNe6d2BIX*ya9x&t4bveMT=OWhQVNm<5(e-88xoIt ATL1t6 literal 0 HcmV?d00001 diff --git a/docs/dc/de6/elem__sum_8cpp__incl.map b/docs/dc/de6/elem__sum_8cpp__incl.map new file mode 100644 index 0000000..7b48793 --- /dev/null +++ b/docs/dc/de6/elem__sum_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/dc/de6/elem__sum_8cpp__incl.md5 b/docs/dc/de6/elem__sum_8cpp__incl.md5 new file mode 100644 index 0000000..5a0c71a --- /dev/null +++ b/docs/dc/de6/elem__sum_8cpp__incl.md5 @@ -0,0 +1 @@ +09cf488511992d50da31bf1048a09c04 \ No newline at end of file diff --git a/docs/dc/de6/elem__sum_8cpp__incl.png b/docs/dc/de6/elem__sum_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3d80b95c41d76b8865dc29ebc24df00c5c80be GIT binary patch literal 16972 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 + + + + + + + + + + diff --git a/docs/dc/df8/test_8cpp__incl.md5 b/docs/dc/df8/test_8cpp__incl.md5 new file mode 100644 index 0000000..29e3333 --- /dev/null +++ b/docs/dc/df8/test_8cpp__incl.md5 @@ -0,0 +1 @@ +12d177410151116742cceea6d32eb828 \ No newline at end of file diff --git a/docs/dc/df8/test_8cpp__incl.png b/docs/dc/df8/test_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..94eedbd608aacb394dd989d172d9855a56ba3b7a GIT binary patch literal 9231 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 F{{S>aSVsT= literal 0 HcmV?d00001 diff --git a/docs/dc/df8/view_8cpp__incl.map b/docs/dc/df8/view_8cpp__incl.map new file mode 100644 index 0000000..443237d --- /dev/null +++ b/docs/dc/df8/view_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/dc/df8/view_8cpp__incl.md5 b/docs/dc/df8/view_8cpp__incl.md5 new file mode 100644 index 0000000..fa67b49 --- /dev/null +++ b/docs/dc/df8/view_8cpp__incl.md5 @@ -0,0 +1 @@ +5ef7f232d06d82e06fcaa9ef4b6c9927 \ No newline at end of file diff --git a/docs/dc/df8/view_8cpp__incl.png b/docs/dc/df8/view_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b27f2a2c203b113c826acf4b3bebf1bdf66ed20d GIT binary patch literal 14921 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 F{{v`&)J^~Z literal 0 HcmV?d00001 diff --git a/docs/dd/d1c/indexers_8cpp.html b/docs/dd/d1c/indexers_8cpp.html new file mode 100644 index 0000000..35c4d28 --- /dev/null +++ b/docs/dd/d1c/indexers_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +Firefly: src/vector/indexers.cpp File Reference + + + + + + + + + + +
+ +
indexers.cpp File Reference
+
+
+
#include <stdexcept>
+#include "firefly/vector.hpp"
+
+Include dependency graph for indexers.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.map b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.map new file mode 100644 index 0000000..24747eb --- /dev/null +++ b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 new file mode 100644 index 0000000..ee10088 --- /dev/null +++ b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 @@ -0,0 +1 @@ +c2f5e527626361316bdbbff2c7dcca5d \ No newline at end of file diff --git a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.png b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..64fbdbf22dcbf3e3d83f2b79650378bd46c60511 GIT binary patch literal 13932 zcmc(G1yt30w=Ec;gc2eRA_#~I5(1JUNQ-obG)PJ}DBUF`rEHLv25IS(l$7r7mUwHQ zbH4kXd%qiRjCaR)oWYTyo4x=0|66OWIp><&Us_588-oM`1qB6LOjJk~{`5paLA`ek z4Ss6Llc9n?&~zk3gitP!|9z@Xk3>PagCZs*An%Z{p6IB2ODUyhGWv@OiS(5bf)`i( zzdd{3`bB7FNAhd=jWMA}ZYh@87lxf@#$=KHZIN?vVg^Bx<=+fanwL1cGnlEudxh}J zK0TB{Rk<5*_l^MWM~(b<<|HSF=&zDLn@O_^h*i7WCT4x*(l}EX$jsVwL8tlaYa?`R zU1p zbabRqadC0m?GN&%78gY%BqWjtwPa=AKmYuCFh?cDbU44pCh^_^#az*moGb$`D<^MxIE^0%nVO2t)|w&En0yo`v5$jHpBYija# z++EN%F_91!M$>XXdjemLO-<7q8(lL^flVh03xKis@+U=%9Y|2)jfzI6a-tdZAO`v-Ftt#U6)e zpFu`WPHI)vn9)ggUQJ3yhF@414(+QXNli_Pw{PEaa&qDj6Z

&z~JmiewM4xScvA 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 I{`&p@0ToeghX4Qo literal 0 HcmV?d00001 diff --git a/docs/dd/d8c/cross_8cpp.html b/docs/dd/d8c/cross_8cpp.html new file mode 100644 index 0000000..76ce26e --- /dev/null +++ b/docs/dd/d8c/cross_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/cross.cpp File Reference + + + + + + + + + +

+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
cross.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for cross.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dd/dc2/view_8cpp.html b/docs/dd/dc2/view_8cpp.html new file mode 100644 index 0000000..52c8388 --- /dev/null +++ b/docs/dd/dc2/view_8cpp.html @@ -0,0 +1,122 @@ + + + + + + + +Firefly: src/vector/view.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
view.cpp File Reference
+
+
+
#include <sstream>
+#include "firefly/vector.hpp"
+
+Include dependency graph for view.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+ + + +

+Functions

std::ostream & Firefly::operator<< (std::ostream &os, Firefly::Vector const &_fvec)
 
+
+ + + + diff --git a/docs/de/d9b/normalize_8cpp__incl.map b/docs/de/d9b/normalize_8cpp__incl.map new file mode 100644 index 0000000..401333b --- /dev/null +++ b/docs/de/d9b/normalize_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/de/d9b/normalize_8cpp__incl.md5 b/docs/de/d9b/normalize_8cpp__incl.md5 new file mode 100644 index 0000000..5173259 --- /dev/null +++ b/docs/de/d9b/normalize_8cpp__incl.md5 @@ -0,0 +1 @@ +47fb972b9a2867738e48a5611a44dd8f \ No newline at end of file diff --git a/docs/de/d9b/normalize_8cpp__incl.png b/docs/de/d9b/normalize_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..76a4e4d47cc86238ef758e6b8f23fb3aa2730713 GIT binary patch literal 12973 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 z + + + + + + +Firefly: src/vector/dot.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dot.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for dot.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/de/daf/normalize_8cpp.html b/docs/de/daf/normalize_8cpp.html new file mode 100644 index 0000000..88b0dd1 --- /dev/null +++ b/docs/de/daf/normalize_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +Firefly: src/vector/normalize.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
normalize.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+Include dependency graph for normalize.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/de/dc4/vector_8hpp__dep__incl.map b/docs/de/dc4/vector_8hpp__dep__incl.map new file mode 100644 index 0000000..1376fbd --- /dev/null +++ b/docs/de/dc4/vector_8hpp__dep__incl.map @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/de/dc4/vector_8hpp__dep__incl.md5 b/docs/de/dc4/vector_8hpp__dep__incl.md5 new file mode 100644 index 0000000..e9f13d1 --- /dev/null +++ b/docs/de/dc4/vector_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +803f79b18426a60e9cafcbf9e8d69693 \ No newline at end of file diff --git a/docs/de/dc4/vector_8hpp__dep__incl.png b/docs/de/dc4/vector_8hpp__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4efaf46204f172aa1ceef22211210491b978af GIT binary patch literal 61666 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

kk@bqejcPwJYY(>SJLOx2sN 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 literal 0 HcmV?d00001 diff --git a/docs/de/de7/add_8cpp.html b/docs/de/de7/add_8cpp.html new file mode 100644 index 0000000..1053099 --- /dev/null +++ b/docs/de/de7/add_8cpp.html @@ -0,0 +1,122 @@ + + + + + + + +Firefly: src/vector/add.cpp File Reference + + + + + + + + + +

+
+ +
add.cpp File Reference
+
+
+
#include <algorithm>
+#include <cmath>
+#include <stdexcept>
+#include "firefly/vector.hpp"
+
+Include dependency graph for add.cpp:
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/df/d03/is__normalized_8cpp__incl.map b/docs/df/d03/is__normalized_8cpp__incl.map new file mode 100644 index 0000000..913c204 --- /dev/null +++ b/docs/df/d03/is__normalized_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/df/d03/is__normalized_8cpp__incl.md5 b/docs/df/d03/is__normalized_8cpp__incl.md5 new file mode 100644 index 0000000..29776b7 --- /dev/null +++ b/docs/df/d03/is__normalized_8cpp__incl.md5 @@ -0,0 +1 @@ +fff6be887840bb25168c2a9b9d9a739f \ No newline at end of file diff --git a/docs/df/d03/is__normalized_8cpp__incl.png b/docs/df/d03/is__normalized_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4f50adeecb12fb5447c14b29ef7533084c481455 GIT binary patch literal 13188 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 + + + + + + +Firefly: examples/main.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
main.cpp File Reference
+
+
+
#include <algorithm>
+#include <iostream>
+#include <vector>
+#include "firefly/vector.hpp"
+
+Include dependency graph for main.cpp:
+
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +

+Functions

int main ()
 
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
int main ()
+
+ +
+
+
+ + + + diff --git a/docs/df/d29/vector_8hpp__incl.map b/docs/df/d29/vector_8hpp__incl.map new file mode 100644 index 0000000..4481748 --- /dev/null +++ b/docs/df/d29/vector_8hpp__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/df/d29/vector_8hpp__incl.md5 b/docs/df/d29/vector_8hpp__incl.md5 new file mode 100644 index 0000000..5c73aef --- /dev/null +++ b/docs/df/d29/vector_8hpp__incl.md5 @@ -0,0 +1 @@ +4a6eaef038d8b0e5824695ab79e1618d \ No newline at end of file diff --git a/docs/df/d29/vector_8hpp__incl.png b/docs/df/d29/vector_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..95b9c67c558f754ad022a7dfb79b50248f1ddb35 GIT binary patch literal 10354 zcmY+K1yog0x3)nVMM;tF?ru;NkPhiOG}7JO64Kq$-Q6JJp+h>PL%KogUwq@G?13~1oQO# zH@m$s4hDu4M)K1KW!Ln>WjF2k>Bp|qu@rp>hc*WGH3CkO_Qa&9-)}8(BMo;n^bxI; zy>{kV%<|uD4aruRP0EQHswN1ziDsb|ol0z)Vs>!23h1!<+xL$!)Z7RN+xn|*5Ecka z3Wvk!wOeM&aXR0a+bCRE4()$^DTyGL!+rgl>AH^6xU{rHTE3xx{gUr&RN$C!g8$pU zU*h{P_^C@v+BRgp5}E@)Xy4YrC_r1^7HyWtROqy>@9q{ky$e&ah$Q5TO-f5Eb$WN1 zD7O!TEv6VxP#D_?Zib@-)l$UnLoMDcrwua*Qa)3~7ONIDZwSSi>+lk|y}gZi$JS$D zRiWFC@8jdc?|kqz<|;NWZob8dK|@1BCWF6T++>|l$UWYs<2HDBSmxYtqyKxZSoquN ziq?v$b)j7K#J_G@ehxdMF{!EM6Wnoeam}8$HDU{cV`HX$VK|O|e}_)wN*J1&4p>yS z_or}}mgtxcL=xc%xpU@9L{ancrKG2)<43d|P5#ft7*gkfWzNpdoHi?jT3T91O&hNr zG;D2IzvFYY?6rJRQmU%0Wl$-UbJ_4pSbz8M@LNyRChUVo_F4UQQ%o6sRYp^0HE-rR;bwx)7}gw z_;CFvE;CbZvB3&Y*ppWxl5nld5ANM}@$)PBG;TBk0)p7s*ykn8&(GIcFQ=~k3;~nS;mq@?8YdccBN9d{K#XbrCSg*Urj(!(4s)N@4LUF}Z51$6s%>#@$ZyBzDz zROm<-%4M9KpBn<_XgAq*YwKz}?2Kj@o^Ovlhn^oC(qy}b%Zlp;8naGIZ?8W`Q-ylPjoDv^$%xB8*z#m}kpZmE` zESkAa9}%m?1}0p?p+qK0Y3YrfEFbQq3_gcoA&;x^0@*bB!(0l9$STJ@rSyypJa!{w zH#axW+pVN$|2Q8mtQ{U&tvI*qjse45_sbi<&eu={Afm0$LVUJ>qr|1$M!f7Pj#EHV zoc7^DPVSC7Ie?3_b#ydZ9O=x=%v9*r>I&UgRC^W|)9g0-VaLJhUK8?mfkfF`Zsp1H zy21nZ=e%xfaoX<(zT>l9g#kCnQOp(3?~fwjGVfiew?KLI3Z7J0IMd^(IpoL3kQcyk zg6+`^3vX}Z%a8h^>8$$xw_Lc)+N&UV^1SY@U@i_98-HIB@;f4fOvmRk4=gOC0dbpe z(hyIS#jNFHX?fseSW+|^`VcbN#{9l~)wm{bIL!zSeXel;8{NM)rlzJ9 z+Rgs)v0n=1sy(i)UlR*{WtNwh=ZVVIZMF|05^%P?zp<;St%Z(_(Fh3<#X$qn{p;#D z9o}G~iq!Q<7SmtCxw^R}gxM@L*|psrwSxalROkr&yVx@%4j3I7*{bY(Bxh%@8C-K<9>jKVn}3IdhW`oVD~P40*4A1Oy2S3gKj`}? z@;8T5I0R3+;PMSKY8FFa<>ch*zE1f6{;lkA#@sqK)H35ypuRs-jCvGeaV?~Vp(Sin@&`2E(KVUG1yw*iM920(IjS_;VolB%cUkZ5Fy|qLf{R3_LN-^ zjtT2@%wwaY6|9M|C^a|7H3RUdoq^IvwP`6rUzFy};`sRZ^0#NzR4cwpe|MXOYj?j~ zzy9M>=(IoMcrX_eNhDx@`B&xK)j~=NH2~>Nfqa(mb3*`Inc&`DS;?~4Xft5M4qIh0 z%PhsbrJ?a)ytT8Fwr{aeN7wkrTcDw#VcYo)5xKsbU5{_pxYO1HAoUJw}3qsN+zWiKZe*_@=SXmC7JP5|yyn4JwnEBGTF z6hlyM=$8^fiPm-7N}#t9=mIe?2#urh>zU{CxH{;booyW43TsdvYb8cTL0JPO)b#3L zp3`a}9#rkg5*3F2D3Ui_Ixfp%mX?gVy1GUtCW&cm=$M#2VK@xQ9Hy^FM@M-D1d{%C ztE&2FxVLA5*gre=c}k;}O|^ZzcWY~F+g+$ zK$Gq2XgLk!LUfk*zfjXmx9#9{JPwmr7Bgk~qv?E{7Bdl`6+5J4Wszt#Sn5yYh|Mi7 za#$^Jii(P=H``M=Y!7#jjC?=e8RPK2cg5$i)?RA>CZ2&pq~^Bx!&cpBYcK(XTWn%t zFxZ8U!LN$#n{$|)2smG+ahku9cbjmgPRTCtAqVJIy%~}HuF6=upG@0 z7$|RC2}?`UD&}X_ZTl7U61VAcM$695jtunk*F^lu9%KxbI?RC4dA%3q?Cflq#-J2mz8W}%ot^#U;)0Ru zu*wyp)9ya)sht;}S6CRAks%AZiS+lFq-C0vl$5-Jf>e2T)vL_;Dt)--=4QeBlb_&c z>#M7J!s74qw^S4zIfAJsCMFblE=2RCK(j-QPbbkSQz=#5B4#+^QriS6N;jRxEb#JU z;ndpRp4nro(PU}aW7v8?&zf(|B`C8+OLg38YO_iZ%=g872eTzl?rbWmG}zP&BtG{s zAlTIK4XX#Y`5?#d-meMXg~hsy-AN()g@i~1N!A_+(`nhL{NVthlgOl{%ds*zh;s<0 zK6T|z?}tGu6(*3aF%NgwQypG+_8U!3RN`XI#0hOU;Ux_1P0`WlAQ0#oOBvW^3Tmd_ z+SF-JWTskyY4HCBKzcWZupD(V@Ch-+vS_IlFqEo(9^sz&1?(zq=N4-xg~w)cDEZ9- zCd7sW5$R?PdN-})_%qBCXufn(-D@!|rh7q|41a-eht7g9imWH6+G%7DHG(h4r$RSw z4;V3VnQG<9ns+=r&0H?iL@PG~va=IDv009`F4!SF#AHHzrJAR|;Y7btXbvbqiib9E z!cqT_Kd`Zpyo)r#<=^f{49norfwV;+_9GLt^ud2KU#24+Ce1>RO_KHRE`{q`Nh_hy z4Mui-y-TZ?G1}X++uA4V!$&t*|Lmk*$^b&6_+boIDN%oP#!xiuw9+r8>TR#ks}P`b zb9$$C^#Sopfdn_GyI*bO$9O_Qhj_loD#!oM*p)~2-|>Bo%uSv`KtTCe<{S~G^ohzQ zUp2@k=5eyu5;ix?eSt-l#|-Y1b;6N2MM%s+7~0!6)1S&<^tJK|S?$z&LQ4I6H>QhA zKVkY1e}yZXO;gWyUzd_qfNB-v)F;%1i}eoGWBOYmEU&!AHnk|x_5H@{mWAy}PMK@q z-#0s5Uik?V0$+zXBTbN_itsIWI!e{72u$tf%IfKa5qhdtR93#W0fgT-Uy`AOqP)$T zFVaZ_BEif`Y}ADp~irx6$8v(Fqu-XB;2;!h(%oqjX2H`K@>0m$&kU zN^et~#Kv;%YE+pA^6JDL(q5)Xtw_}e_CdQv(GiwZ(j;5eUE8$ZysBo%UewC{ByLp? zhfYj$ELx@VnYtG~{Mw@BaU5-ObU7omt5#`JU20|lIVUHeHzn0ty4VM-&{}FfkI7Mx z0E@Pxe1!Wa+L=DFY3DVeFxVO{9HP48(a zFBeBiJru+?+JEd>-_+CdLtip0&Op!W8`|Q z|5Z7jb=pLW&;5~(O3|0#gujZD`*Yr`YFgMOcw{P$&B?qH)q5AKqjWM{LR!77bQm%) zB=0NC9z|Swgz>iBp6%XZ{w0wI`fwx~Hji`oRT}FGX~rQXMi*fhp6kyFUt9~1X2 zAkk)3xXoTB<6<#()Ed3Qusg$`b5;9`tjQ&6S#7k~*R!!H2!9?S{;vX$?zL9VNDk#A z?+HoQTi2fx zL~1fJVPD-q>Q#}h7jkNKgbr;$x)|T1LQyl&DnGr!Mf3Da50(Y79AD*%M+!eihDWNG zrpS71GJ9KuvW9qzL(RV^u zxw+-!5-uY>kn>fZ$_9b866;KGypx&I%D0Laj~RXfIatN?v?LXqn1+VJ^~+Fl&&F1{ z=vf}NAi^fx(8X=pH)5uWuNYA|XbEiuO*wfFFUIA&xKW@ez-*_FOlqU_fhdexBqCMndYxGxxtNca20xKel+r)R_{S+m>! z=z0E5R2pMtMB<5_7z*!koJ%+eujQnt)C-hlizo(pb?a- z_+Z;u^}|D_1;1uDse7u6bCvO=CN8v5ZHcMGrI0LN4lE$^Wq1;-XwAEBs}~I^j>8&U zqJ-o86=9#i{zCmc8K`6oJVoF_t3RykmT%B8tXu3EPoCS5g~Cq;>cu1x zmF5J8z9={RQX)@v{O_|AMn{lhvg_LqBq)$Qctw!S66GITGi?LXBaMpDUlr|Fzhy{$ z^OWH$$@amZe&$q}(!SJEMb98OS_W|xx!WM2w>(Q~zuG_wRNS9?mLpue6h2HQ zvidkh--widEDg&k#dU!h{nvjH)gilSK{WN9R} zN+YGLbl;94A3PR}gvB;Qf0EoawgLqw@WW_gEUk0}fzlLppELxE5N3M-F*F|p4h{z5 ze7})F19~7_rbw~Ktw(IK-aT4Uxe|E#m*W{rU7D<hs$bRt)_J)*fe@6N{^+AmRrGchMzefi~&vx|Jwx--qXMn zT%K4uX5Xmn&zXzvBAV@N_j^-ntavoH3ultP438su*$vbB!d?B2$hK!aKMVaHSF$J& zo=iO_w&_awtm0!>Tmv>E_IPy%)uF)}Vly%{?)_McAWI8>*xPXai2pPib0T@!Z#SB+ zS@&)#eH9bie2SIW6595C!5(v-4wvYirp;7O*GX&`+YlYZoNShmo;J*!{w|QTV;`sd z_L03o_&c6F`>zk;P(laH*sDx`BJtcdRd-?*7>(yyNUnF{~DnfW`o)NNt>1XFp zy+h@3>qd}rLknc(vxaO;Nr7U^NpI7<8=d_dbN>+)L^3;c|CrkoEilRW^<*t{al*=r zy}_l!4>4mqMhLT{yQT4O?b!$o>SSgpxI+kn~+w0Gsg`{``;Nv zuq(tpy)HaxVCV_XJ;77vy(;nA+2qjP#q5%3Sz@-C*s=2q3*Mll zhUeF#K*uAXoMa-(QYC+7&l`K~r$sdv&xETddiGhS>P8{p#9S@K$+d+2foqA>CMi~W zrcOBGt@2q1>;~H8yj+cnXrbqa((4yu&d@VV$veDkt}0@6b;u5T5)KB-F&m07)*1hC zX%A&4wbOlW#mYos0Wg5b(Tx#{6(^MO-xyjlLz_ zBhDA*d`!1nOn_!#+n7VMtM)yEUi(U~KbWZ@sfcAURlK)J=yl~qGRSALv8DXoy~*!S zL-P%%lmb6oeK@Peb|tHBpE(cgWuaF8eaFH@>+=1hR+x7_>J9RTH+0posL|;>JzZSg z>&XSMvmfZ))X2|#>$oy^I7p*0HxiT#u>BdkFx2yBYxBrt{TLW5!!NL@<#clAXxF0U z&@r)SW0~;Pi7*-@TTlgb#nG8z6(4JpSg4+Ka2Ov8#XL1b7nrS-?A<JaIl+WWs&9h&@T zNB#aYbYDYb`2GggPNnqbZy0hw8wu20gIDF`cogO{(ZM$q%%7aE`LRHp7~*kj%6pq#1u&SIz{83cLa~4DIISQ-hDo56<>4=UtbbF9~M zbV`(3F_xrLLOgrx9}+z)yA%X(EiOQ`aKb}?-C!4sfDr}B(zvyoy7bWwQ^Jm+DiF6 zp7A)vB5PcF<$h$RaSU)Qo1Xj28n?*|1B>@rycaRdwCuqQrMY&<%5G^4eyVa2)Tt$>+34FPX2N__0$BOxZcvUmJk0#z#f%v*g6iE zw~tAW^%rrB6_K%hCA3fQcm4!9;9gnEnhhVX(IoHlG(T}EWj->`3FQg7IRCS+>R&@K z`w8-D%PEm1wRF}vr>-#hk-uuJYk%>>-h3HKMCGv)TX`wlG>e}!RgSV1d%bAWDWp(1 zB~&iPs`;<_>x9urdmY$IK0tzD?_{%RwidmS%i z>abF~nOzzA^u6q?)_x#q-$TRI3f|olX3$3CTWejJEFe5W7m5V<`4`rC6n;6Lv{6Ck z7Tq@~vuYg|r;XWDoaIy4x3*G?7#stB3$(6V<>r>h*VS`v-SBN1FQu98ubclC5Wovs zdE3QweE}Uc-MB)PxpWWJr`rk!PxwjhB8h2YKc@ED^5d_0Y*v=+W6T)Uc*ixhb1WXO zd7%t*P(h;A7fsnn7tyJiVd(1#I}{!>uItR}rBi!H7L$3Q(`d$A6bPw2`({w?^Yim& z+qD<(u@xAgT2gMEt*ru)k%WE%`!7L6Awzxz@Q0rR10fd|VaKT|8g3d0 z2nfT;Y;X_=L_Ff1V%!gUpq~tL6{60l0SRsm$dQ1zAgQUN^i&DH29LGtt$eLqwe*`;+z)Sw!imPlCnVa>KPrC+h+ybt|VVP_Ihh5 zNux>+_E|BNh$0@&5J+NBtAMF;zcfdDLo5UIT4XddDmFF@-vJVz^q(PbI2^WRfXv%; zz2X7O>v6@XudffF2qvIS0EiSf&@%uD*QDDY;T1mTx1;4&thaCbi@yXh#03WhRRcjy z_+}Ljd|bW3QbX3V!vws1rW)_q4B&wax7R{Qwl|@1!>L^1;Ij^kR*k2CD8#$V0!=WE zS~kb!c;#Y$HtP0#=Zoj1s)@~uW9jOS=l3Wpc9G?YKYl9gvYzkYXuAE{6+!zhWr% zmYO+WVPP#7>QH=vz`s4`Gu{8v0d@Z;2%s3HvlWkH z4B&{_3Y}-<=y83-)rdhvWL1$1v}nPHiz)3EN2qp(?V2b#1%=x|^}z0QDekjA{_yY8 z^XcJw+fdkgiFY)svRs9faRZ3bx!}$G(I81WJV94h0v>D5C$DxdGxikM>t&Z`z}C^x z5kVr7iA5u)eeSB_e9yq2Iju+m^#B%8Qd8G}J@md=LwW`~z?+hCa@#?;x~tP_kSzeA zOpcbCJpnR;X#<+57D~z%@a5h=2?%GN#zU$QYL^1{opE9 zjV#(!WX#NwWFLc{dBIyI&E8Zl3)h_t7ZA93B9Au|fZ0+D3Z`?Ij>4eh;h9xz46$@l za&W{^NhijKor6%?0BG!|4uLfm_g9@?`VLKH8nNq+1SVfh+A=I$JV^T-IK`;$S2N@dN$&Q1|BGBRFXUYH;h)BXrN zfTXb`BqRVS6ay+Y>$_K5x{EntFHJ_%p)=)L(n7+PbFBXU{(x4Ib8=$SQGF?p=^hwB za&d7Hk0Q2u46+;%{rC|G_5ruYQ6i7Y08gdi;+I-NDl}??_ofP;8SDS>TJXtc6OaGf zj9OW_Ou0b$0fx?_ zvIA@}n=Vl)Ca#T&ifX=ADg$Yp|LDCLBQe~52=G{zuP@9qlu3}Shy!#YKR>};WMOV@ zb!)3{Zz^c0ZJ@vZ420$hC|wgZ#?nWfPmfZCrS9(TiRK%i63e7ajGIdfBaPt8Cj}xB{u%jSJGE!1-AOS{(8Y_+4 z3hYZfpbi_myWiy0S~mW)xj6th3wRCgFbV|~RsP@>fML6i{NDGc5`Zu(FUyv?0H`Gi zoEI7uRaqs-!EqkEe{pfK3E=8yx)GFn&zo6 zc>bIKNLUMk2$U=F4)%JU# z0QELI?qLoku{{3}3=3yhi#8kp-0ydc0%Xi)*na}5_f(N0Mer*;`zf~HI6r>;0L|DR zcvH!6#AU^eMy*17t$KiX16*ozYYQ-6))bj-yC+ch?Jsr}&qE(A+%6_0G{CkXy(T2( z;Yr%uG)iRD0Ceev!p+M;C=>WbFa5#j5Mg3d~ zqNAhVJ3DiW+@HYNbUtt^oSwFrmb=~&nL?7`r;V)lUI9mq? z!}Z?Ki`|KUlEt z+_rGQ@rVJDr(5~wG2s6890d(cWeN@!7Z(>)H+g$|_U`WPSHyzJpd7I2_XMU@)Pj>0 zZD4u=#~WDnx?mnJD}C6U57f!Y$?3fgZ%#L!=UZ^lrQKv~Dpl~b7b^msxBB)C8QA*S zz<~U?^GTSQnHf|LyW{q2cAFK!`}_NE5fMg%@pMbx9&01(0}*%u<>gEuytv17i+<%s z2@mE;#wGLE5Cd2Z?&7ay(>}cq{Q z{X$C+x$7?nPaT636QI>J{#nrji1%dm!%^$8Fc?Wfq(U?X={xWO&~vnmj5cEyzS#gs zJUKQdzZ~%cHO#vIL=rT>@^mNWmN>bb&Q70ls-G?9AhF%R831W&`AkBUGrRrcBU)8D z5s|FM75DJ$>}&$LrT+}tUsnsWymNpDL3pd(i6V%Z72(h9ndZwqPg_tZR5RoUt*Y$h zf6+)P8!<&}hP?ke#irxXASqTFPgl=CLo=Xzc-^uE25&+^SA~7nGJmSX^W}OAwem(q zBo)^+-R4cEz|SxhovdPTDs?vIrAJYI5cASUpx*Obf3lip3RK7nAkbq^F+Wt_+}_T# uwYB~FYamy(f*hQXQ~dwG;#*dqV5RHICp09c9>F0(7)dd?PZgqi{{IggB7(C3 literal 0 HcmV?d00001 diff --git a/docs/df/dac/test_8cpp.html b/docs/df/dac/test_8cpp.html new file mode 100644 index 0000000..3c7567d --- /dev/null +++ b/docs/df/dac/test_8cpp.html @@ -0,0 +1,132 @@ + + + + + + + +Firefly: tests/test.cpp File Reference + + + + + + + + + + +
+ +
test.cpp File Reference
+
+
+
#include <iostream>
+#include <vector>
+#include <cassert>
+#include <firefly.hpp>
+
+Include dependency graph for test.cpp:
+
+
+ + + + + + + + + + + +
+
+ + + +

+Functions

int main ()
 
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
int main ()
+
+ +
+
+
+ + + + diff --git a/docs/dir_000003_000001.html b/docs/dir_000003_000001.html new file mode 100644 index 0000000..98d42c6 --- /dev/null +++ b/docs/dir_000003_000001.html @@ -0,0 +1,83 @@ + + + + + + + +Firefly: src/vector -> headers Relation + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/docs/dir_000004_000006.html b/docs/dir_000004_000006.html new file mode 100644 index 0000000..072bfd9 --- /dev/null +++ b/docs/dir_000004_000006.html @@ -0,0 +1,83 @@ + + + + + + + +Firefly: examples -> headers Relation + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

examples → headers Relation

File in examplesIncludes file in headers
main.cppfirefly / vector.hpp
+ + + + diff --git a/docs/dir_000009_000006.html b/docs/dir_000009_000006.html new file mode 100644 index 0000000..078f609 --- /dev/null +++ b/docs/dir_000009_000006.html @@ -0,0 +1,83 @@ + + + + + + + +Firefly: src/vector -> headers Relation + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6.html b/docs/dir_0baa9f3d984dd29d1429171590d769d6.html new file mode 100644 index 0000000..d8cc663 --- /dev/null +++ b/docs/dir_0baa9f3d984dd29d1429171590d769d6.html @@ -0,0 +1,126 @@ + + + + + + + +Firefly: src/vector Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
vector Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 add.cpp
 
 angle_with.cpp
 
 area.cpp
 
 cross.cpp
 
 dot.cpp
 
 elem_sum.cpp
 
 indexers.cpp
 
 is_normalized.cpp
 
 is_orthogonal.cpp
 
 is_parallel.cpp
 
 is_zero.cpp
 
 magnitude.cpp
 
 normalize.cpp
 
 rank.cpp
 
 scale.cpp
 
 subtract.cpp
 
 vector.cpp
 
 view.cpp
 
+
+ + + + diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.map b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.map new file mode 100644 index 0000000..298848d --- /dev/null +++ b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 new file mode 100644 index 0000000..941450d --- /dev/null +++ b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 @@ -0,0 +1 @@ +e808acbcee4d1dbda9a3540eea1fd932 \ No newline at end of file diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..dae94b8f546c5322ee4eefad408a43d5a5ff6d39 GIT binary patch literal 3988 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 literal 0 HcmV?d00001 diff --git a/docs/dir_4fef79e7177ba769987a8da36c892c5f.html b/docs/dir_4fef79e7177ba769987a8da36c892c5f.html new file mode 100644 index 0000000..93ac230 --- /dev/null +++ b/docs/dir_4fef79e7177ba769987a8da36c892c5f.html @@ -0,0 +1,92 @@ + + + + + + + +Firefly: build Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
build Directory Reference
+
+
+ + + + +

+Directories

 CMakeFiles
 
+
+ + + + diff --git a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.html b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.html new file mode 100644 index 0000000..e4d2d7c --- /dev/null +++ b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.html @@ -0,0 +1,92 @@ + + + + + + + +Firefly: tests Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
tests Directory Reference
+
+
+ + + + +

+Files

 test.cpp
 
+
+ + + + diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4.html b/docs/dir_63772b626f2709090f0bdca0f40827b4.html new file mode 100644 index 0000000..1ad3ee0 --- /dev/null +++ b/docs/dir_63772b626f2709090f0bdca0f40827b4.html @@ -0,0 +1,102 @@ + + + + + + + +Firefly: build/CMakeFiles Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CMakeFiles Directory Reference
+
+
+
+Directory dependency graph for CMakeFiles:
+
+
build/CMakeFiles
+ + + + + +
+ + + + +

+Directories

 3.26.4
 
+
+ + + + diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.map b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.map new file mode 100644 index 0000000..fd9ea1f --- /dev/null +++ b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 new file mode 100644 index 0000000..8a6aac8 --- /dev/null +++ b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 @@ -0,0 +1 @@ +286ef75de08af8b2ecaf4470232e9e8d \ No newline at end of file diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..d05e268a4ad3f7c1597f75278cbd62588947332f GIT binary patch literal 3448 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 literal 0 HcmV?d00001 diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..6f9b077 --- /dev/null +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,92 @@ + + + + + + + +Firefly: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+ + + + +

+Directories

 vector
 
+
+ + + + diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map new file mode 100644 index 0000000..3f90f18 --- /dev/null +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 new file mode 100644 index 0000000..9c4970d --- /dev/null +++ b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -0,0 +1 @@ +a676ba070fa7fd00f3b18a161974a366 \ No newline at end of file diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..967ae26fed0ddc7c3dd0b021bd96089c21fb9342 GIT binary patch literal 3860 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 literal 0 HcmV?d00001 diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af.html b/docs/dir_6974064bec986529c9a68c7c75e571af.html new file mode 100644 index 0000000..eccf600 --- /dev/null +++ b/docs/dir_6974064bec986529c9a68c7c75e571af.html @@ -0,0 +1,101 @@ + + + + + + + +Firefly: build/CMakeFiles/3.26.4/CompilerIdCXX Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CompilerIdCXX Directory Reference
+
+
+
+Directory dependency graph for CompilerIdCXX:
+
+
build/CMakeFiles/3.26.4/CompilerIdCXX
+ + + + +
+ + + + +

+Files

 CMakeCXXCompilerId.cpp
 
+
+ + + + diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.map b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.map new file mode 100644 index 0000000..cb7828e --- /dev/null +++ b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 new file mode 100644 index 0000000..7fd46f0 --- /dev/null +++ b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 @@ -0,0 +1 @@ +01e8a635246c378cc5c61052bbbf6ebe \ No newline at end of file diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.png b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..1f90f5b278c5c0066ea94537ceca4f24ffa5d0af GIT binary patch literal 3355 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 E2cip{&j0`b literal 0 HcmV?d00001 diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html new file mode 100644 index 0000000..1d76653 --- /dev/null +++ b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html @@ -0,0 +1,92 @@ + + + + + + + +Firefly: headers/firefly Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
firefly Directory Reference
+
+
+ + + + +

+Files

 vector.hpp
 
+
+ + + + diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map new file mode 100644 index 0000000..75baa98 --- /dev/null +++ b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 new file mode 100644 index 0000000..682916b --- /dev/null +++ b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 @@ -0,0 +1 @@ +019f65e35db6aee8bc89c467f0154e68 \ No newline at end of file diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..9d477b420a5aa655af0386a59b9f56e6ce8ede09 GIT binary patch literal 2387 zcmY*bc{J4P8y}K!%a|Y&Dw~Kv&P%neR|F)2B>Sus zlIZ7Ne|aNqc0!(I=^`PaksEaAM}|yP|lj+0tLy zqD0O`K-3Z}fKHM;0*mBQ!W7H|42VX%Bwo6K@6^2UcOILwl7r{O9WfV@OZ-=W;IQ4E zW@ct7n}j`P+u3UtXf(R!wZ3c%-{Z%qMfflBA9E6}6~B7Fcv&>HPEV8(Z*plZTWBRC zE2-agP1k213cl1Fju+~>4^mrj=u}BaNRT{PoTtppv!Lwyder4VZ`NL2dIa~Ib#yLx zSkFIYXOLZ5nTRkiL_A{n#l`c*!0hdG++*>{$-Rc7E@(9F?Vpa0n0Qqsz7ndy%Wz5P zX(OYQ%D%>^cac|3_c70Tdl#DOlau$WR`B)<6HPK2oO=$*Li1l)q$ZxN=(JzntdhkQ^)Mg z%2?H-`nsB#rTi0$+bH$DRJ2pdJ?gR~bw#tCz^0!4wsu`5%BnjWV38B)nNhcA z#oL766!C*Mz#H)p?Miej%^DaUlRy(bev_1kA3Rbdr6 zI#qIOc7qEx4;=U{hw)lV3W1U#V8C~3}6r`YfeN12iI>}*GG?}MNi9!DdPT~9ttB!VrXKsgwb zk@1 zkp6OyS^_uaI~yChp|iEGk}el-5fN)OikVT3;v^uzGrF!zDvWmK1VkTapx?>Z9 z9wf&LfGI~{umq=~ndWuHbE#3Oa7K6)gQ5TNC5_rL)vVJzG?e;9RIdA((KG5w01}1D zSYNd&Jm>hlrsio$Eovdc5O(~y|4?UA2yaJsyqee7JK06oj^Q1+6U%k9v$J~_rtk!H zQvB)VeV6|8CSIE*oc6k$raB_0cMl;{$SZ4mf&q(PSmO63MILGtz^Alpoq)Z7>r)$@c50*_ja~msq z3sc3#TPgn#yXszDiQmVEub?`EtF)If=j5S;6qvFLr(ligWnKyil&bq zfKX2SuXBq$jn~`?cQ;Mtp7iHLi{*CO#{ExeVz~!92)Uh7UdD*U>i$VUr`;LbcsMur zc>(22ps$_uEzK>_jts(RDiXN#K zJ}y|f6vROWJTFqa&}DhDyuIbT?ex z-MePn!$?oogR*Bn*9RS59_CHX&IGB`A)$>Qx%5*%ziM~_*f)Dz_tn+r96FUsJs3}? z8x`*49JR0w)8xCk>jI!z*7jLH?;3J0jg;Em-4ziLR_uDAU?+N8&HZh2%M0<^$YAY2 zdT}v!p!LS~)`EX)x``Bk9J~#w+5ZlTHTcDAwpd|3GRjkIz|u6Yi!7V$-p`$?w*$KU zHgMegp_lGax-nR+g9rwpq$l1k`%I1{Fmc(c%Ky;|&U*nZvQ=bK?$VAlJ~>uD{R29B z#>nW|2NO3a@_kW^F+#@)_(}nJ_pHDbw6xSSXf)q%!L0n(ubWrMPmP&-#4_$!{#d(2 zNw`n+K@r)r0{Z&U>k;0%>ixn2!I1{{M6BbUbo;R@`)EGA1$qZ$He1#CJ?8XWp1XS)X$Omjtr4a + + + + + + +Firefly: build/CMakeFiles/3.26.4 Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
3.26.4 Directory Reference
+
+
+
+Directory dependency graph for 3.26.4:
+
+
build/CMakeFiles/3.26.4
+ + + + + +
+ + + + +

+Directories

 CompilerIdCXX
 
+
+ + + + diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.map b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.map new file mode 100644 index 0000000..5b6166c --- /dev/null +++ b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 new file mode 100644 index 0000000..d2537a3 --- /dev/null +++ b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 @@ -0,0 +1 @@ +c172f5db263af2a98b9cbd09b1d53133 \ No newline at end of file diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..95b6cf372bc3abf7532e406ecee06587c6c7dcc4 GIT binary patch literal 4368 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 SAhcf`fWFRk?NTkfu>S!H>_FZC literal 0 HcmV?d00001 diff --git a/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html b/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html new file mode 100644 index 0000000..97e947a --- /dev/null +++ b/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html @@ -0,0 +1,92 @@ + + + + + + + +Firefly: headers Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
headers Directory Reference
+
+
+ + + + +

+Directories

 firefly
 
+
+ + + + diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html b/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html new file mode 100644 index 0000000..bf704aa --- /dev/null +++ b/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html @@ -0,0 +1,102 @@ + + + + + + + +Firefly: examples Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
examples Directory Reference
+
+
+
+Directory dependency graph for examples:
+
+
examples
+ + + + + +
+ + + + +

+Files

 main.cpp
 
+
+ + + + diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map new file mode 100644 index 0000000..74fdbf8 --- /dev/null +++ b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 new file mode 100644 index 0000000..6175dbd --- /dev/null +++ b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 @@ -0,0 +1 @@ +9db9d0585b4b9c39ccfd9584f807820a \ No newline at end of file diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..55e184590552173c6f35d02ce2395df6846a3980 GIT binary patch literal 3121 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 M0rk}1soF*S3!P*3Z~y=R literal 0 HcmV?d00001 diff --git a/docs/doc.svg b/docs/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/docs/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/docd.svg b/docs/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docs/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/dot_8cpp.html b/docs/dot_8cpp.html new file mode 100644 index 0000000..71e584c --- /dev/null +++ b/docs/dot_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +Firefly: src/vector/dot.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dot.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/dot_8cpp__incl.map b/docs/dot_8cpp__incl.map new file mode 100644 index 0000000..dbd6483 --- /dev/null +++ b/docs/dot_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/dot_8cpp__incl.md5 b/docs/dot_8cpp__incl.md5 new file mode 100644 index 0000000..e306580 --- /dev/null +++ b/docs/dot_8cpp__incl.md5 @@ -0,0 +1 @@ +7a29aa2f8d5bcb4a1cce0da9e14ae4c0 \ No newline at end of file diff --git a/docs/dot_8cpp__incl.png b/docs/dot_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..77d45b1c60146af244582f32844c1eadc6079930 GIT binary patch literal 12410 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"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: black; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +/* @group Heading Levels */ + +.title { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: underline; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: var(--code-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid var(--fragment-border-color); + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: var(--font-family-monospace); + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + color: var(--fragment-foreground-color); + background-color: var(--fragment-background-color); + border: 1px solid var(--fragment-border-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid var(--separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +.memSeparator { + border-bottom: 1px solid var(--memdecl-separator-color); + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: var(--memdef-title-gradient-image); + background-repeat: repeat-x; + background-color: var(--memdef-title-background-color); + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: var(--memdef-doc-background-color); + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: var(--memdef-param-name-color); + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-arrow-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-open-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-closed-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-doc-image); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: var(--memdef-title-gradient-image); + background-repeat:repeat-x; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: var(--nav-gradient-image); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: var(--nav-gradient-image); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:var(--nav-breadcrumb-image); + background-repeat:no-repeat; + background-position:right; + color: var(--nav-foreground-color); +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color: var(--footer-foreground-color); + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: var(--header-gradient-image); + background-repeat:repeat-x; + background-color: var(--header-background-color); + margin: 0px; + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: 50% var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 15px; +} + +div.toc li.level4 { + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: bold; + color: var(--inherit-header-color); + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px 4px 4px 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd, samp +{ + display: inline-block; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/docs/doxygen.svg b/docs/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/docs/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/dynsections.js b/docs/dynsections.js new file mode 100644 index 0000000..f579fbf --- /dev/null +++ b/docs/dynsections.js @@ -0,0 +1,123 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Firefly: src/vector/elem_sum.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
elem_sum.cpp File Reference
+
+
+
#include <functional>
+#include <numeric>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/elem__sum_8cpp__incl.map b/docs/elem__sum_8cpp__incl.map new file mode 100644 index 0000000..013a2ca --- /dev/null +++ b/docs/elem__sum_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/elem__sum_8cpp__incl.md5 b/docs/elem__sum_8cpp__incl.md5 new file mode 100644 index 0000000..d7fcbc5 --- /dev/null +++ b/docs/elem__sum_8cpp__incl.md5 @@ -0,0 +1 @@ +99fbf0aa49e58063d24edc80ec448685 \ No newline at end of file diff --git a/docs/elem__sum_8cpp__incl.png b/docs/elem__sum_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3d80b95c41d76b8865dc29ebc24df00c5c80be GIT binary patch literal 16972 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 + + + + + + +Firefly: File List + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
+ + + + diff --git a/docs/folderclosed.svg b/docs/folderclosed.svg new file mode 100644 index 0000000..b04bed2 --- /dev/null +++ b/docs/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/docs/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderopen.svg b/docs/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/docs/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/docs/folderopend.svg b/docs/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/docs/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/functions.html b/docs/functions.html new file mode 100644 index 0000000..5703308 --- /dev/null +++ b/docs/functions.html @@ -0,0 +1,163 @@ + + + + + + + +Firefly: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- ~ -

+
+ + + + diff --git a/docs/functions_func.html b/docs/functions_func.html new file mode 100644 index 0000000..bb0a702 --- /dev/null +++ b/docs/functions_func.html @@ -0,0 +1,162 @@ + + + + + + + +Firefly: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- ~ -

+
+ + + + diff --git a/docs/functions_rela.html b/docs/functions_rela.html new file mode 100644 index 0000000..63deac1 --- /dev/null +++ b/docs/functions_rela.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: Class Members - Related Symbols + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all related symbols with links to the classes they belong to:
+
+ + + + diff --git a/docs/globals.html b/docs/globals.html new file mode 100644 index 0000000..241d6ae --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: File Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+ + + + diff --git a/docs/globals_defs.html b/docs/globals_defs.html new file mode 100644 index 0000000..7d6ec2e --- /dev/null +++ b/docs/globals_defs.html @@ -0,0 +1,90 @@ + + + + + + + +Firefly: File Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all macros with links to the files they belong to:
+
+ + + + diff --git a/docs/globals_func.html b/docs/globals_func.html new file mode 100644 index 0000000..3d4be48 --- /dev/null +++ b/docs/globals_func.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: File Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the files they belong to:
+
+ + + + diff --git a/docs/globals_type.html b/docs/globals_type.html new file mode 100644 index 0000000..0ebd91e --- /dev/null +++ b/docs/globals_type.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: File Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all typedefs with links to the files they belong to:
+
+ + + + diff --git a/docs/globals_vars.html b/docs/globals_vars.html new file mode 100644 index 0000000..0943d45 --- /dev/null +++ b/docs/globals_vars.html @@ -0,0 +1,86 @@ + + + + + + + +Firefly: File Members + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the files they belong to:
+
+ + + + diff --git a/docs/graph_legend.html b/docs/graph_legend.html new file mode 100644 index 0000000..1bbc871 --- /dev/null +++ b/docs/graph_legend.html @@ -0,0 +1,142 @@ + + + + + + + +Firefly: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/docs/graph_legend.md5 b/docs/graph_legend.md5 new file mode 100644 index 0000000..da515da --- /dev/null +++ b/docs/graph_legend.md5 @@ -0,0 +1 @@ +f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/docs/graph_legend.png b/docs/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..c49cbe884598b4ae22f1280a18922cecd209d2e1 GIT binary patch literal 23305 zcmce;bx_rPv@T974brW2cQ=T1cL)g5-Q6fiOG+ax;HJ9~Y3Xi|ZV>6ZpY1v4_nUj? z%-r+Wop%Nq_TJx5thJu?tY@wLMyM*wpra6@z`($u%gIWq!@$6ef#27jBY~fc)oO&` zA0$%+87Y`2=zm|^iW6aAUc$&pNoaay9xi)&;ZEOno}HvANj}GVo`ogIsP*b4S%T9Z z0&e`uD+E;^Y*d>m-?ry)a3NUxg{a?TBc$S03kbSwni1#%+Q^9xlo1@^lxFLXLrJBz#FD?2%zlz16(h>5zW=F+mc5)*W$X?%t`Hy|| zD^myK|JxuX-v8~l0Lj^MPkMOD?$4;QFxt(~Xq z-PZHfG%)1kg^Z*EV+)-=zf_wPv^FN!D3KfpjTs|$Ex!pLIEts zj^>xaUDd&=T}%HF1;3UJm5?KZgwOHMhKiW;<{U?F>mQUH7X6}n&U%MHIeZ!VJ8l8w&iw1z_N zd3{4wToLVOE53(9URd4i^g2ao@IF^Xdil~Ytxw}J_m6!PirE~Yg-kl?5P7`q-Ur5e zn{x|ZyOm$V1`Spdm9O%{FnZ?aiC{8@d!w6N=j$vnjS3Ye%M`x+ZT$dsiddaSClfz^ z|D%emtgI6Kx>A2VMMbn6zdy*nmxo>R^JyblLX%CdmN0pFd8b!bJ8f4h@0Xk1Ge!N= zrDKTCZVxJIEQX0^DvaaG%9u9#;))%Xn~^WmguOY3Qdp=cDMN~sGB_=M5oTs4sC;x- zZ678u_UrnyH8kJgNC7OEYdM--B3e<<*w{E$ro)z*nYp{%!smbccRkHATaK4?oj+{> z=@wiP=UTFkle34#-%69IZ~Dpp&oEs?R=C%%HWqLVAli4Lp<$SP)6>bh@XuUs2Jr+v zP8?Prj{+Z}bo%0Uyd52HFAfKaAO`cb?o2QuEpD%NWB9ym@4d1iYN4^qEj1@=5->&q z>xjY%$-jFpkC1&f(BW<`5!c!V5{bmDU$lcWRH{(ae+ZipVjl}=&3)fn>D7bc<9Q&R zrC;~rI}W(XpNZr8lg;k7ybepUapWRav*lzPy)o}sTD@U(A=)0tO9M<5t&*Wg=(~#z zY&DjnMF9`Des@O=2nYzO^>%vt4GzOciw!u3lMn;G*0#1ia19D6%&$&4R@ZqmVju<$ z6X1U2lNoywXcTs5ASChe@qRa3Uy@i1c$Y_RvOHJT59e!`japOt`(^iMD^wnCFK+%$ zsxuzANS8jjAJ3^_?oakT-Zl~Q{QZ{u8plqfS(D*mISl=Bb|>IL z3;y;tCvf4)+jWWm?)KAaz+_On%YM@1!7rkt&CLSOun*Mq=OZ6cBYJWE-X8dfR~TK+ zy4y@oC~S|^b+qG?mjg$-h|dx_8gj@KDKmWg_V3ZO7f^{A`7O;~2S0 zWCgkvx*^&93<`jSJ&V(|u7mC2jN-{W*?3Byn?GCnwh%tYmG4mmY~@dncaC?rpFd+6 zf}4WW&CFI9&jzj3+h_Pc06Zwl@!4mvPcNF$x1Hp6kEeX&rmL$P;!jTc+7=RcyGI8} zn%Ei5ne{wbnGSl~h!Z|Jj0yjZBSb)PQPs;jA~ zS!r-Ij=U0a+x?7zhBk%KPUh0;X8$ApMP0T(@ARFf_ddhjQ`FBoie?b0Us#Q$ZIw1| zFL3NmQux?l=#;a~R(|(n^1DZV`$o@d)UH_af+j(D)u-#w z`XaE-L3}082OLJ6x{Yij!)4(D?Vlo5UCF&We<-$@9Ih~T*O`gQ`S zxw|@nj|&Jdrml*~QC)5EjPt!ZR{N%!E7d^8@AMM>8OG+%2pneP_DooKq<3}td-FAP zZN67U7Q^W!{AGPD0S|%)vlW&-k$9w{eyJE_g6!slxcYTA$$7jBl;;9|q`N3vgH^t( zqIU;~Pd6%&SN_c|=A~LCKNg>E33xNmgH{8cvO;BIomeSD4)`3{t$!d0)>^-A6LjZy zIn)h#Ky7YuJ-T(jJFv|5iL@CN?(U+JIkjFQT%}dAn)nLa7xO2wR$91X`{H9Pt<(&L^_u<}SrX<~dWwsU?_J>FU;aafm!a&r`hEPomdG zo8+Faw87gNOv<$%N)a|J#!%5I|26Nr^G&Z!aQw_B+Sg<6$L_50&X7`uSG|w>wsJ=A zt@+TdkQ;rM!k6EArMSi2-FuS|68tE{ZuaZZR&TfC$#8Sq8K<2QGGdV_KPjk{t#xuG z5w*YTN<2M2ID2|RQF`bL+xdDpg{bpgJHo8KXG&RQ1T$@P%>jr>!Tb-(BxB>y!wfZ>Vm zwXV?F=@N~dtyizZ3Vc>Yd@og-T+HQv9u%9^=?l2;<6fPt7TZjhUap%#w3)>2PvOx? zc&Sygg~jb!)-(7VX|1%K*E(StwMwPN^WHQ$Zy9<6WBrs5vj6pB$xGya3w*%(zx?+3j~f5&#ZV{vMELaY=tPzW3#1p&)IXRd;2H+d zK}ax~&Qwj?PVf#x-QzWF`w%We)9Vq~gPYrf=-90Y7H|LQnozo{`+;%if-wP^XD?Yhh0$#Q|1{ZctpaEr1u?d~jh!nFn9+d_X-pJ_@$H`wo$eD+%7Fn%jNwK4Xiq%frc-Pq2_8Rl1~ zJSLuxBfVq7u2lbw$b0_oZ_EeW5qh89x<<1AS<14Z8RS}}ahznZ`qxh!iazEpvj3h) z`#WKSRrr=#$N_#SBKJ)Z5>53-yA1Iw%*k>T!TiL=y)M1(A;X#d)->YOe^(ezxM2EO zY~Ui2uvW7-LdJX%VS#}-5aOg@QPYaJWc`H!78!c7mc5U?x2YE+^hOgy{a>uHBkW!+ z(vIm*D(r1GXp9MMd72{Ms z{bKhjD;KpYn+a{$-;a%jmI_$&aYk~VjRx32Ib`NPUymFPeZ&W>*#BwB{O9|mzE5_F z$~=2j-EJp<@h{kZz9N12scG!N&+P`C&{|0?;%j~}IG?_??AW$7fLPx_=eS7WJi2JpgI*)A(CPQ}S) zkQ41ap(^ff&J=Hp=gDQIKBVE{{{DLjil!N%+}DrL)f2Gs@wIVx%aius*Xf_YwMW=D zK-Vs^-ab1!yJ2zY7}U2Nnl95(!DrF0MR{kx(t2|O17I(-c-n>~KZ%hLAAcKl?cktA zfx*0&ZPKQ$UPoRD6&2M0QfCC%>p2yXS1Bdpf7XLAf8`nT=yQE~V-d+-yhxyPTxlgs zQuhx^kuNbUvL0ybaD+9%eGdVAR_9%!%Mzev%YCZr78hSq&;(HBdmQ#&(+-mSa0vEjj zEjLv1_w(Zo`}mOuKJxbV_A>A-YieFBQ!U_--XWVrYX)Ls9Zo?|Q)$aTIHX(j)Z%XL>{vo? z7eA`!4{IgN>9jtkSIC?cu`C=5)J?GCDk@HN^bcG*!4C%clKw0q&ykgOf8U4Nq~f~v z^D#;$Yb(S``^EYfz;8(Fz-@){W*mK;SukYS+S%BcgY@1C9YbnqeVV~-|;)NMI09xgT2(6VdU9>M!nB;C$&566Jp zxtgFtiuXzQmt7=ApzpT=Oo;=^#2UFwh`3UelIBy${>E7V-MUbKS5*+AG}K*qM)N@mg- zBndk!RUc#lPXfhecTnYDLCjZ&NRHFf&+MmtPPGk}$E%AQ*` zHncX7{3(cD^>rCEY38pSiy{8+kWBv%4Lzn2{A(ACm~W?f(7C%J=eRrvd{HRojqzEp6eWPHD)UR@_zx-_7)R zRRLe&)I#)a#%O)hdlZ_Kd=XBZTVPO{6&YJ-P#GD%s ztj6uaGzuxd#@;{g;}5v!|H5iGIQHIcZvs(8WfV;$%*!Q_Rw=T{WlKJcf{t!GRxT^C z_J1s>{g?1oEd^&-rp*EfbNuEl5;}3EQ*N{^>%{6`SGLwe=7j~{-L8oEb#HhlCeU6 z#+(r8Vt@L5XArF2ax-2KsEt%h)M-`%pZpoMzsuIyRB>gO>(zv%^VlYc1qNjM9t*VJ z?lZwWUUfW;=e~aScz>?qYu_DO4akkvT;(f76x_9v;%rl(BOu2D(z7}Vc8Y?}EIXXe zbMtt2lJl(<5fvYZ4{suI86<&1fU^{e$@I379a`=KRDzl!s5=~!&THZK&Q4!N$D_?E zov?5wul>T>@p0^zF9eQl7x)|;9G4dZJztg!{{}>?e(1KTQ!mwIXn(vtKrp{Jn2igD ze+C!VajfDZ_LJ_!^VS<|#QS1ehltOC6kM?I)BX9c9I@4QQ6SD-t@vU(Iyw^b+Vz97 z8^>>3AEI5PlA{bl`H%?=Qe(E*by(kjyi0QWIl#Fy5Js-(^W2wt^T z;~}6fh2A0tDgWoZbHgSV8X(fIMX|Mi^}G3##AcigBoaCU3zu1Xx^aCj&*QhHT4mCY z_ctX54Gtm2b71u%;PtKde}-^b^pn&J<*S_5CEFh^4Q!^q1!rWCJYDyRz4+D4@AKEH z*=C*J(+i&j!WbUvQhI zJ&|hQdW)2^P&xrYOy#vFe!3YAJj`JM_VX?H1<+fy!NHJLDg8rnFh0ElrEyJ_XoOc*R?5`Z=tB-yJ91u!V?YIwyFUPK^6O}U_1HS@6QEB2-KdQ?2!~FY zJ>cF8Kxr5BDB#ma2QasnM?(~W_g#Q#^7~#gYn5u|f-4hfkLcfKtf##sj$=TY1(p#9Q9oB}jk7hFTrf#$5S@P`(Ad-5z-&s-PQok0d#mL z?05kgOw7b9A^(qIVbD;* z6ua+?CgMsJbZ4Yf&V(`TzyiFy2gLPrWaRaULWN8L*WUIM06z1TCh!1GEr9@|Sz(j~ z)JPmWJj70*L#J|CVw|*Hkw3#Er)FpW3~iF|*8>&%{0AyqrR69&$jf~Na*5El0V+Yt z?*vnb%VjxI>)7G8r;g98+u27E_$!`DhLF?jIZ(!b|M-YHknLDu)J7=m#SZ8(EeQ0} zQ>QmffpZYaz7D&fXJrJN69fjX1YtJ`=RRt%M0RkLw{qpkixI^Rb zx*RKB8|VQ5Oo7@L20{*aBqxw=w9=y+b2q+kaOsiB|JnW^T3A?~R-oK}(;tX%re|!W^ z_&T93?D+T?0TI!8Z-VCWdIJ*%9KqSumCCr?FNt0)1e$sQUg7q9!72C~;5`TY9{6$< z-<^Jo2TOK#HgdqO=;t|i6-D`qhSpUgP$&@u1_mxIEm=(zAcG>M{>e)pNRaP)qt^kc z=6pVhbpS<5&UT=( z0(gML$HxcYHDo3|_jR~>yPr2S--Tn4y$~*Z+w8^wjF%6tadS8Wx;)6*GFDbrkt2K@ z1IcMiJcDvjdh(3IPaJe`z~S-%=yKaHa7$o}0ZcUV*`tA~rQm2|`sWL_6>31+6c!fV zU1__cdLV#itxA(_s4W1eC{)Q2m7`S!&>{d$TcA?B2U&WntfKw*))!;ta~{XVddP$0 zQ5`Fyd2PW$lOVkUg8@$Jm7A$I< z_oo;@SJ5(%8?Dk|Sr9b4pzT_D2GCD57xVatf~VW&!-GSs2t_|MkO)Cn5q>TZ7U1H- zBYm%FmD9lt3)rHD-?3hDc=$7AW#!iE-%)Ny3(3G-v+d=83W69|G|mz7j0FUiZmz>+ zYw)tKG(y028x7=B*|B)DA0Ln}Z3)Q9N4Q3X6MuUpGJQ)}!T+yW05(d>-|=_MRd?GG z8FQc(XZOE#1N}MsCkZ!z&rlx)r>WFsrY~#^cxZkIxVhelV*moJQaX38_xbj(Oo7Qq zS+S<;>XxY`Hq0_07z2`Vx#=>HKy$fZDf`$=M_V{+uyT^*3S!ZwPPAH>mUcV-ssS{< zkd0cJn_W&;L~3V%t3*_r4=v0#H8rW#TB*U@-GXz>&k6|$tZ!|-F*Bpqx22?_qPQ_o zjsd{A_~cln3pRzEvNe#{_o!=Vs|3OtIA=9q7d#z$sn=MLm%Vh;v!%9YkK-3K6WU=e}(QMZ5*UN&}@hR_swHFvsw7X z=r>>`YoM627OViQfzB%nH0!uMe~N*+sG{wX7~rHO=o7cz9k+mvjWBQ`nvsza~9(q8z6%13 zpQAF+H?HqaIv8}yNyAK>0KY}ZdR03E-t=nTtGXGm|M%&%p!5GLod*@f?ww$vW{CYz z5(8*%6yq=pdH+qP66Jv2sI)oR$Q-+4HYM$Y5Vf7&}sdLVvcAQKn!RxGV@)pJBdL<9oN|7OZpuR z2RstmI}m-D!rlqsgOi{OdDpyI?yG+s9zJlF)e1a<_ICFgkRjxRwmvm^wLGZ^1hI0E zn{6Fk@83Pl*H|7M*z=Nr(|Gy#EHK$5+%Ed_J5TGo0wRLjlcL!QfDlS{R}eP3I^+^* z3%^B&pNwt}DjpMWQOh$7rmzfsF%G!tUmXNUmi_H;Y7-CmbRoz(e&@q{nE(X#;E!2v%?v` zJm}6*ct?6&>}!=9cVw^ispz}1v$3&(@*wf$j^C1JfQ`94$u0n*DzkwX4oi()0KEo4 z+mB-20#H<-WhDYfK0oWDz`@3r0BI+IrNwT(`ugsU%V|wK;O>aeVWo8-1QB%(s$4FL zUKh52@dRj<0(1Ap6ley{&dw&F!UZh1yL}YkMPG(v`@ldVT|`7gmqpF|6@x)NGntS_ zLEzJ4Cckq?$J1j5lx3D^6mvh>442k3s7Z81r=b@Yi;n_1T03k4-4CrlkKhSM-dIf@I6I`>&&rjIatQE!`0n7&V z(PLw(V9G+b)(RU`2+Dslk5}4;07-82yQzK%0L%TDp2h=t8#+bt0U76on-nRaNvnS6 z=s>6IwWu*kFKS!1a5>xZ064t^ED=pAkdVS+px*3e{lEDTpuW&P$0=}Qb#JNcRL;~Nx-41#XS5~IiS92@hi0p z5W*(c9So?X+!m@^XES|$+;Re{p-lf(U@Nh4Z%jh=AaKR5*QX}O%PoDN)d^AuCn(01 z#vei3ZwF+Vdr%oNuyQroCjHwr;NMvwWjTScQO@M=0`@;r@|dszUJmXOu+KMER`g)L zBp+Pdz_CuXnOtuy*-)I=V?TKQ+3Bh58117RVCj*dxhgW=g+V@7Z%+b9YV8$Mx{#+s z>7t3HJK&q90DOS?;sL}v9WMz$t26)&CB_}1P;den&T6TV1Js^7AnKt5FMyj-E&m=( zLb%P36a5X`05CFQkitPyE|jT9Mnl_#G_3ppnGkRZ5T_{!ahBxJcJ$PDy+lyDYk(p* zmQ)}lCnv}MA#|GtKkDP{#eqhvmos1kh(Bjsl+!prl8g9&x^`r)>OIa+Ao{)r3WU{S zJqu_-0+$V~vz>)j-7vta(%^j1SHJ~Y0xtrkidbL0mV!K}qx67-Ikw->(#R*Rbz_Q| zfkRz-oPy65$;6QZ4%RIyFA1=DzR{TqYIsn`Y~1YR?0_{d)BC_UL^cp1s^4|NwYIkI z&es&T9r@@F+K%TTf;!0@Xo*QoIUsDME%^a7>^Dj?AKhK>&5a5u@001&pG`i5=T?3N3d4ybmyC1Msn zVN+SHwu`{R!gAZqeFn&p21?sGG0$h{#6N*r;swTSN^~m7K`~S8e|ITkKh=I`JMx#hE7l2_2Bgn_Zionbu zi3+PRpIsa;lYq7|n8Qffq$hE0FK#W&587mtsRd$%`t{jSqs`<`0z{^WuEui~q~^kB$L^CE!584IZ! zP>AoB06*0Eg*+_p(xQ~Xi%m@I<1>;eus8ep;FU{<85z+-z-W$`vDnp;YZ9{_CsiZ? zhR6N2Gpk{9ttdNtrGn2F5wFv=efg3c=;#a>-I#2-rsD-_0@z1&&j->plZgVktBSWx zoC5s({Pa|VqXSLv)dloZhn~3@$#fY)rdbNzl9b9?Se5G+by*rtq<5O`_SvTMNy!|w|EpQYx@||? zV7f*%wmY{@gO(%>A2y+Dk3=8in(d3=O96XrVCzotca^^U%@g0??Hv~hnKw$B^1^?# zKsHU`1OK+?C5eVemLzS3ImlaM7ScnK+I{N}%ioN9XWO-297_M!=9HNpXx=G#yoUM6 z;z7Wp@H&wManxvFY_0mG^^bTmD+toZ-zFSqW0602QOU!4yQjQhJ|_3R?rQ&NKm8>Z zLkoK5`M7F9`yZxvo_`GX2@9uLH1@KCWe)sM+2?$nq{F{#QKyMx5^+*M1*Dcyl_$)M>h)4X=kAzRMz-?CgfFc`9&e+1Oou9e42WDsO%TIC$kS996$W;%?yk=^ zNP)OYg&A+HXx=qO?t7z;?S-nxa*id6xVcv>GmqVvGfxNWbxjPOe$>G;`X`9wS*yBcq_*6> zZA{oj<+oK~VV$AU_i~f;=p)V*cFM|jD%D8`oSWm710rzoD$0j*-tQsQ$LFiM6iN*QoQi*-E*4 zV+|QRn&Wuf=NkRqdbCHhx9gPvdKnGsj52;ReY$@HpVVs239dRu$6kc_ z&fiKW9qjM>fc)zl*A_T63CWqbi6R(hy;-hvHS&D>XS*+<7)H7LV{Ky8voKfK?%$h5 zYH^#CjJG31u2;V>(IJlJQuj?$Y-h&5N*)ygc7(6=^W5$bZ>@yj<%1*Dv2fTrygE^= zk_1dn;{|JQ<@=1&CSCg)&lO(U>a=ZgN=Pj5&jw-B7nRN-2;9)}qM(!NPU-Xfx_Yj(txvL9_r%+72egh)1JlUnb?CdD+zX-I^anYIizn>6Z%>M{d zHC!G0ju4qN@Ve@ySaLOQCS^A|%CzfP>x(a+(|&G~o{2rZm=Lxy@EtSFwRciT&P_&a znr>Z?c`~7YAYOZIm*=P2ZDCGqkd#=L${XXj;aJgC`f_P%e=AqaXD7N(YfoGd+v1gk z#NgX0>0yM{x^2(ogx>pfLdAMBKQ~IbsED8P?{PceIOOciVc-6K6uEAR>ROxp^<0fw zxob9viT&=q%4inF7e=j-agK6~QJ%s8b4`HMvdkw+qjOgiTt z%C(F26NKrgdB*fK*G!J=jMiBoUL-NnGVA3Ls06iY9n^I({RqLhKQ|4&^2Uii z`skunhI~Z(b=@hYUgYb&RhPES)2Ss9jm!}?^S;-xu~OV7zouLww>gYcuMlq<29>z> z_g0Vn6hUmP5;eC|8HU5^-}N~ZaG>`LPIwd2t6)!9oSla= z>MKpdLhgh2<7L{~LR2mE2h)vroWu&Xg0!1wKU2An7P)>C2%{dG7q7rNIxbBOqYRq! zFvBDd)*JWJ+J;%CB33uB)u*@0%_XWbW)_26D^89pa2z86bIgzWdza#R zYt>;a@?|XXh>ihdwcTt=V$wx?OBu66Oq9(B&E=d0!|!F`vSQFsrr8*WP0?>6{7Efd zV>f=Q(Ag|r%&eG$*@Uo=#=}iESNyH^?fd$ zZbTP%$c^JR65a2+O1C{qR(<0M%r+HbcJU1TaKV;FG}7~(90F2Y)8nE#ls{(mwx|riH*arQ>(BvwGxo5yowJMH(Zk` zoW?h=vXA9|d*!5WoAqX24lZjL!ETbq4J}Ho7G9Os9KT*8&i|LNQ%1Sf9Iydmy0*9k zcQKEhM&F|gs1NB z-N281`YDE!&$Gl)i$NH;9-^q76mc7vKV*OlqyfhlM}9?k3$?$SYTKGqo5mx4{$0&e z5F|pIj$Hq#efhnvlaBWqpZH}5`9pHzAq%Xi;z+0}ZKNDsSN=HY9<_NaqL zijeH5VZ}T1cuOU0E)S};4N&k4Qf6w!Ct=^bHchO5|C8s6J|moL0)r(B!33+zQXHlV zIVhqCGfEdx{G}3m+Vk3HkEp-8202q)Mol<&Bq_eIib!W{<4)yojKk5h^AHkiLoc5K zhn!W6pG(~ia;`dQmd@!UNjDD5;z2k{6{TOc!^J0lRtalR*8rOzeB8-Xm}aSa!`&F# zjKXeJ79i8LNUNLFD>d$^Mp8FerDiE|en86lyjH!)S>#ma#6C7whFa;xuAQCKr;+o5 zwq$s|y*ysJd+u7*$a-<2H8$KuJUcG5dZY%;iHNlUdZaUs$f{06v_b6qF(*%WZw%Cp zF}G)raN8Td6h$|hso+NJEr6yuZc~*hzrHPjLrFDha?2B+6oj=bPGUE?Rz!X!g0~oP zd-TSBN+yjk`x6dsL5wT9bp5t|L51JwJLAkljUeVj6LAkrFU+V_v zHL{8%PhI=6XOw3!cTwPtc5q+N#^r=r(UE}J-AFqc++_()2i+zdF zEhuTnnN6h=7XKDgE2AMwzgWa}lY1*?ud+8`ij^PT(|rCT;w!G=XRgn1x`eWa1W5!~Azfm~+u~t;sR~LA zTKn*YQ&Qx|1x0nzC9e40*L`!JJ|)IRuzC_>=bcOGrP^8{^jtw?dyJXwY)x=N-&sd#O1)o~|a2 zxfVHrVB7QkjeXKo0aPb#75+k4&;uaT1?B@Q~!cQZOPOB@|QnllK^NHm$EAi;h$E0l<~ zP`V0FYdV27%wukn73=@P0(LB2I%=`hKQ@Nb5=HoXmc5P_b`Rm#S58vh->bcKX|jId z@U^W&N6wmfwZ|k#wiUuAvfweq0>{RkBcfj+*UA!L#)vG#eS^P;ysL;7$r?dA=T6s& z@Q?OEy^glBs6k8f{)6m)xOY<$rV|X0fCVl8PI6bnY~tmC|6AjhTNSSc#*JaLoAhAxvd85%oRe7JG={#@b;T-x9d+$`XL|Yn1BM3!~i{+vy{=PBcaxPPnugqA5CgHhr1&|N&5E)_w6Q|fq`V|CXti^RF z+J@@{ciEF;H!RKeR@?U7-3R%DJGGCfeCW4Z1UD0kmaw_E?htQdTfYK-*WO(~1aX~; zTXG32czDJSVJ%jghrb*&Gv0iM!JiS)e4QbE(FH1|<6T{;8EWKOr^fJf-&$CdpA^2g z*|cuvLheK3&K69;+!B4$j1v5j^Yr*wzgA;0SXwfGfhLP)!twlgMLAva@;3(LK=Qc= zqQGsfs*FkB-t}@xZyZoWqVIVQVF>$ei&Mm64RLumO;zygetWX&a;3FaVQLx1Qn8*X zQ>cMw<|PmhMls){ya1!TBP;pA>eo1dht~Y%+!-8mn{{y%g&V3U=y{xx*q!fQqNGN3 z6(fKuJ>J|_Lqy~mOjHm7t(3H=$Dil%oDbb@uZH{s5CROQ(l0sN{ce%3rNwN2l!Zx9 zKqBDqnE<<~*T9aA9UjM@5*6&%yhTKOf>~0%O`Whot-QHcI|-HO_l%Lv1U6A1Auf&T zOTD(TG9j#;O`qt*!xh4{>z4lHhg{I98u@+;?;ZbViXMGjiWkw*wwclz3SW%EX6%{6 z)O_uvetOIFB|@wraP3>DU$e25AZr-%0c#>9bM>1~Fw#BK-?9<5bxn1#mLvuezww{9 z#o1}fXULafeOG=J8t9|kt|Ao)Mjoq^yA0gjxh}B{P|=lwg{_orLx-(+)4Z=uN^+Wa zcKK_*V{fjrE(h@i6$fMCa_Nbe=jij*6{XO}V@7SUJ2kyEGdnMr6*{jauGNZzD`I*x z^bs=c0d|&k0VbAv{hJw6pKHFZc@_%Dk*TZ0_vu+Hn#8nE(LfF8uZQEa<}2fh`5h+$ z!Sx(Jtcnw1(TJftei9;8Mj(cl3DWbbVtk_!g9-zv{d8^GHtf5>5B>cw!PChQ{ql3B zBjHg*-_A+i3A4ht$y*G21`_JlyQk7@pfFU5e@(*iOUkeocCG zI2{)}5fEgJKL>|*iH3ftTau~pRAv(H6oxf#4#JaxXP5G->IJqq8E*dAUxY^~jwoMd zGXYOhGJOyBp2>49#G0TPkmw6(#qf-fCvQ$xci5fQXIS+6pJSEqy(_!qeaAgU)>y=S zj>eR;U1Y)TYWujkzG-G3GjSBeE6%aTEFVq}(MA{5w`>S~jVtgOID(A)z#PzNt85K* zXu3a(uz!vujD~{?B3u(o_4{c`Nk*!d!Z$tXT8AWNYHHKwu{HPx+<_s2U%pOiWD4Pw z(USate~RS4g7ovHJePW(sJ~DVZjPRzZpvbMCF1OD6@HjE;aDem?X5Hk_;M+g`_sYh zoYV*{u)=>FLS~~_={`9RPnEne|6NYluzZ!Xi7gGzdl&?D+~JqpRKa=lqJ4vADW_%m zuZK!4z>rHnF_}N^^@FmR+1<;}*>?kkjar!6>?$O+hD-AP2f!ks!Nv!0VN4>m7R;wf zAxHWgwraM?wlX2ef6!eS-CM-z2r{->VEb$=GX{)-W?1!$d-x6LNUWwM9C;ou5k1E} z2ZPZ%Na3{VvM;RSnMAlR-E2EW9_J?U>Dtj9N*n|QmBW3;)>S#Mm9#)gsnL}xf2a<~ zj8jPQGa~85>=Xh<5_54A*3)}yxfY5d8o$?=NPtz!WHpTS63b~OT}v5>E5x9TR3vgF zuQ@!sYM%M1&SZqdrNAMUSilU-l{`)AtNb}XH^@mig3jE+8-c!Y8y7!!yyU+TQ5oGO z$toce z2T=s86m*+NZh&u;a07p0L43;oy?4`X8z1jWN~WPbC8pStex-+aKT9wF8Nl8koTNJ$ zgs6~5B#23#O93!3hYYSe7va=jKZ7ob7v>ci;bzew9xoQh1^Pe-9a0FstzsBlFOCek z5a?!a2VXdv*QX&{uc0mp#{c~an%7>hlkiP@33Z}2Mp7zv@sjw}6x0cVSSO>za^%h* z|0|9Y+$D^A{+!lxcBXIqDNH7{yrscDWVR~^7C~{t%gpJyYtiGu!y44 zvv)(X z)E7`8ra|L_`+t=}1{4#%d19cVk~k1bi%xQ%5QeRn)x`q&>3vj>%RKjRgnUV4XFC`M zQ7H%GU5YLop!;>svX&PYH=6fs2b-m|k=v24>RLKo_+9C({!R#2s_3e8xxb{ymt=PMNvYgScxM8?RpH7c#E6ir0)A}^RGw)WraJ%9;vFYS zDoY{3qVMmxaL-2mRozu5>0x{L|71CU-9bGw3i10MK(k3HgXdXfSbZorUvnTqbRW z=^#ZgFvLaB|1ZD?OQE89YtNIpMyHS?{py;|fNKl%K%`=alZBNSRsC;|lJcc?Cd9MM~+^ zrgPx*j4G}SAkV;*psru`XTGL#-*5Y)hQUub&k=qnCL~x)G>y)L z{Zke|cvs|c#=jKIj*^-?ScCJ2Un;wtpx-k|ORq#7cjha}Boi*YE735V;3>?Y+lM&0 z_f&(-)q2C2PKX}*YU8&%FJ3&Nr*a9sGTDfJSNU>@V8qe4SN)28Zf9kY6}>IXh{ z7fe%nTTuFVvbnjr3VZF>K1{iKjkL{(eN!viMNLC<1aBjcJPW%2qt2N$;ulEU=e-7f zBChew!Mxiqn8{u}D`C9q|D|d9^wOt{Q!42d3fsqbT_4^qD=VCcw1sfKBdUx>L)!R* z@Pnk_9D5Lzzf~IFJs@TwArlQLaGCbiI!5r;IhZ=*+M266hfvpf6_aKYG_D|zUln4z ztR(lRIQ(^qv7XI-MrxAI*sxZO?N!gV~eX)e|S@A!4iY0m|yRldC{#N)jeU#z&Y;buDBBxCWT< zVDYsTeOKecQa;V)j+KowKUM$HgNx&U_{#m zI-V%G6Llq7v31wRBK9^#oMckGwAszB>^AK}HM>4S8%c|dC!nGe=V;NDkws^T*p9N(ImI=zW`t&Ck}j+(RU!TwFp6JuQDf-^6x1GZCO<9n3w zzrtjDjEP!aR^y*;A=P!biGOM}nmCm|$Y@6Bcy;4Vd?^^*cIunK;#BJsF*qfVV#7&B zXB3o?%;w_~J*=zY*nyNjLCzQ6l&&obsAcSnQPa_NAhm9v-<0FTW0S}2Y>2;fYWZ|{ zcK6WJSyp}!;52f674_-%;qiqQMDBB0!ahbFd4rl(IE*VBuWp}nKt(BQYY=gm% z*#;i`DtNC{wCqlEO7>(Ia;g{_eqj}S;}1eVdoRyHe|T74@jfSZe{qzCx!tLY-Wj@#_d zkoMtfs<;jQK&|N(t!Zp*KCI_UWu=BNexk;tpFKAF;}JpFbLEUSs7htSIKWJKcj zQPOh{4>a-7DJMFbsSA0vj?fk5m6ad!OC!NMsMP0mk0j4-{o4Hrd{|=sUe?P(9Ytzn zK3dm%iXSb0@Nv>QyQa=Z<#oW7?mbJMy%zo(aoP=Ua?A}i^1iJcxgC{8VHw_?@`YM@ z6;l2+U)EP9u|E_>>1Z9i?>mDryU8>(`u|!_5m?@csBSWBR5|rcnrWK*k$b{x;7LFC zD;iA9cELA~NwDxF?Elej@D$!S;)K1NWHfg5a4vEzd6f=7>rN2a{~E*qSI4UH_tNkn z${;YCm*lxWRbmN7LNJivf=9J3Y}WE8CMJYo;`+Gq^YSQ}czHd*6+9&kD)}Rp9~8lU zkjy0l-lT-h@b~VaPiix@l>A$^5Cem?#!D>1l2SJJ{i!{hlm}Dx(-|&=aAi!ZX%I{Mio+UC^J6_*RMp)E|6+FQTn%tI9M7+COCLtVBp{lBj!W1YO8x2z6KwN#R&18BwsZ6g&9$sw?qBIH_sT5 zJu|<2_vwBW4I>J>tjABaR1ve%pO=^^vjl=zY*-b^WyuWSJjcJ$xPL;(F_l9>ZMhJZLwh(NQJesw6@miDQ??&7OYDS zonC%b;F(0jc2O;sw3rRZNNtABS&wt#hql(|7&r4yv8=EKtFcO6w8{ym3t?_3{aUzs zo=~V)x6%z#-_&V+^aZ{1nmsEgT(9V{bi)o5zGNSY1PZhv+gsm>j9l1#&>F2Z9y~6! z724AKE@CV;{%k){0Wr0p&Z@(;^6J9+eq_5;+`gjhYO6x?^R3AoV@J~Ss0|71*0g6- zk-c%vk>1-kK2r-n^7Dha9Sl@HFQ+a~MT(EZFFk`c{yjepbvlk@KMJ+73Q#&^^_uTo ze<77ht4{x|L|#r+&o)lA{yeT@v#e0w{31D`=j9J^MKboyS8JT!=j3E4J6PZ38QQ~hbCo8 z)qjjW!?wtk-ZBeXLK%R_gCwVvw0_yx5FG@r*Y|SGCV*<#+J= zp%lZ4@392j*0PZa@Y@rMv(`;D8UMCg;@jnp0n38dijwW0YW>1_d2+DO=!R~P4GOK; zxnWg2K287n3hI&GJ*EJ69?EWK=c4maIfNNcA7d7)n)^2+t&A>;6=Ei9ik&A2nS~pF z99pzS={|#MU5zWWe9!!N?PV31>PNIUq&%N%>Id2r>m&N&RMZeGAOj*=b?{~dtrEx= zjG`qIVf-3g$V+Tx?^?UIdwNKml`!qCM>=G~($#VrP$bYNK$lUhA@l% zy<734#J`&t`t0lJnyRgM2b{nc+?!=FA6%J8sTSKX_c%BEhOg(l2ts4~v{`bg&=AF! z{_5sVTjWdErSiYwBLl|{eYPjbPUW8a{qVcU$$DhUbQ<|bRprmJ1stEo#m($;5}We%Bnr=Ja+|H97B z*W!d2t(&Jc$iS0iBm|-xKb(E-1lNcCA`Ail^MJjB4!hL#5OrliY=&>8=awlo$yeXK z_(MobniN?^xckh;TUr42!zF>G;scT??Rd8Krz_75*f_p32b<1+_F6;LL*gr$j<53T z%vNL;l@CcuHA{4;Ct0~WH_WKy8HS9OIPozU(^hDq2yyecS0Cr_DM-U=xr*1XCUUgi zcX}Pb{?f(6@!r%)kToPqc{y|RP7ST7%XIKPOTN@nL}>WVR@QD*p20>(FQ zmCs$AM7*JtO?bPjO2^U?*X}F$yp472+<;#v?;r|<9Aa#*N=uPd)OKB%Sy(>m{GzbR zfWmuURyM0>s22U&sxCYW2fb#1nFp{%Wl9b0pYK24Prvr|P-8WVBV&+G z72AH(^X+u)aElv3QW;YjIa;NEFR;_{OCsR8uk#W_GKe7AZ{%JS|MV?{X?>c%=AuM7#))x zgqL7@aWN_@D%gDPvB^`R!2Htz;1yl0zsc#YqQjSam=X_=-SGCsvOB(5 z3mci=Kkky$1#RQqP)(0R&6t0VI}bs8#IWao$SDpzBJjKmTIThiScZtG3$sj~$ChoF zxIL&y;rOH8kqYL(%;b`fL+*`olJ03bv@K;wBA%zl(mmL!r>(fJJ{p;8PVTE`L1(aL z6Ei+ilPZ1$ge1p0&%UYeztkrTV!!CGs;fs&Dyuovk=JNCASC;bmi$}13-cAt8>Za$ zMQaNfm$gD-cG+mGQw!U$cp6yV!d{6ggB!J#wh`tbCzN4E=}f=*OP9&ueZt4j+EQn2 z{nf+PMpif;J{SM#jn&4`3p1SL{)Q&hjOb9FC|&cIsGspr zdx?vVwm!@q!;l=THy)~ndUd~gtd!4>a8RSh8JSU?kWq05K5Ls5KRI8~n>)D`(x4{b zg;V(SU4X5KE|U44?sGlGvODdWl&PR!UmMk=?lQcI2$e@g>LfclhUTUOVl~Uw%uN%U zzx22#}8V7ivKUdZOyQ_a?`vPb-5yoh!%Ej{c#AOOTegzoO- zvVBc!-oPyrQW5*~obFa_KIFvxq(>Nx-e=?#xDQR>6`v zgfPk>DK?u#ClXh1X0_@w*RzA|erLAE)`h*@wr-~@A zkqc88u;C4D%Gb1B#1v)I+84}j7N)3#HWF(+`{+{SO|XvUijaV$Yj%xpm{{4MY`wQ_ zQzPYQBW|p9bQqWHx!K(@413t65Fc*@hL&o4ygpH?1;!QkwsdDx{)NEW*^bN654z4M zEeh}E--t;m5D>=0UeTR!Q&4gGVln*u#E|%zGpGB>?#9M#Jslm_ZcGTb+2(POIoA6l z*VU^RExWEoUJHwJ+Bhbw6VkiBHm0Y8?E0W_M46;N(A^ZFw=7Y!E@HuMX;q*rOym~A zKEe4BJv&HX5n^_i3PqR@RbSVwUW;++`-NG7Z5TQuuogt`iQX-Lb-zw$|9cjk_LZM8(^Zrx=7k@&{@bD=@wS_;8-ILthLs}StAe0Ix zX5eRHRcR0yIFT2T$w_@eaDXXc_@77O9YR2N4$vZTs+c58JG-lfhK3CUd18kCKP&1g zw@sOW_V<{SkWFBx#64A*(`jJ=Hv zzfA&+tTI4tcttM|Gv)|jWnk{OQ88D*Krnl<1dsbM5aJ^z!sSjdrUB%Xh{nM2yKgl5 ziM*U1Kwd%LCLuL-9_XT>)Pw;=ykFi0O2+T^Kv`8#H3;+P4+_9-2RSn$mjfBQ{MJxv z&v3W^3ii4`==`R#{h&dd0Q3l%wEA+@IUX~oFuy3};^yYyy_ybm$rw1b|^yv}`*7;RdItox+y`(M7qTzf@Oo>FL$?MlJ-cPC7poV;9lL z29)GC%uPGHkASj4CnXgC_J)gxCji`@m@3i-ns9gbfA>M-v;m*U6a~()w6O4d@0Ti~ z`5Am1k(89Aw$=ls#B_i@(Of|ocT)@BMBOM*^zrzd{fUY?8X7_YcRX9ur%?bfm-~}P zGa^S+-aBM_(=)>ynpPfza@d9cNG>eL3{O#PRJ;U_scM}TOAQtpv6QiR9ydjnMm5YS0V!l?|! zugg-BlJ*XL9>R$Vob^-}26e0Q(0 zuKRw8r;|-#ZSAJOOd?}B(02WnqM3+`8|d_svCYJk3kPVm|;Q{+w)4rQ*X`ie5ij z_f}>AmD*Aa2aeVQU;`=}nUI`J<;U))WMyWO7AxCQ(EY99VUwYYGJ;)FbRf;-fxQ>+ zU?(W5+toC(pVrXG1=W8aH9YVoU|(|n$`ooQnaa!o1Y+j*?!s`DDBzMJdr51->Y5rF zhXPw9fXz|aiO$s>D_dJ4`0%nQ7(Cq`-Pzgs2HAZozo4KI2s==9AMOCYIHuVQER7Pe zaavx4aX@-*ZbS|G0q7%FvOieec?0<5n!>`uJ`W@k`AGE?0@G->?VR;*$-}o?sJ;aj z|NrZVp#0 + + + + + + +Firefly: Main Page + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Firefly Documentation
+
+
+
+ + + + diff --git a/docs/indexers_8cpp.html b/docs/indexers_8cpp.html new file mode 100644 index 0000000..3aef349 --- /dev/null +++ b/docs/indexers_8cpp.html @@ -0,0 +1,96 @@ + + + + + + + +Firefly: src/vector/indexers.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
indexers.cpp File Reference
+
+
+
#include <stdexcept>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/indexers_8cpp__incl.map b/docs/indexers_8cpp__incl.map new file mode 100644 index 0000000..f6f2367 --- /dev/null +++ b/docs/indexers_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/indexers_8cpp__incl.md5 b/docs/indexers_8cpp__incl.md5 new file mode 100644 index 0000000..9da86cc --- /dev/null +++ b/docs/indexers_8cpp__incl.md5 @@ -0,0 +1 @@ +0afcada89f82d37822c8d8b7b8d4aa17 \ No newline at end of file diff --git a/docs/indexers_8cpp__incl.png b/docs/indexers_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1fcb1f90bce6609e2fbae32c9ee24ba601d777 GIT binary patch literal 15452 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 + + + + + + +Firefly: src/vector/is_normalized.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_normalized.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/is__normalized_8cpp__incl.map b/docs/is__normalized_8cpp__incl.map new file mode 100644 index 0000000..b872842 --- /dev/null +++ b/docs/is__normalized_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/is__normalized_8cpp__incl.md5 b/docs/is__normalized_8cpp__incl.md5 new file mode 100644 index 0000000..2791000 --- /dev/null +++ b/docs/is__normalized_8cpp__incl.md5 @@ -0,0 +1 @@ +962d42fe0a070f9b1483c4deacf6d521 \ No newline at end of file diff --git a/docs/is__normalized_8cpp__incl.png b/docs/is__normalized_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4f50adeecb12fb5447c14b29ef7533084c481455 GIT binary patch literal 13188 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 + + + + + + +Firefly: src/vector/is_orthogonal.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_orthogonal.cpp File Reference
+
+
+
#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/is__orthogonal_8cpp__incl.map b/docs/is__orthogonal_8cpp__incl.map new file mode 100644 index 0000000..8dd7052 --- /dev/null +++ b/docs/is__orthogonal_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/is__orthogonal_8cpp__incl.md5 b/docs/is__orthogonal_8cpp__incl.md5 new file mode 100644 index 0000000..0391c96 --- /dev/null +++ b/docs/is__orthogonal_8cpp__incl.md5 @@ -0,0 +1 @@ +8e1ad9b65e7824c285d2499f0e60c95d \ No newline at end of file diff --git a/docs/is__orthogonal_8cpp__incl.png b/docs/is__orthogonal_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..88a18c5018dd04f77e215d5ee645d9338f1814a2 GIT binary patch literal 12902 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 literal 0 HcmV?d00001 diff --git a/docs/is__parallel_8cpp.html b/docs/is__parallel_8cpp.html new file mode 100644 index 0000000..1454960 --- /dev/null +++ b/docs/is__parallel_8cpp.html @@ -0,0 +1,96 @@ + + + + + + + +Firefly: src/vector/is_parallel.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_parallel.cpp File Reference
+
+
+
#include <cmath>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/is__parallel_8cpp__incl.map b/docs/is__parallel_8cpp__incl.map new file mode 100644 index 0000000..c873f95 --- /dev/null +++ b/docs/is__parallel_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/is__parallel_8cpp__incl.md5 b/docs/is__parallel_8cpp__incl.md5 new file mode 100644 index 0000000..7889dc4 --- /dev/null +++ b/docs/is__parallel_8cpp__incl.md5 @@ -0,0 +1 @@ +5a23cc765363058a7c064bb00d780e70 \ No newline at end of file diff --git a/docs/is__parallel_8cpp__incl.png b/docs/is__parallel_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c98da117ec3b3e15845382d9d1220d8520bde6ed GIT binary patch literal 14931 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 literal 0 HcmV?d00001 diff --git a/docs/is__zero_8cpp.html b/docs/is__zero_8cpp.html new file mode 100644 index 0000000..77be12b --- /dev/null +++ b/docs/is__zero_8cpp.html @@ -0,0 +1,97 @@ + + + + + + + +Firefly: src/vector/is_zero.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Firefly 2.0 +
+
Standalone library for vector and matrix calculations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
is_zero.cpp File Reference
+
+
+
#include <algorithm>
+#include <functional>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/is__zero_8cpp__incl.map b/docs/is__zero_8cpp__incl.map new file mode 100644 index 0000000..6650c28 --- /dev/null +++ b/docs/is__zero_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/is__zero_8cpp__incl.md5 b/docs/is__zero_8cpp__incl.md5 new file mode 100644 index 0000000..a33c99c --- /dev/null +++ b/docs/is__zero_8cpp__incl.md5 @@ -0,0 +1 @@ +3d83c2aaa187538b2e5de7e060b2cab0 \ No newline at end of file diff --git a/docs/is__zero_8cpp__incl.png b/docs/is__zero_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6e60977c11bb4ac6de2638a4743c235cb0a4225d GIT binary patch literal 17266 zcma*P1yq(>6fKH~NQy{H2}(&yg9s|2bV^Hybax|2gG#qFN(j=8gh+QNDM(3o!(HFG z_l|MLdvCmP&pG3O1OD&ZvDRFB&pDSN3UV)SvF>7_prGJNz7$hJLAf>p-#22Q!~erY zF8{(8bOY%ZVklS0zn>cNqES%pp-757Q*ljMpLWrX8@)Q-8LzQ<_X%~8_hw{yTdIk< z>JkctF?Bmd4a%Us>QX*;&rrFgfN+<+QF@P}moixwJ5O&3MNQSm`y_0(zReex7uTlz z{6C?REC^9Y^)uA;d8O|)7JJlhIrKTDVspz5|G)n$=k8iT!HWL=_T~|{AiC^zjzpQf zrT+A*xZEssazZm6c>A;EP#Ou361f1{Gu!-8Td?%;C?PYy+6D zkl(cTlgrm^{8es7kdcug5tLz;6vwddlpol0dazbnR+ihF*hS%9)47)DX%hd`xdiwd5m7jjsZ{{mzp>Ir9 zE$^=mTmCK&>5gYtE;Er8bX@U`knQRwBp_%VEl{&_bo|@R-efdUqCfHbx8|f)`5Sy# zmQ1^aA1EopUP-z>7qQ4EOAW-Qrl*-+*OnjbBvw?|%nDapO-k6?b8?yXq3Mm}D^5&I z*v>UyyF6aNv!1GccJOa>bs*!qv$ONjRC;-W#dvXVu55B}SXh>Fp4>00^uh;pbUUMJ zy3-XGiKc0#hrhQfW;NQ~zIt`bsD4$}yr7ec(Yw05;OFPxo)2SJsxTkL*)V-oY^M1q z$0OhEO<#(DcAawsj6tbLlgHoRztEV3UB_tj%PR^I@02)Jt)WlPt{-kpc7&60F=~8! zVD-D4hK9xuCajfS=5b^_H8thBUfRL$b1CF=aS&gzzW%FBOk7+sO9B_=76pHEPa+qS zaxM;g{WfZq&8*4qa%wK#37AyQto$E1v>xcGJ5P_2`NTnfKmbhL8h;o~y? zvdOB)(`!z(t~<0MSLa+oc+|PC3RGj*UMG=pnb=;QpHReFB&oWtQkhfLIK2Gav@+Y&bgXtfr|{Y6RG!7@sCKaR-j5RUkBY*RV!F#~`7;okBse@g+h(>=;NduTk?jyB z58lD*a8P>~iE@q15ZqFZFS}m6ppL z{JwM%`Q9X+qDcx$%FimF@4y0qR`l>^jbJ@UU04Xw2=VBAt%_Ga4;`qE*v^SYA&uwo>yV}<8iN_&_+pZD4 zOoCo219##jrJb78pSii_2y#BoA`1xW>e^aJQH-a*z8QahUB|1asHpN;=|))l^VWB` zTq6hj!}3}|zQfhk)kc%5r|f6tP0}%p-{A#ZmQ8MZxjbo)j~L1lwvLXC#KqK0^sd3Q z_g4n*i>4g?h9&P=ZJhokq1th4ZmdYl@XI?lc1y*cL)eHn!KM7hXw8~ zcJEC&^y^z#bSH9|e)E)zrk4#44lePonXPr|{yqG=!J~>tKi3T6N2}6OzdMe#{LLV0 z*{_t0;?^KMz0N9~-t6jF8OL$_8~@r5;Uy_0g{lY3s@>?BSnITA zQX`Vse$LUs&>Kp`TNYB)Xm-G9n5iDVrg41iVhUQS9vO zARYfKEyexM!B30!-Zv>r#3o_e?t8qYP^>LrU|^81l!FC0)4eP3wSE^1erD7XfT@zN z;5RX$4#NlvE^*n?5qk23OQ_LoIM?%N+GTyJCOU+G!Gv*brs1)49E<+>@ebf-T7lYE z1V`XQF8!4#cX`a)epgr|3OYSJJUk4)%M-deUB~5f=?Pov8y!vX=+UG7wectbWs_QV z4PtlGn23Vg9CMltXRDF-?0%L041c(S@A}c z@ada(f73?2O`WE;Dr`ziOH&@Zu(e8RYEaf0cgNvVQ_I7Hks1VW{j)^(SM0LbKinT` zXz1wf)8hm@vfawHK}j7H6cn~jP7M}k4NI7*DJh%}{HE(%Ox-J)-ftX)(MiW;8+CpZ zux6Guv186*RL+&j#hmNA=ww;yaWB)LOfQ_6oScoF;Eev?!_c72Dy$Th!aFbRpz7vq zT4~FYv)01}lnhDlP~1{M|Fl>FU5fXg-KZ;gwe)R7ITRnGp$C&<4>R8G z{`2;kl?iTH=6Z-23H0I*p=9nk^mmC5bj(yylRmfIb0Jb_Nz;@{xN$toZTIuB_UZjh zc7|c@jmFggO_}3>koaFcjq|^md%LD8|GB@<+f^f`BB6Qy9W@;z)3Y@vVzAUKNws<< zK(j69P|9bhVaNmfU$$J3>lYfS9d29EIkhcYjYR^siU?#yTAneC(6YS#TJHBT(+%Cm z8rxoN^6it6FjPvJ(0|R|TO5fZ+|RqnDU)-}ZY0a)iz}Ek4BeBj_`Xt&6@43zNTWS6 zSL%^Ala3VOtetC=i zv@FX^6a7>=Be=Ru&0N=CqE;>Gaig6YpZ}AQ{Wh^QLK>NXnmo-CCxv_=8%N8eTp|j= z4B~5_8-^O5wwCLx!rW^I?TC27>b`K%q?re|KNnR@;YysCBWGLlq|I(bMqwh9s(@WO zqO%$WAB#OabT8%>VOhyO406pcMx{jSqFLX+6@Ak9LFqfPA6$`g`GG36I%fC%oMA9m z&xKTsMj4Z6_Z6{RB=bjqZ`Zx+G?!B%-$etvB(M&<4@<< z`S{>4WI+8$3OfqL#ff9$^?^#Lb8}Ya#3}(>*ac)DvI=p0@cK{i`ZpN%YE5W0!#Eiv z+m@UZ2bl5lr|&|e|NEUf_#NM&BdOTThRs-Fdnw71JWVR{Zi42z=7Br(ktYG&j8_K+ zhK{cA@>}ro_dV`8&o=*&WGxKYckHJ9a|V2PIQUNUDF?@e5vqr0OItUxrXH@aX}6J0 zqvalK7|OJ=^KfFC5RKrY8&+UC{B%6SpiS%bJSPMh!{MCcbDjj7Y?W=y_*nP|_4))8YzMfACjs+~kf4iV0^UKNA)byy|RnQXVw zjvouG62x;CaSUMcq~k=q-*q{Zdi!Mbic65KNbl5!#EA}>Z1QJpOL0J=fb-2VRn7mB zDRCH+hZ=HOEwcn~nt60n`RPq3&I!>2K1|lz)`t4g|0fPf!1XfpTL!+8uwnxC`HO(3 z)?B&#bV^&cC$}?_mB?mHqp-D=ZE2<}AA|)CVhetbIH5GuU!Y{$Ao9c%VheR6ek`m$ zq57IfkWF?N4vJjD`tyMXY__7!d~KrQcPW*<_in{+VyPM(@#90Y#o-|tAO^^J> z6GGJwJ3ri+oF1n=N+4x!5%&wB+4Ov?WB_riO0g<1a`u;iZQ)#1@|R5aWh%23{Xl7T ze=M72!MtMOJvuWJxsq2cRVO5`1|L-w)gpyPGB*c-~)6#%Fc+O?8Lu z6E78}Z>D3cV#!EX8d{%jh~CexcS&H8cR{y#JI~*iOs04q6{FwT!&IEuRmyfn`_SEA z@bfSN6-wpzj6?tYZx}3d@B3`3{=~J2yRU^q+J3$(-x47Zr`Luobc-TjlO zhv)QbC4r}?1S0CDXUks)!u!`8YI{SliZfOS{ub}QUwncS`CgUyPnAq)->ZoEM?OBr zokyQSL-@v|KL<>Pi@JuzNXPPC^LpvQ&U`1fWHRQb!zqh}tOvjQEgtf>_p`A>2aRNM zQ7UO;h_Klt+Fm7~IsbK;+ow#nxgO@k*{kI+`DN|(9tG3=-|CyJyN8j|Yxuq)g zYsNWi_MQ}*{q};R3DxG?&NMlE)fkpf@YOAorxf# zW}J?i$r8WzU!C97WJ{kpo-GE7c&23Oz<_TkS=oFvg^&!>@lQT&^hLL)Nvde80ZEu! z9B$%F62V4Z*PZ>uB+0Od16rR>pNEy$-ce^^>geX}Y*WfwU}CEum*V=w@au{nO@S8e zG$8B+RZxzZIFuHbZH@b*u?G6|%OVW-)lp(>CB7>~8{~geV4YAN#XVG^Ui2sl43}D( z9BDlrZ;AXDTslZdEp?1{`)mvSj^dGe!$Z2ym+zB;;Yds4^-D$&juDq}A&h=Mo_@n% z3?!@055RbYZ|0{77nQ77-&BZ7F@uB?@?>mi7y?}pk+Z7((?SJhMKp*}2OYnZadTA#94(U>y{ikoM^tjeG zpUT^QGl>&XIEadu@9n2ky1)k z7V9)fJ%2v4h@Ybp1>C~?ywYtp<3?PHw^|)@#J;rOE4iyIsabQ9geFH%#!}<)Eov6q zLI|`Q3rW5_#QG+*nhR{r3E7KlN`m7SLN1%y#p7-aYHDhslTn}QD=o&^;G&kH4cV1+*GTwgv{JHDD z&v|gEVI?*tl}i^+9n5+`PWeMLnalJRT(4d*iOa~y6psj4jIlga$@f+2I&I3&&)5E3 z_lf+8J9lGaBQS(S_~N-inhGDC^=)_N#dGD;`;KOP4oeEbZ{U*BRLzWSH(aTeGUQa)=6a$d`)Vz=?7;#d+d;IdUG9XFmq%qw!Sul%kF zxQi~|Yu8r>vx1)C6KMzCqRiB;u^%aZ{aE+++3`YDjpqqM-IZID^I2;*mcNc!pJ_-& zNP)l6@|snzo4hYF{!P`nuoFF0`Khq{mQ=`Tdv6?Oj3wDKVRNf~nP; z->rc(|Aw{{0b0R z!x^GCVLmJ4U#autQs*aan&>z<-oyQU{@=gQf&yktOiUNt6MEo5PnOg7*30^pn!LSE z_g7mpM1u+!e^pT5zO7eu^*JwXzNl(u9ta6Hdz^^vU#960YQ45kh-n`MOoZ`uEjQ(3 z=f9AIJ;{7g2yOIckao?xqoX4_A>n7XWHiD!L$V_&*Whuaxz@d&FvY~n8+YwGIzrhz zeD$R*FWuXHe9z-(6CpS9HOlB=(YozwRO|mrJ;%kwq!AQMf`#UUR8=k3?(7%2N?BY0 zK2&aXCJ-9sIlTYF{ zdyY^V-sk*({`@J_tO))2^Ci%WR7Ig( z3N_Aw@#_JwV%4ggTUz>I@wFjN|K*;}#@We<#+q(}I}b1!p1YEAo1b6vBbf&Xqg-YE zdQIEZWG|IjtvK7TBN86S1#~c^Q#-s^186}KHf=q?j{5x}X&~}Xiv{^?W`Mn8NOSc! zP4|kMo6}pX92ihAFf`g=F+9*nBV zqzcArl$qEau4~M=EmOv^>-G&~h`K>ql5yzyI?W<9+vHkOW#&b^=*ne@zD4-i9IA#_QUTc)Q0w zd}Yv+@JOTaX4p3%^9P%JeAXiFG+v%sfDP4ZlyboCiKVV^J?@)~wX~j;iBz@CvAH2g3eBjj{wGH%|7( zV_H~@OwpiQ;gpYgyN`)k)SDrR&4#iu+1S`TcRLw^F)YRkJ9iVNI){g&)1G)JeKV2- zbd(3B;dt$9Q{f_n=3hX=Jjc}`S9kZJuewb*d)2>Uk==PP0)=6q#=-R8Xh9IbS~P=v zpZ&Arz2$!8Z$_Osrg5qTs=cRMWv2ZQYN9ah!b$DduZxV$9;y|eKP`=8QvPweRn8uG zeC)bbxo`JtauO&~y$jBllX3Ab_n3YTQ9phu;Jvf66O3_nzJ~`d^Zev49)LU_Sm?FN z@}p)DO`@&NP|l9F@^qWLxvi&2p#lgA2?d9Q&@eHr`WZYd9P)`13s_lsb9%UutRL(O z0szF&a(<)rbnSBa*VMy}i_a zQL4V7!GSO;*mn1?S40fHSODS&vgz`r9=$nU&P3S#A$dua52I(7~rh-V8y z)ZRZiWLRj)`l=gA$jQmk@u+(0-S(guegbua`^`YJW~2LoIp|DpQbnEY>@t9@X3?&G z55TJk1Ud*!iCL~gUBmsUc`nOmFPYj6qn^b5@rqALk%5y9h+4h-2|~dH401-tXHZ$m zythr&iixQ4Qk~`(7E0AwK=Zn*rKRP(IVGu}pb!`3;^dTraQEBaZz5^}#1^O5siTD( zWV|b!022A_XaVQuK)pLYJKJl)W}iBc-qnF+?*{=i^flh%GpKP*?Q{xxUlU+nRgtRv~@nmObN1zlQ!r6oTZkT}i73>GU zpdgYOpgy*OCgwolp~wr{hv;E8O&31^Blta!IUvouIbzZ%MMOkEg6V+e>heeg6%~~f*3zq;3r-Kh$8*=cPZmjvb(`djj2>{A^q?qtD^LqM2E)-zeT|&o z_8xHJ`cTib8{9_)y+)u0$s8F2%1lg5&9>u$JVSHup6}ZDR|0(e?@+%1jGsn!SIjQ} zrv-77z@d+NUn0D@w>JVL&AC5+?E06H+5{pANPexKp1m!!xh&VMaaij4J~)VvhleNV zvMJLZN(2(-SzY4Adm2#?hp)>E?TEcA^Q`D;fKwN@)o(&L4}-P>im+oP?pQX>|Mmii z8n2!lA9EP}yiG5c@^e^Tr1$(}ujuO<^VfR+q9Rr}gH@z0dgS5Xmq0MX)62{3*Ec$- zh{%NCc>D0hhI}$_1hx0^H9kJR)1xiG z(nhW!iUBg&4r<&=0dlB$uVmGnsCYcP#5AkfA*$T>VduC;-&pKrdXg zHbeqC$2*bBi058iH((l4in7odEzG7O%wCY-QAA#1_V>pmd(G2O@X+c&4ed&@@`Ml+QwS07xno*Ju0cgC1*aj{mY$9HL(c**a#qOx z7OM)qr1UPxw*1Cw7-Nu)5%1eiWkSuv$_0iJ%}0ymG(0TCKbQmgY&Ds36T3?8eM)rC zpGlUlWT?;mB(#l zs`$$UGza)UK7M?Oht=~lEc*{7TLEFUBx(e3y#h^-FTA!x-V0!O#RQ^1OC4FA`ocH8 zU4>_RTi?FqCbNQ+eF1LK$}m`OLi7DBvi*MbJbtRH*VLTnHhQ)jaa#oc(xP;G-e1n# z(0V-mhfOR${p4%}v@VZ1}+pk%SMe5E~p=lUhkZSb9Zz{pK{n*FDxL5DuC)Wv?{djoh7x_jzK+ zl=@;Nc}eNiR_;NaWuHS1Zru1lOhE8l@Qc;SV5RCdXohBi;Vub6VFud2IUdmGE+3uG z1S^y_886A>7pq3h-$1C&{=;F{pib@_(rete4i#SP6;0ck;mN!j(0-P!PD(x{xzY3W zu)_bpaXnD-cyXD1>oF=dn#Y$bQ!$ptKf8g=_dc2tPH9|NiQ&9wE7b}vs*PRVeO&4h zB<*n{9YyxW7|K?VE2CF@sDTtRw>c$()u5-7{luxY9!7HiwsCAD>65=FeP|mei?Vln$lz1o+DR zOTgcGb0Uw7NpCYL{p}G@)zlIlH|EIcrNwp(GI4Q*}6M#q`R=(4G!+Y;52(V^FC-1&pAh^Fx|p|Ye*&=elKiR2E>`?#0*^w%TMp2r4C-q;-qi<#Lo52!sn z4SwIS$A0U`xG5s)|2|dq=r|V~hTdrnYiuU1239B|1G@RZI|v2*Bt$3_I5!5txtbRMPGGW7+7GtKyZ@?XSD+w!%R&0LT|vMKs6=az7@ z>!)%?f2#m_RG|@#EJF|V>*HZz0)ErYxq5h`<14QA$?^e(-&+U{>E5WkC&~L6sT&~l zfu$aM|Jtp4o}}yFL!Uq4))o8DK8p1gG#;jOTe8^q&5CpP6g`4#LgrQZ=t*7r6#BBZpE-wyZQEsiceVJJH}gxK@&dv z;Xm^QJ?GBLN#7Ci?3cfjlp+&vTprf2F&&<{LVk=g{o%v*D3GjHQWqQbhsX&YJ=-)- z#ou{S_#J>M3$p4ZZx-wW-d*?fqjbf>6O3}pbf zeahc6xi)3{RuHS>~jKSpz2@3BwziJUeKoMDd*3Gnuwx{jGrR!le$Bw}ZegB32 z&ja6VmX=0E%!`s7ZsN-8)HiDio_l5Xz1_x*-%>2El+AwTkIVj$<~BjjZA(9b?^IuM z2Olk=Z~Y&&PV1fxfjSx>2$A%vY6cmN?d$K$;!e+YM=Us&uPu$phBR9dF5~xg{20pR zXS*{XqSQ6xb&{0iTop3a?rG?n6zBQ-8U*0ztaJ$9hS(zG{(t-KD$DzlCAO0D%YJFb&ly<%G zWu>XNT@78FO}@~5dhh-v{g0G=1#- zP~mmJ4VPl^jV2vSxpoJ%zyc*tP114EKK5Fesb*t_65X#Bdi<{IlBm(cU5N9+C84LI z2cNDUE!?48fp0>TsNhUmv!@z+YHjIvCq^bAL4kPbgIQFrP^FKS@_33pQqv!uzNy3< zMEngo$Lt}!yzIIIPORi^CHZExXC7Kwksd*vo=vu&(QF0%yr1%*V2AJE#-sY!Xk@KW zeNkmRk&wC}X~4zAw^b=SY5izemTr*A>DrDmoZRdh7h}QI5E5vj;W-rT8%Dd2v!jx{ z$H%zX zA5Jq^vClG;`m!eiGU<(m3T{7r^W|&V^;wKnnift@?>+)a0VzW;L8<)^Q!NR{AUY#A zF=5n4W9p#4P??CBP)`Y4z$?SgFz^{}n`P{}pSXne><{^R@$=m$)u>Ya8RmgMnh)j; zRL@0ZG#)5}tjxGifp^cpF8hH33gH7L{&(|CsWMkQV5YzTEGDc+)n+ixzAxLU)W^-m z$Spd}v2Zh{mo^cVG2rQz?P_AW9gz{7zyn*5hekKMD++yR_f)&9m9xTY8^QgvY7UDL zzm~B?v;@Tf|8h+)!>*+6w}qqS4aN6Cry^yE=(Ou%AI9!C6a_fHLpSk73|g2oFE|^r ze@Z<~B%CGA>n`3DXHY3>hOqAA#VjPTyOm=58=d?JQAvTkisnvcwW`M3u zIU;3Ll8%&8>lrcJ7|NMmSOk21Np@Mm|K=%i4GNY zG;ZaP?^OS+qUY&ujElYb1DhEh$=n3qi^pLc{8ssDPnATpG*X#tP%UNXpL?||u6kmZ zqYN?7ncWy8U&~SPME!uJ`RR6m7=F*gi!UOf-57Z>^TF!D5<69r_*Q-^6BZQAT?O~1 z!{n>aAGFwvR&pw{lN`+q+zd>DB!zN zX_*TfB?=Rk17KJV7sYW9tz10&h0aLoxb-h#f6>fGYOOeAoDbw1)qv}m5_@p9>=PT} zO3onlfVfL*UXF^>DA>nZP0+R>Cf~z)VJ){!E4^bxln5kWuhy_mD56tca;H}^%QW^(Rc3bnsj;UYY~AwXe%N1 zMkNoQiQ$Fr&Axk#ce+Q~iZOJ}Kz}QisUk^cUugkPDVgXW$q6Kv~?arvyIw zp=x2m@&+N%$p;0Xm87A!WVb%GWpn#a>&eH#(1qpu1p!~=rH20hDIDm9*=PjXjj3Dm zBqhd_9+W=lH*uJ63kkxNALi~w?)gVn@cjC{zQ=gl-g!-zr(uYA`dK;eoA<@(6ow+$ z`DPLKDIEg?0TGe7&g;6kSYZFraY&oHVwrai5BtU|!QOlKaQ#;+NUFFI&lpsC9|{Yn z=`^@6o+a=8?Tij|-9anLKLt%2QKF!ir#r)C)+-)}-Me?+f@xA+N$JjuD5{1v1COxw z7GU-HZRb!VC9jHIF2;3zu9Y|}%VlO}@&nCYu?`Z(`gC195U)nRRh<_lB_%0@JrjVg z)+;@)D_;lg>U)lKJU^&|VA_WUlnuWlwc&5}OFd-3!F7P&o_zyoWMj~C+Tr&KC&7Zy z|EtWj1{yoy1K?=aFI5kYj9db)ZLDAQRNzWFo~;zxQ4kSs#0PXW7|BGf6ElprcRTSq z=ZM?N08J#dh&5{%H~|m}7~K0+w*vJ+fE4gN-hMrK1@p$~kP+i|`bP-*N55k^d=I@3 zH*Zng6A&=o2)+Lz()Qxi3EG<^R8$B(jxOt-8zUE8YT{mZ|?vsCh)k1h~1u9EfS<2@PuRF;ABH@2f{_e zGT`66+Xbwx+ttO9*}$jmnXZx1(O6KqZU6qn2Qm{p_wfEy_NMbYpbyBU2}uH-n<(Ir zdmwNmC=3EAx8=lkg}pT@QW;htqvCM3Aepo<=#|^112;>Jw?&Snf|> zZYR+-f-VTeIRSBxXyDMuaIN_xowRzr>!UiCttE(I;Iu=LmLKRAfgZDN&ipsYT1v1@9J(%8fwO)FttKaX{UX=+-S-(m0l3G@OH4vS z0^(~2?383Oua$31n*h-2&`JTedmP&5V1xic2mK_DRe`O zQSZVq+k1O)eW67R(R>iG9b^VqAl1!Azl>hr%7UaDfD|Vcut(I4xtw?%RHeppo0FMWNBt?PGMb21K0UkMPcp`|)SOm&b+>tDwk$`6X?8 z+ZJ)Jl$rD*jViEebRg3}h+p5nIGVi<%K1&CSq>5_WW;P9hNN6e2nq33oy}7mZEok6|rRt=@p8OEY z%Ntd*5=`xg=LEJDF&Kn=Al970<3~0geJM1YoF5@Ug!hI2(ah4m0j&&i*F-aAdp_fT z{1~w{Twb2p(9+T(t%4w4j`6vecwZc-LDSevu!>x>wYSey`>G?rHVc{*sE+MmClYi# z1d(GGvVn%SreW>I^V16((6*rhR31t|x{HCBRn)pI@I?4Xc^Qx?Upemvydwcs6^naWm zPTHUdo&1dk5k3iERb_!AWtBmn*?0uJxMl%zT78?#3M zasLw{;j>PI;A7|Y>ViH9{A(cMU$?Zh+}_>&=Do^i^_yFFOtMcJ8hsqs#(D+kq1&b( z@*jSTs`M@Zd^|6~TY(e{csRd+0P*}(P99cP=J3wm)O5LS>2T9i2EZwi+w2asye+`SEyk+pJX$Gcs}U80jjvlS zRfj%QaIz7ADya{K9B@IrJDTz6KMhPx+)ro4{{zSx5ENAAwr8^DoD*{(eG1C89vlad zE?59LXmkq+3tNDyJn`$-H6}j&m;FYZ#uFx-iJM7R%;EL*^(&wXL6#VT{{sR~D@dJP zw=rBP)YsP+rysl~_n{3CyhR4Q$%w)k`8zZsqW#AYdeLt(9_-myEJg>fPws(h-yaMB z(f~2guQtY~`#b0n^iF}wtG>(xvh+`ntp>!S1Y3wQ#%}VG%v}4M5hgTRjqR34$J;CE zK(vEXL*tuKNCgEV_lt8T&U}USN|oebKw2REZ(u{gt)g#(?NcaFE%FfFLTV1cgD0fr zIcz4R{EW-wjS!_!fYxttlz|>7vwMqS&=8n4^5s>xVBQ!M9`~coUdUiKRbShO_v(pSs%zEzO`uX{R1uX%* zO@jcHkaw8a*kz41pwc30FQDKe0@Tn0);c|%3T8A;&tqHI*NG+{5m>5kx8#l0X29+U zUQJRCJrpq3A(#xlFT3+&yR{TOyEu}LJb1Y0$znX1=3-!?_V5!3`(s$wtrMZLU&w*y zcqJ?9&A_K?Ab+=Auh4yuLoJ+wNkFe>VId7g598LYTxgiB-)_N%{@`SAPz@BQvBR05 z6+C)1h*$C457`)#-n)pz51Y;98Is56eeU`WkGc=mGheq!7;&{A?k6aCIZy(S21YQs zDAYQdAr96*ZC~eqc6Wz;`g9MBroGV2T{QVxTbmTh94r;wSpon%?2fnfp}|+e)s-I{ zJ2t98?o4Fq(AmJ zEELkLL_xWZhy1+&mWWXT4%xjB7jQ(=2OJhUoG?T>F_Gm$3fMbba#SNNYtF>urDU7! z{rv|JT+o?_*ag9WVQf{V-})|wNtxaUPl?KGFf-7p@fL!;BVfyIHAJjxAV;Gb`FQr2 z?0Jow85*|2iQp-K3R0HgjH?euJgC<+-Gakl`uq?RBL+uahd*yfx8PJ_FjMcgK3Nq7 zWn>V#h~wB^hjtoeiiO-^(fAgC*jvFTg_LDD%)ycE`X{JqNN+O|mEfuJ|NGYn=>`WY z5m)(Ot}HqD;pCu^5+L6I5DT%aa9fPw_=1~l`{(_r+k}K|aGp!x-MFf9=_ocARU~b0 z8erSJhS?{_8fkJn1-1BAPW$&kBknLI+n?kC&h~`84;iiO)Y`;t?G&ziz4h@Uqo760 zlpbQ;$nx683Q1Z%A}8QK`rFbFKSg2R^fYd9`)sAjpzGWD-yStZ!q!Kzj*IqWA0K2W zeZCjnDO8iUCWzD8>|EEb$KkucPkJlp&!%kIuK;~g^{?ZkQ5_0|H$pQ}Q0_*cKahO> zbsXE`+V2fs^NPFl(U?nn0{;#KHH%ayblBqGGKPM5l6+g^L8xrgtk26FrS!1&`B|>H zRQuN?-HUhp@71flI(QVxD>HolK`u{3NNs=nZm$W~N^Rt*`N3@9-Ab$0Z!B+;h`Z|z zl9uZ3VR#c`-Js&QM1`lUyUnP{4pYqs+axV@+{0*$mCE67nJr&+#CmpH`16<3i~hB# zT{_z8;;>$mw{m%JVRRa!_XnT+iDSptZ<@`T+@MYG7ac#a$P+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/docs/latex/add_8cpp.tex b/docs/latex/add_8cpp.tex new file mode 100644 index 0000000..935d0ef --- /dev/null +++ b/docs/latex/add_8cpp.tex @@ -0,0 +1,11 @@ +\doxysection{src/vector/add.cpp File Reference} +\hypertarget{add_8cpp}{}\label{add_8cpp}\index{src/vector/add.cpp@{src/vector/add.cpp}} +{\ttfamily \#include $<$algorithm$>$}\newline +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include $<$stdexcept$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/add_8cpp__incl.md5 b/docs/latex/add_8cpp__incl.md5 new file mode 100644 index 0000000..6e88c20 --- /dev/null +++ b/docs/latex/add_8cpp__incl.md5 @@ -0,0 +1 @@ +ce759b8a94ca309303622a6c8b872ce3 \ No newline at end of file diff --git a/docs/latex/add_8cpp__incl.pdf b/docs/latex/add_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..71265d87ccbcfd606ef491e8ea8d425e3650cbda GIT binary patch literal 11940 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 N0!E^w6qXf1`aiF(!I}U7 literal 0 HcmV?d00001 diff --git a/docs/latex/angle__with_8cpp.tex b/docs/latex/angle__with_8cpp.tex new file mode 100644 index 0000000..cffd287 --- /dev/null +++ b/docs/latex/angle__with_8cpp.tex @@ -0,0 +1,10 @@ +\doxysection{src/vector/angle\+\_\+with.cpp File Reference} +\hypertarget{angle__with_8cpp}{}\label{angle__with_8cpp}\index{src/vector/angle\_with.cpp@{src/vector/angle\_with.cpp}} +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include $<$stdexcept$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/angle__with_8cpp__incl.md5 b/docs/latex/angle__with_8cpp__incl.md5 new file mode 100644 index 0000000..2287910 --- /dev/null +++ b/docs/latex/angle__with_8cpp__incl.md5 @@ -0,0 +1 @@ +b9cd3bd5e9b3a399701f2ae67e83fd34 \ No newline at end of file diff --git a/docs/latex/angle__with_8cpp__incl.pdf b/docs/latex/angle__with_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aa968badf34713fff12dca3bb0192f357ebc6388 GIT binary patch literal 12453 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 G#{U5`MraxU literal 0 HcmV?d00001 diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex new file mode 100644 index 0000000..a7a321b --- /dev/null +++ b/docs/latex/annotated.tex @@ -0,0 +1,4 @@ +\doxysection{Class List} +Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} \\*Represents a mathematical vector in n-\/dimensional space }{\pageref{classFirefly_1_1Vector}}{} +\end{DoxyCompactList} diff --git a/docs/latex/area_8cpp.tex b/docs/latex/area_8cpp.tex new file mode 100644 index 0000000..c70e5cf --- /dev/null +++ b/docs/latex/area_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/area.cpp File Reference} +\hypertarget{area_8cpp}{}\label{area_8cpp}\index{src/vector/area.cpp@{src/vector/area.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/area_8cpp__incl.md5 b/docs/latex/area_8cpp__incl.md5 new file mode 100644 index 0000000..75059eb --- /dev/null +++ b/docs/latex/area_8cpp__incl.md5 @@ -0,0 +1 @@ +a0c7dd2de3c0dce2be9aed8fba73219c \ No newline at end of file diff --git a/docs/latex/area_8cpp__incl.pdf b/docs/latex/area_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..20104b6bf2cbc8d46986b0465bb3c20a6e5972ce GIT binary patch literal 11061 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 literal 0 HcmV?d00001 diff --git a/docs/latex/classFirefly_1_1Vector.tex b/docs/latex/classFirefly_1_1Vector.tex new file mode 100644 index 0000000..2ac4683 --- /dev/null +++ b/docs/latex/classFirefly_1_1Vector.tex @@ -0,0 +1,725 @@ +\doxysection{Firefly\+::Vector Class Reference} +\hypertarget{classFirefly_1_1Vector}{}\label{classFirefly_1_1Vector}\index{Firefly::Vector@{Firefly::Vector}} + + +Represents a mathematical vector in n-\/dimensional space. + + + + +{\ttfamily \#include $<$vector.\+hpp$>$} + +\doxysubsubsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}{Vector}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \&\&)=delete +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}} ()=delete +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}{\texorpdfstring{$\sim$}{\string~}\+Vector}} ()=default +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac}{Vector}} (std\+::size\+\_\+t \+\_\+size) +\begin{DoxyCompactList}\small\item\em Constructs a vector of a specific size. \end{DoxyCompactList}\item +\mbox{\hyperlink{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b}{Vector}} (\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Vector\+Type}} const \&\+\_\+vec) +\begin{DoxyCompactList}\small\item\em Constructs a vector from a given Vector\+Type (std\+::vector). \end{DoxyCompactList}\item +\mbox{\hyperlink{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827}{Vector}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Copy constructor to create a new vector from an existing one. \end{DoxyCompactList}\item +std\+::string \mbox{\hyperlink{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}{View}} () const +\begin{DoxyCompactList}\small\item\em Returns a string representation of the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}} (std\+::size\+\_\+t idx) const +\begin{DoxyCompactList}\small\item\em Retrieves the value at a specific index in the vector (const version). \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& \mbox{\hyperlink{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d}{At}} (std\+::size\+\_\+t idx) +\begin{DoxyCompactList}\small\item\em Retrieves a reference to the value at a specific index in the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t idx) const +\begin{DoxyCompactList}\small\item\em Overloaded subscript operator to access the value at a specific index (const version). \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& \mbox{\hyperlink{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t idx) +\begin{DoxyCompactList}\small\item\em Overloaded subscript operator to access the value at a specific index. \end{DoxyCompactList}\item +std\+::size\+\_\+t \mbox{\hyperlink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size}} () const +\begin{DoxyCompactList}\small\item\em Returns the size (number of elements) of the vector. \end{DoxyCompactList}\item +std\+::size\+\_\+t \mbox{\hyperlink{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}{Rank}} () const +\begin{DoxyCompactList}\small\item\em Returns the rank (dimensionality) of the vector. It is same as \doxylink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size()} method. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector addition with another vector and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253}{Add}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Performs scalar addition with a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector addition. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363}{operator+}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar addition. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}{operator++}} () const +\begin{DoxyCompactList}\small\item\em Overloaded prefix increment operator to increment all elements of the vector by one. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}{Scale}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector scaling by a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}{operator\texorpdfstring{$\ast$}{*}}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector scaling. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector subtraction with another vector and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1}{Subtract}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Performs scalar subtraction with a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector subtraction. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27}{operator-\/}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar subtraction. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}{operator-\/-\/}} () const +\begin{DoxyCompactList}\small\item\em Overloaded prefix decrement operator to decrement all elements of the vector by one. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}{Dot}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the dot product between this vector and another vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}{Cross}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the cross product between this vector and another vector. Both vectors must have three dimensions. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}{Elem\+Sum}} () const +\begin{DoxyCompactList}\small\item\em Calculates the sum of all elements in the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}{Magnitude}} () const +\begin{DoxyCompactList}\small\item\em Calculates the magnitude (Euclidean norm) of the vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}{Normalize}} () const +\begin{DoxyCompactList}\small\item\em Returns a new vector that is the normalized version of this vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}{Angle\+With}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the angle between this vector and another vector in radians. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}{Is\+Zero}} () +\begin{DoxyCompactList}\small\item\em Checks if the vector is a zero vector (all elements are zero). \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}{Is\+Normalized}} () +\begin{DoxyCompactList}\small\item\em Checks if the vector is a unit vector (normalized with a magnitude of 1). \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}{Is\+Parallel}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Checks if this vector is parallel to another vector. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}{Is\+Orthogonal}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Checks if this vector is orthogonal (perpendicular) to another vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}{Parallelogram\+Area}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the area of the parallelogram spanned by this vector and another vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}{Triangle\+Area}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the area of the triangle formed by this vector and another vector. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsubsection*{Friends} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}{operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Overloaded stream insertion operator to print the vector to an output stream. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\doxysubsection{Detailed Description} +Represents a mathematical vector in n-\/dimensional space. + +The \doxylink{classFirefly_1_1Vector}{Vector} class provides various operations on vectors, such as addition, subtraction, scaling, dot product, cross product, normalization, angle calculation, and more. + +\doxysubsection{Constructor \& Destructor Documentation} +\Hypertarget{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}\label{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + +\Hypertarget{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}\label{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + +\Hypertarget{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}\label{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f} +\index{Firefly::Vector@{Firefly::Vector}!````~Vector@{\texorpdfstring{$\sim$}{\string~}Vector}} +\index{````~Vector@{\texorpdfstring{$\sim$}{\string~}Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Vector()}{\string~Vector()}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\texorpdfstring{$\sim$}{\string~}\+Vector (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}} + +\Hypertarget{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac}\label{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{\+\_\+size }\end{DoxyParamCaption})} + + + +Constructs a vector of a specific size. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+size} & The size of the vector. \\ +\hline +\end{DoxyParams} +\Hypertarget{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b}\label{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Vector\+Type}} const \&}]{\+\_\+vec }\end{DoxyParamCaption})} + + + +Constructs a vector from a given Vector\+Type (std\+::vector). + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+vec} & The Vector\+Type representing the vector. \\ +\hline +\end{DoxyParams} +\Hypertarget{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827}\label{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Copy constructor to create a new vector from an existing one. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+f} & The source vector to copy from. \\ +\hline +\end{DoxyParams} + + +\doxysubsection{Member Function Documentation} +\Hypertarget{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253}\label{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253} +\index{Firefly::Vector@{Firefly::Vector}!Add@{Add}} +\index{Add@{Add}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Add()}{Add()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Performs scalar addition with a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}\label{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9} +\index{Firefly::Vector@{Firefly::Vector}!Add@{Add}} +\index{Add@{Add}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Add()}{Add()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector addition with another vector and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}\label{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d} +\index{Firefly::Vector@{Firefly::Vector}!AngleWith@{AngleWith}} +\index{AngleWith@{AngleWith}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{AngleWith()}{AngleWith()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Angle\+With (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the angle between this vector and another vector in radians. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the angle with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The angle between the two vectors in radians. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d}\label{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d} +\index{Firefly::Vector@{Firefly::Vector}!At@{At}} +\index{At@{At}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{At()}{At()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& Firefly\+::\+Vector\+::\+At (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption})} + + + +Retrieves a reference to the value at a specific index in the vector. + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A reference to the value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}\label{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325} +\index{Firefly::Vector@{Firefly::Vector}!At@{At}} +\index{At@{At}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{At()}{At()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+At (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption}) const} + + + +Retrieves the value at a specific index in the vector (const version). + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}\label{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb} +\index{Firefly::Vector@{Firefly::Vector}!Cross@{Cross}} +\index{Cross@{Cross}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Cross()}{Cross()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Cross (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the cross product between this vector and another vector. Both vectors must have three dimensions. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the cross product with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the cross product. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}\label{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649} +\index{Firefly::Vector@{Firefly::Vector}!Dot@{Dot}} +\index{Dot@{Dot}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Dot()}{Dot()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Dot (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the dot product between this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the dot product with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The dot product value. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}\label{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c} +\index{Firefly::Vector@{Firefly::Vector}!ElemSum@{ElemSum}} +\index{ElemSum@{ElemSum}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{ElemSum()}{ElemSum()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Elem\+Sum (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Calculates the sum of all elements in the vector. + +\begin{DoxyReturn}{Returns} +The sum of all elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}\label{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c} +\index{Firefly::Vector@{Firefly::Vector}!IsNormalized@{IsNormalized}} +\index{IsNormalized@{IsNormalized}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsNormalized()}{IsNormalized()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Normalized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Checks if the vector is a unit vector (normalized with a magnitude of 1). + +\begin{DoxyReturn}{Returns} +True if the vector is a unit vector, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}\label{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0} +\index{Firefly::Vector@{Firefly::Vector}!IsOrthogonal@{IsOrthogonal}} +\index{IsOrthogonal@{IsOrthogonal}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsOrthogonal()}{IsOrthogonal()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Orthogonal (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Checks if this vector is orthogonal (perpendicular) to another vector. + +Two vectors are considered orthogonal if their dot product is 0, indicating a 90-\/degree angle between them. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to check for orthogonality. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +True if the vectors are orthogonal, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}\label{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc} +\index{Firefly::Vector@{Firefly::Vector}!IsParallel@{IsParallel}} +\index{IsParallel@{IsParallel}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsParallel()}{IsParallel()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Parallel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Checks if this vector is parallel to another vector. + +Two vectors are considered parallel if their direction is the same or opposite. To determine parallelism, the function calculates the angle between the vectors and checks if it is either 0 degrees or 180 degrees (pi radians). + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to check for parallelism. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +True if the vectors are parallel, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}\label{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd} +\index{Firefly::Vector@{Firefly::Vector}!IsZero@{IsZero}} +\index{IsZero@{IsZero}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsZero()}{IsZero()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Zero (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Checks if the vector is a zero vector (all elements are zero). + +\begin{DoxyReturn}{Returns} +True if the vector is a zero vector, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}\label{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d} +\index{Firefly::Vector@{Firefly::Vector}!Magnitude@{Magnitude}} +\index{Magnitude@{Magnitude}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Magnitude()}{Magnitude()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Magnitude (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Calculates the magnitude (Euclidean norm) of the vector. + +\begin{DoxyReturn}{Returns} +The magnitude of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}\label{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3} +\index{Firefly::Vector@{Firefly::Vector}!Normalize@{Normalize}} +\index{Normalize@{Normalize}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Normalize()}{Normalize()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Normalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns a new vector that is the normalized version of this vector. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new normalized vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}\label{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f} +\index{Firefly::Vector@{Firefly::Vector}!operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}} +\index{operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator\texorpdfstring{$\ast$}{*}()}{operator*()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator\texorpdfstring{$\ast$}{*} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector scaling. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to scale the vector by. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the scaled result. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363}\label{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363} +\index{Firefly::Vector@{Firefly::Vector}!operator+@{operator+}} +\index{operator+@{operator+}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform scalar addition. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}\label{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332} +\index{Firefly::Vector@{Firefly::Vector}!operator+@{operator+}} +\index{operator+@{operator+}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector addition. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}\label{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7} +\index{Firefly::Vector@{Firefly::Vector}!operator++@{operator++}} +\index{operator++@{operator++}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator++ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Overloaded prefix increment operator to increment all elements of the vector by one. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector with incremented elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27}\label{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} +\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform scalar subtraction. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}\label{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} +\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector subtraction. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}\label{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/-\/@{operator-\/-\/}} +\index{operator-\/-\/@{operator-\/-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Overloaded prefix decrement operator to decrement all elements of the vector by one. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector with decremented elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17}\label{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17} +\index{Firefly::Vector@{Firefly::Vector}!operator\mbox{[}\mbox{]}@{operator[]}} +\index{operator\mbox{[}\mbox{]}@{operator[]}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& Firefly\+::\+Vector\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption})} + + + +Overloaded subscript operator to access the value at a specific index. + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A reference to the value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}\label{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28} +\index{Firefly::Vector@{Firefly::Vector}!operator\mbox{[}\mbox{]}@{operator[]}} +\index{operator\mbox{[}\mbox{]}@{operator[]}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption}) const} + + + +Overloaded subscript operator to access the value at a specific index (const version). + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}\label{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e} +\index{Firefly::Vector@{Firefly::Vector}!ParallelogramArea@{ParallelogramArea}} +\index{ParallelogramArea@{ParallelogramArea}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{ParallelogramArea()}{ParallelogramArea()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Parallelogram\+Area (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the area of the parallelogram spanned by this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector forming the parallelogram. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The area of the parallelogram. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}\label{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a} +\index{Firefly::Vector@{Firefly::Vector}!Rank@{Rank}} +\index{Rank@{Rank}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Rank()}{Rank()}} +{\footnotesize\ttfamily std\+::size\+\_\+t Firefly\+::\+Vector\+::\+Rank (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns the rank (dimensionality) of the vector. It is same as \doxylink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size()} method. + +\begin{DoxyReturn}{Returns} +The rank of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}\label{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df} +\index{Firefly::Vector@{Firefly::Vector}!Scale@{Scale}} +\index{Scale@{Scale}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Scale()}{Scale()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector scaling by a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to scale the vector by. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the scaled result. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}\label{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba} +\index{Firefly::Vector@{Firefly::Vector}!Size@{Size}} +\index{Size@{Size}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Size()}{Size()}} +{\footnotesize\ttfamily std\+::size\+\_\+t Firefly\+::\+Vector\+::\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns the size (number of elements) of the vector. + +\begin{DoxyReturn}{Returns} +The size of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1}\label{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1} +\index{Firefly::Vector@{Firefly::Vector}!Subtract@{Subtract}} +\index{Subtract@{Subtract}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Subtract()}{Subtract()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Performs scalar subtraction with a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}\label{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c} +\index{Firefly::Vector@{Firefly::Vector}!Subtract@{Subtract}} +\index{Subtract@{Subtract}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Subtract()}{Subtract()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector subtraction with another vector and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}\label{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff} +\index{Firefly::Vector@{Firefly::Vector}!TriangleArea@{TriangleArea}} +\index{TriangleArea@{TriangleArea}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{TriangleArea()}{TriangleArea()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Triangle\+Area (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the area of the triangle formed by this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector forming the triangle. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The area of the triangle. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}\label{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39} +\index{Firefly::Vector@{Firefly::Vector}!View@{View}} +\index{View@{View}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{View()}{View()}} +{\footnotesize\ttfamily std\+::string Firefly\+::\+Vector\+::\+View (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns a string representation of the vector. + +\begin{DoxyReturn}{Returns} +A string representation of the vector. +\end{DoxyReturn} + + +\doxysubsection{Friends And Related Symbol Documentation} +\Hypertarget{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}\label{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551} +\index{Firefly::Vector@{Firefly::Vector}!operator$<$$<$@{operator$<$$<$}} +\index{operator$<$$<$@{operator$<$$<$}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}} +{\footnotesize\ttfamily std\+::ostream \& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}} + + + +Overloaded stream insertion operator to print the vector to an output stream. + + +\begin{DoxyParams}{Parameters} +{\em os} & The output stream. \\ +\hline +{\em \+\_\+fvec} & The vector to print. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The output stream after printing the vector. +\end{DoxyReturn} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +headers/firefly/\mbox{\hyperlink{vector_8hpp}{vector.\+hpp}}\item +src/vector/\mbox{\hyperlink{add_8cpp}{add.\+cpp}}\item +src/vector/\mbox{\hyperlink{angle__with_8cpp}{angle\+\_\+with.\+cpp}}\item +src/vector/\mbox{\hyperlink{area_8cpp}{area.\+cpp}}\item +src/vector/\mbox{\hyperlink{cross_8cpp}{cross.\+cpp}}\item +src/vector/\mbox{\hyperlink{dot_8cpp}{dot.\+cpp}}\item +src/vector/\mbox{\hyperlink{elem__sum_8cpp}{elem\+\_\+sum.\+cpp}}\item +src/vector/\mbox{\hyperlink{indexers_8cpp}{indexers.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__normalized_8cpp}{is\+\_\+normalized.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__orthogonal_8cpp}{is\+\_\+orthogonal.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__parallel_8cpp}{is\+\_\+parallel.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__zero_8cpp}{is\+\_\+zero.\+cpp}}\item +src/vector/\mbox{\hyperlink{magnitude_8cpp}{magnitude.\+cpp}}\item +src/vector/\mbox{\hyperlink{normalize_8cpp}{normalize.\+cpp}}\item +src/vector/\mbox{\hyperlink{rank_8cpp}{rank.\+cpp}}\item +src/vector/\mbox{\hyperlink{scale_8cpp}{scale.\+cpp}}\item +src/vector/\mbox{\hyperlink{subtract_8cpp}{subtract.\+cpp}}\item +src/vector/\mbox{\hyperlink{vector_8cpp}{vector.\+cpp}}\item +src/vector/\mbox{\hyperlink{view_8cpp}{view.\+cpp}}\end{DoxyCompactItemize} diff --git a/docs/latex/classFirefly_1_1Vector__coll__graph.md5 b/docs/latex/classFirefly_1_1Vector__coll__graph.md5 new file mode 100644 index 0000000..ee10088 --- /dev/null +++ b/docs/latex/classFirefly_1_1Vector__coll__graph.md5 @@ -0,0 +1 @@ +c2f5e527626361316bdbbff2c7dcca5d \ No newline at end of file diff --git a/docs/latex/classFirefly_1_1Vector__coll__graph.pdf b/docs/latex/classFirefly_1_1Vector__coll__graph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..82b11206ce15828fc106659303899dd70e8389c7 GIT binary patch literal 11558 zcmd6NbzD?i+qQ}#-3`Lf2m%w-(2aB>NO$)j4N6K#m$amGs~`>1-7O_4-6h|EM~~-y z&iDSF@4s(mezRw-z1G_MzV3UkS=YL5S_M&YW)KS}3T@R^@dXMS00^)(ut4GE1+dB( z+nB=40POH8B@_Svz$$KT1v7SlAFcFZ#-hfCwnoM%{QM}6Fb89OYZRB{-k2siQV>?a zj#n_$&2Q{&+4v?=k=i|!SVnuZibWiU*HKTHsRTtBr=-*B$W5b#=Lb;nr>edkg*JHe zrm`bs=gyBzn(2Q~`HKG*<%6};1K-C@qrQyDL!{9Zn(EBy$}!_~;Y(^_xQ1x;Q}Zu$ z=X{*oL_Vwd7N`5Xe77~Cp7xIZ3LVw*2t_-akjq>kuW8N84b=(VH*@m5{V+%SQcGl( zxhCv=zETqV0Gr+Af|2hM`7_S%mQ;)447scH?iOoLubUayL|~rIuUf!)<>Qb_osvl3 zdXYFg2O9a^zEXM=%IwZ8K!=#ws??#?u#P}9V{%aJk$t~&A!eyv(~b(0BD0tiLw>Df zb2dRY?F!P`7FI*#EK{=fJ-4uH%y+efqTfS6&swPo7QTY*VhBu{ICuL3?Zf+QeY!rs z?dsfmG^$=0jph+-+|n{{J(FwN%3Pz=pN$aIjzZsId$(EVhpcX20X79SLG)m*bq%%D z#0ORiGruj&MJ-fw^wZ-;^M~!{Ign#9Uw!$}qU|0ld6774R3U zJ`i32u!;x)Kmb-lefT##B;Y50ezS_(+Q9y3ZNdy>1_C&Kh1AUeH&q}2=dUVwKltab z>vR3SK7dul)y^2eDsNz+470wyo4?`{`l~0a8~}8CLfqWJ5e8uU>-Ya2vwXdED9u2; z2lI9E_5`bRidd8|Gyg@vQy6Zb66+8x@)`EUFJIrfw%(fb*`JGz)J2C_We5V~VbEqZ=qDqgB`A>HyD_xu}(7Fn{-ZSo2Ecum{b^nj=U?!=970kE}xWVu?3 z^pTUw2_YXxh1tt*mW<-Ko*+~%ye@}qh3_;r%vhuj3<59D5h{XliUmt*&I6`}N^IZT zJ`Djzz0oU=)Os&?z#D2=PuI;{ywl(+vn9M)hmd~1^+Bmne1ybo)~;-+)>)A%5Vg%W zW4#xB{mAK~NJ&5v`uUqmUmG4nWvVDo(J+VkN69lvt&Y$0y;xaPx*}tlJtbA`q7Eyb z9tE6j5IE$u$08_nKd4{?&g64qT0N!rd6q;vB>ZBQp#0m!zO@*K5DXIfGI9YmxiCkf z^ZK3ek(XT7Jkp&owcw_gl@ZUXG#g6|^9rWaEC*GX)C1iQS86yCIY~D*`bkm?D@CB# ztm1YY{zpcyx7qTt}*6^DXT~v~xMueoK#PXs`>w(%TpK zc!ZnnH+CRQhUc%;*ltx&Wa(#%iOY`hf~}@ac}ty;Vs%L^4ZqDU++Ce_J!mW^R&u@d zi|Q3(b`qzIny@w^JszzJO>O)@0syf^k0Sx|7(EPkmbtF5&T6&_3JmOBaP)9ov{GKd zX|G=vHK>%=O$&K&skaspi4j*yM39|zmcBHzFqxa%@3OPHpTpZ*!{*)dWb`tdUDHy_ zV`F(K*ZpMfYZcFCI~ze$K!?DnHGie|=e!mkBbLq>Oq*jBv)5m`tPwx4w-n#~q#Zyy zBiFKU|6s|%;zh6i#MbiN^|<^L%;>2^Phg=U zq^?TJOBRwKZpXws;=7YrD^? zwta5H&m2vFKFC2L+-w7ze|!ju(>EmcXqk8;&B5z2?iXqVotNc^mGyKSn-2LHro|^j zJY9=T5m4&MF%(drcfWa+DYb80%9yY)>%bpH^eeZnQMkG1I`Hko{5@ViCC0nRIm~Nx zUITBRE!Z)rg8Uc<=HDk$JjhEU4He>G{En}HzYIV^KRoAl6me(Iy8g%m%^PkaV-gZE zDXIm#hTaY8y}B-(Qw?-!3u|}63sx4 z&~PR3AnXmA4pr1MkuDJf&=Wn>Q!3-ggc6ntn^(OSghQGR>YAb9Hc+QjZ6j}whHsUh zc12?LU6nZ()B0F-at}xmd`0X_6N?nJ3Q{a9NksC3@;S!7Jm-}oT7N`Pz^N;1YsOPr zQ|l^neT+yM#UmH4N$`=sm`W}ounb+GHu4dDd9*84^f2|_`2?YZ4xiJ;Xfk2j+|^JF z!P(u-rja0?m>$pB8c&Dq8T#28)tszSp`I_ih2DTdXI!!d>}kq-=l%v-%^PiedZo`T z^GrTYAypRDw6o7hld4NJ92S<=*kaI_LCVXAFzOenugZbjZqyHfy6MWRGSm@o^-Jm1 z%e2@{=E@8SU&O=(Z|%P+j|;9c{8)d=-_L63J5P|)OP?}9i6S0IH9~?p!j;drnPE+S z!gY8WAQnhjs7;#nx^X_ifI&_A3GEn;W{{cz>x&pJX)W4qoVr$qW0h96HlkMfKnJk9 zvz#oa({K(YzwJ_eT@uIl>5uOsU6wc8 zZK1BZ0AVK!E3&@}njczenKc34Os-%|&UqommBWExxwVoMpXcV#lnOR53KESz)9+rH z{B_nL^#n_*`%J1rq0=3!m+=gpRgG`nub%Rw)bWzT^E-TuqGl{t`w96-xaDlPn+ua)){8)qsQHD1~npN=2!94+9h zjSFsWWgV^fjZ33cGq1Q2AifC4(SPvVcD|QlUEE02%|piq`EbwZc!eiuIcGmumFZc2 zDk5~ZE3o{UaC|~@yrhD23f9sWBJILM6JZ0(X@>%YCkY74dLxmxMQ34yZk~>wzFt0B za%v=~Nfs8Skhfvf!-t-VktP{+IPv6ePE(ovQ~qDBE=OuThkK_GW!1I&<$Gs+KT_11 zuHEs^B!Zos`ktVX60yt~?+cc_NtEPoZK_9lgM+K8KWx<{+8cn|X}lX08a=Fl9x_UW zCZ=9QU;}U-FhgjJEJF4n@*Ce$3)HUAP!;NE?uh5%;SB;U`~azvAK>fPf7frnw_;NY zQpF&dXG=QzVB*-)7jQRdfQ4@(&7JUIT8+(9reHpjR|z%*u2S@fAu9H-yg0iu$cW42 z>!QH-pQ6%fCJe$+>`GhGY!xqx8xI!P9X>67iZv6EZ$OwhYLgk>(ryTh!eZ_tF+G^_ z3KK)}$^REq3}&G)6~6e({Mp-muqL@WcYCQ8JV~Il{B{y! zkz2;vr`6yU;E;sLKu0m)dpZn2s(Lq)K;s_M`@lV8gd~1JHw8vhPbaty>bk2)v{k9G zC24kqu_;rVT15Y%rE#=id!yIH0V|iG-a33!I6Q|oi#CTg`)oLBm>XRVoz@RWM3T~* z0Xp)So{}C!|F}IZI(hgpeHDX~s<63%xl&#Oo2zQ>Q67HYo4lY$$~<&VG9B_g@?9sZ z^n|nowD@NsQSr1a($80PYjKyoE2RWrc+)p~6_IVL#*1g}=Y)UE67)jL) z;k}<4xbL}h-ZPD(p`Da+<)W{Ik{|zMva%$H?qc+eUVbly8FP1w)kdJcB0Hv727+2| z5zb5({Um2r*=Sh*WK(O@3KGEVb${|lsUPrSePO<`Wlh(z!j)~j&+MxddHsQCdDthP z)22tGqgR+upu;Fdrg3CuP}#A1cTNr7`nKF3Mf%Q7Y#cEfkI_@;JRi~ZrzanRp0nXR zo9>)4Tmo{Z>OGX1=p6I5wt}g-q$#HR2ud%>goF<%$^un)s7ECd``Spy1Oiyuj?n4l z{C1q{WR3>?;o)EOgwyEPO7{sX4%C!n$ppKlC9W0WE z>)tIeRBJ7Mt%==0`l6lK4=faH1ildbD)c=UvGBB(@k_rIv%sXsIPWp6t@5+3&Q-+$ zD&hF5XIpK{c6cNw6BARKUjL!D(ZPHAu8P3qI=-t4PI8w#1|cu(4`s77-kQk*)OgGc zt*dzR(cd%f#bpZS02P?s4kl|pWM1LEZN}zWVDuWbTDDt^^W`y5E$u6-3S1csCpEqgW}NSl z3DPpzn!-ozt3ced8?$N!iH7R4(7nO2iG{nv3Q0*xq*Imr5k2f=s7Z*V!B3?-B_B&^ zq$vrlAH^^|E_%#S{;u@PxtGP4YrQ`0fE4w;uD!(emH4fE*Y82O&Z8q}#m_5USc|pG z=cmJEmwp^^41YR1e$?OaBdIh}fXh=d2`zrDih^eLb7%`}!2pC+gcY45=~wbRzDHWk zCCfD=BmE&Be_VYK42-3vaIeUUH>r)FT({Kp?6KG6*U7Y%ot>}oGkH~`m!y~~rS2O1 zN37O6;psmLHLtEO^()(qKg3!aPCr(y%vFw=GqF|n9{KvlS-}GZ&ooJ1%U$!ZXf9z_ z^NJO6m{xdHLeX8Mbl=$4eNto+B{IEo-1UN!z+*X_L6`>p?nJY-P1hm;{`ht2+;wK4 zu`qk`I~We5KIybrm9RysG&BAspwQ=RWS@>lBx2Ba>V*(>a&Ba{9U>FHUM8jQ^Sdl4 z7@U*$xkTB@*N$Vw_6QgZV@0~^q^caWp$|P{UAv&Px^LUTc7YxEpBYRSG-nWY1aVX< zn1GmJ^Q#H3s=5@uJb1QCrq;~<{L9Q&hyo(dy9AfLa;QRc$XVTp!}Da{qL>whYiRk< zLF+8`2OO400+rLJ6MZZZTBh?n>Or_J$i$+EtTaF5af=+;yqS8G1-0}@p3c3QdhPz) z((N?mC10z*okf|V^9$DvRsoG+1Q$- z(Sw0{O0ySgL8&QPo|HF{)t9EQuR-fkysVjnyY*2f$gEf7QYY#?mc?U%cN;XrcRrwu zW zagY%^>+AbV#_LdxAM{7`2v=z%rpG&j0k|F(M+bwFOR?Xq=AppNo?)y7$QAY#cMOt(xu%VX-yZpMX(w;Zf=XdV4l9MH0PYB~<4D zVl%uD!DlG?EQlS!B~4mKSX!+#?=xzLpA^Uo6+^{c%;%gKY<75B}dYyJ04TaCz($5X5h-S^9`%n;w@zNZ?<;yB`q0{HKXccIff$9^ep zeBpL)j_uAWLX4#(f3wOsi4Tvr=2)-QkDc_6%WEO^4VUCQvw8#zRjw6oVU_oT!zG5E z<*jrJ7YRJI+F$(YbLz?cql&D-ap5D5t<7 zi?o>um!24A!6A&~rNQmR!D5Y|!;KBC^eys%%aZ9Q4q{Yq0$zo#AK9pO?;)}Jbg zXG)tY+4?nii3dl%2;7?I;=zQoNmKuL4?T#UHZ|h3rgaG?T(U6MMP(5i!BXv^*qhdk z78q-+%W2i)#a%_-S{c_ZXQ92R7zL(!0wpiPRuLRs=5}8k%%_D>r@^gP4^A}+x2H+* zE>P@jvn9Tx8)QE`!5Vf?wENf^PrDs;8uidw>arIj{#2HG+isx*wbUm-C1xoE=VQY> z)--MXe4}-L`)lh5rK%Nm&M);UpzOKnk@0jutJIRkI{XwXCAbfy772S(j%XqU($fzmA+WpkkGR3 zQ(IW}h{E%i1(M1IzMr}pb)~ebo3WT^i-C64t;RUgGy%`O%V2q@{;k>4_L6rA z0W5K!o-PU#@-H+#AnA)gb;0ekY;I4qv%w{hOs3vb48o*e>Zk4FDF5<(?=+%SLwZjr zA5SXzahc#ETF@}9+-CThEZ68OWturw`|?&v*TjSoKUb1DLSpJ|>2|FkT=Q>1lUz-K zOK(})B$n!Q$T+!$L!%Q6+udox>NE)rY3GWTv~k)M`iX)vCDsjK_rs*@f)%;LV2emW zE#3C&P>fhEzY{ExMBoL(928Lm=b>>sx2H89wf=H1K*?j8{oC=!b z%}xBP#8O)d?ZYF3G?~w9nT9!!-02MhaEEO_hQNY8PJ@c#wX>jQ@sHe(OM_Cmk4yDW zVBg2s8EWwL##zV**5`mnfQ8gcuGs`a9% z@%7eR>AK8&C%y7Mqq(FP8VzOn&yC>Q?cKk2g4x-@kl$Oue{a+O+TaC%Zj_w=PPWlj z>bCI%qSdZ4In0o&3A$KkBjru$a2>uI^14G~5~3oEH-X@-%cEnRP2L#Y>9W`=*SF=k znIlWLqYrvy<&d0=Udl4ACx~J9Hn}6FGJ4Xc;FQyGN6e>lw%!K#(MHQ}41Ctu>xBB5 zmv_?mVSV08$uM+#3)O~Hu((0AI1F;V+n<2fLF=sTf?;wVI>VkH4!FiAedSVL=9!5hKf*& z2~k7Y;h*14#r3Vtty}>NkAK!!>6T&ysLU-(ARQ2Imtxsi!(!u_9c{2b580CuYfsW>

36Q^WAnXm`T+cjU+zPg} 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d9/d8b/is__parallel_8cpp.tex b/docs/latex/d9/d8b/is__parallel_8cpp.tex new file mode 100644 index 0000000..d690441 --- /dev/null +++ b/docs/latex/d9/d8b/is__parallel_8cpp.tex @@ -0,0 +1,16 @@ +\doxysection{src/vector/is\+\_\+parallel.cpp File Reference} +\hypertarget{is__parallel_8cpp}{}\label{is__parallel_8cpp}\index{src/vector/is\_parallel.cpp@{src/vector/is\_parallel.cpp}} +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for is\+\_\+parallel.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d7/d02/is__parallel_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d9/dae/is__zero_8cpp__incl.md5 b/docs/latex/d9/dae/is__zero_8cpp__incl.md5 new file mode 100644 index 0000000..2b78002 --- /dev/null +++ b/docs/latex/d9/dae/is__zero_8cpp__incl.md5 @@ -0,0 +1 @@ +03866e777f3598ca15eea629721ab150 \ No newline at end of file diff --git a/docs/latex/d9/dae/is__zero_8cpp__incl.pdf b/docs/latex/d9/dae/is__zero_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..92f54e83c58931f06225424128cdd452d8f3b917 GIT binary patch literal 12034 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 R2Z6Y6_d7Z|2}KzC{{jc*=sW-b literal 0 HcmV?d00001 diff --git a/docs/latex/da/d16/vector_8hpp.tex b/docs/latex/da/d16/vector_8hpp.tex new file mode 100644 index 0000000..a0fb37c --- /dev/null +++ b/docs/latex/da/d16/vector_8hpp.tex @@ -0,0 +1,47 @@ +\doxysection{headers/firefly/vector.hpp File Reference} +\hypertarget{vector_8hpp}{}\label{vector_8hpp}\index{headers/firefly/vector.hpp@{headers/firefly/vector.hpp}} +{\ttfamily \#include $<$cstddef$>$}\newline +{\ttfamily \#include $<$memory$>$}\newline +{\ttfamily \#include $<$ostream$>$}\newline +{\ttfamily \#include $<$vector$>$}\newline +Include dependency graph for vector.\+hpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{df/d29/vector_8hpp__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{de/dc4/vector_8hpp__dep__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} +\begin{DoxyCompactList}\small\item\em Represents a mathematical vector in n-\/dimensional space. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +using \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} = float +\item +using \mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Firefly\+::\+Vector\+Type}} = std\+::vector$<$ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} $>$ +\end{DoxyCompactItemize} + + +\doxysubsection{Typedef Documentation} +\Hypertarget{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}\label{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e} +\index{vector.hpp@{vector.hpp}!Real@{Real}} +\index{Real@{Real}!vector.hpp@{vector.hpp}} +\doxysubsubsection{\texorpdfstring{Real}{Real}} +{\footnotesize\ttfamily using \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} = float} + diff --git a/docs/latex/da/d16/vector_8hpp_source.tex b/docs/latex/da/d16/vector_8hpp_source.tex new file mode 100644 index 0000000..1d5927f --- /dev/null +++ b/docs/latex/da/d16/vector_8hpp_source.tex @@ -0,0 +1,86 @@ +\doxysection{vector.\+hpp} +\hypertarget{vector_8hpp_source}{}\label{vector_8hpp_source}\index{headers/firefly/vector.hpp@{headers/firefly/vector.hpp}} +\mbox{\hyperlink{vector_8hpp}{Go to the documentation of this file.}} +\begin{DoxyCode}{0} +\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} +\DoxyCodeLine{00002\ } +\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00007\ } +\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#ifdef\ DOUBLE\_PRECISION}} +\DoxyCodeLine{00009\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ double;} +\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#else}} +\DoxyCodeLine{00011\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ float;} +\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#endif}} +\DoxyCodeLine{00013\ } +\DoxyCodeLine{00014\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceFirefly}{Firefly}}\ \{} +\DoxyCodeLine{00015\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{VectorType}}\ =\ std::vector;} +\DoxyCodeLine{00016\ } +\DoxyCodeLine{00025\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \{} +\DoxyCodeLine{00026\ \ \ std::shared\_ptr\ m\_vec;} +\DoxyCodeLine{00027\ } +\DoxyCodeLine{00028\ \textcolor{keyword}{public}:} +\DoxyCodeLine{00029\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}{Vector}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \&\&)\ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00030\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}()\ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00031\ } +\DoxyCodeLine{00032\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}{\string~Vector}}()\ =\ \textcolor{keywordflow}{default};} +\DoxyCodeLine{00033\ } +\DoxyCodeLine{00038\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(std::size\_t\ \_size);} +\DoxyCodeLine{00043\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{VectorType}}\ \textcolor{keyword}{const}\ \&\_vec);} +\DoxyCodeLine{00048\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00049\ } +\DoxyCodeLine{00054\ \ \ [[nodiscard]]\ std::string\ \mbox{\hyperlink{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}{View}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00062\ \ \ \textcolor{keyword}{friend}\ std::ostream\ \&\mbox{\hyperlink{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}{operator<<}}(std::ostream\ \&os,\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00063\ } +\DoxyCodeLine{00070\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}}(std::size\_t\ idx)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00077\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \&\mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}}(std::size\_t\ idx);} +\DoxyCodeLine{00084\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator[]}}(std::size\_t\ idx)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00091\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \&\mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator[]}}(std::size\_t\ idx);} +\DoxyCodeLine{00092\ } +\DoxyCodeLine{00097\ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00098\ } +\DoxyCodeLine{00104\ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}{Rank}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00105\ } +\DoxyCodeLine{00113\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00121\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00128\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00135\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00141\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}{operator++}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00142\ } +\DoxyCodeLine{00149\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}{Scale}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00150\ } +\DoxyCodeLine{00156\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}{operator*}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00157\ } +\DoxyCodeLine{00165\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00173\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00180\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00187\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00193\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}{operator-\/-\/}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00194\ } +\DoxyCodeLine{00200\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}{Dot}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00201\ } +\DoxyCodeLine{00209\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}{Cross}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00210\ } +\DoxyCodeLine{00215\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}{ElemSum}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00216\ } +\DoxyCodeLine{00221\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}{Magnitude}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00222\ } +\DoxyCodeLine{00227\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}{Normalize}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00228\ } +\DoxyCodeLine{00235\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}{AngleWith}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00236\ } +\DoxyCodeLine{00241\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}{IsZero}}();} +\DoxyCodeLine{00242\ } +\DoxyCodeLine{00248\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}{IsNormalized}}();} +\DoxyCodeLine{00260\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}{IsParallel}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00271\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}{IsOrthogonal}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00272\ } +\DoxyCodeLine{00279\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}{ParallelogramArea}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00286\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}{TriangleArea}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00287\ \};} +\DoxyCodeLine{00288\ } +\DoxyCodeLine{00289\ \}\ \textcolor{comment}{//\ namespace\ Firefly}} + +\end{DoxyCode} diff --git a/docs/latex/da/d19/indexers_8cpp__incl.md5 b/docs/latex/da/d19/indexers_8cpp__incl.md5 new file mode 100644 index 0000000..024c611 --- /dev/null +++ b/docs/latex/da/d19/indexers_8cpp__incl.md5 @@ -0,0 +1 @@ +110bc31bdecae4c53382fdc2c9ae43a1 \ No newline at end of file diff --git a/docs/latex/da/d19/indexers_8cpp__incl.pdf b/docs/latex/da/d19/indexers_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..715b517c26963c726670a0c9767d46af24a93597 GIT binary patch literal 11629 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 literal 0 HcmV?d00001 diff --git a/docs/latex/da/d60/is__zero_8cpp.tex b/docs/latex/da/d60/is__zero_8cpp.tex new file mode 100644 index 0000000..ba490fc --- /dev/null +++ b/docs/latex/da/d60/is__zero_8cpp.tex @@ -0,0 +1,17 @@ +\doxysection{src/vector/is\+\_\+zero.cpp File Reference} +\hypertarget{is__zero_8cpp}{}\label{is__zero_8cpp}\index{src/vector/is\_zero.cpp@{src/vector/is\_zero.cpp}} +{\ttfamily \#include $<$algorithm$>$}\newline +{\ttfamily \#include $<$functional$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for is\+\_\+zero.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{d9/dae/is__zero_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/da/dce/main_8cpp__incl.md5 b/docs/latex/da/dce/main_8cpp__incl.md5 new file mode 100644 index 0000000..a8d429a --- /dev/null +++ b/docs/latex/da/dce/main_8cpp__incl.md5 @@ -0,0 +1 @@ +571eca9bf63b8041faaa9a24372628eb \ No newline at end of file diff --git a/docs/latex/da/dce/main_8cpp__incl.pdf b/docs/latex/da/dce/main_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0c3759198b11ac50dafdcc286eed42c43eab6c7c GIT binary patch literal 12093 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 + + + +Collaboration diagram for Firefly\+::Vector\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=170pt]{dd/d5d/classFirefly_1_1Vector__coll__graph} +\end{center} +\end{figure} +\doxysubsubsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}{Vector}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \&\&)=delete +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}} ()=delete +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}{\texorpdfstring{$\sim$}{\string~}\+Vector}} ()=default +\item +\mbox{\hyperlink{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac}{Vector}} (std\+::size\+\_\+t \+\_\+size) +\begin{DoxyCompactList}\small\item\em Constructs a vector of a specific size. \end{DoxyCompactList}\item +\mbox{\hyperlink{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b}{Vector}} (\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Vector\+Type}} const \&\+\_\+vec) +\begin{DoxyCompactList}\small\item\em Constructs a vector from a given Vector\+Type (std\+::vector). \end{DoxyCompactList}\item +\mbox{\hyperlink{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827}{Vector}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Copy constructor to create a new vector from an existing one. \end{DoxyCompactList}\item +std\+::string \mbox{\hyperlink{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}{View}} () const +\begin{DoxyCompactList}\small\item\em Returns a string representation of the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}} (std\+::size\+\_\+t idx) const +\begin{DoxyCompactList}\small\item\em Retrieves the value at a specific index in the vector (const version). \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& \mbox{\hyperlink{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d}{At}} (std\+::size\+\_\+t idx) +\begin{DoxyCompactList}\small\item\em Retrieves a reference to the value at a specific index in the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t idx) const +\begin{DoxyCompactList}\small\item\em Overloaded subscript operator to access the value at a specific index (const version). \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& \mbox{\hyperlink{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t idx) +\begin{DoxyCompactList}\small\item\em Overloaded subscript operator to access the value at a specific index. \end{DoxyCompactList}\item +std\+::size\+\_\+t \mbox{\hyperlink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size}} () const +\begin{DoxyCompactList}\small\item\em Returns the size (number of elements) of the vector. \end{DoxyCompactList}\item +std\+::size\+\_\+t \mbox{\hyperlink{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}{Rank}} () const +\begin{DoxyCompactList}\small\item\em Returns the rank (dimensionality) of the vector. It is same as \doxylink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size()} method. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector addition with another vector and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253}{Add}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Performs scalar addition with a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector addition. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363}{operator+}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar addition. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}{operator++}} () const +\begin{DoxyCompactList}\small\item\em Overloaded prefix increment operator to increment all elements of the vector by one. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}{Scale}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector scaling by a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}{operator\texorpdfstring{$\ast$}{*}}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector scaling. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Performs vector subtraction with another vector and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1}{Subtract}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Performs scalar subtraction with a real value and returns the result as a new vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector subtraction. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27}{operator-\/}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const +\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar subtraction. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}{operator-\/-\/}} () const +\begin{DoxyCompactList}\small\item\em Overloaded prefix decrement operator to decrement all elements of the vector by one. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}{Dot}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the dot product between this vector and another vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}{Cross}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the cross product between this vector and another vector. Both vectors must have three dimensions. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}{Elem\+Sum}} () const +\begin{DoxyCompactList}\small\item\em Calculates the sum of all elements in the vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}{Magnitude}} () const +\begin{DoxyCompactList}\small\item\em Calculates the magnitude (Euclidean norm) of the vector. \end{DoxyCompactList}\item +std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ \mbox{\hyperlink{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}{Normalize}} () const +\begin{DoxyCompactList}\small\item\em Returns a new vector that is the normalized version of this vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}{Angle\+With}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the angle between this vector and another vector in radians. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}{Is\+Zero}} () +\begin{DoxyCompactList}\small\item\em Checks if the vector is a zero vector (all elements are zero). \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}{Is\+Normalized}} () +\begin{DoxyCompactList}\small\item\em Checks if the vector is a unit vector (normalized with a magnitude of 1). \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}{Is\+Parallel}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Checks if this vector is parallel to another vector. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}{Is\+Orthogonal}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Checks if this vector is orthogonal (perpendicular) to another vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}{Parallelogram\+Area}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the area of the parallelogram spanned by this vector and another vector. \end{DoxyCompactList}\item +\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \mbox{\hyperlink{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}{Triangle\+Area}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const +\begin{DoxyCompactList}\small\item\em Calculates the area of the triangle formed by this vector and another vector. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsubsection*{Friends} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}{operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) +\begin{DoxyCompactList}\small\item\em Overloaded stream insertion operator to print the vector to an output stream. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\doxysubsection{Detailed Description} +Represents a mathematical vector in n-\/dimensional space. + +The \doxylink{classFirefly_1_1Vector}{Vector} class provides various operations on vectors, such as addition, subtraction, scaling, dot product, cross product, normalization, angle calculation, and more. + +\doxysubsection{Constructor \& Destructor Documentation} +\Hypertarget{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}\label{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + +\Hypertarget{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}\label{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + +\Hypertarget{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}\label{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f} +\index{Firefly::Vector@{Firefly::Vector}!````~Vector@{\texorpdfstring{$\sim$}{\string~}Vector}} +\index{````~Vector@{\texorpdfstring{$\sim$}{\string~}Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Vector()}{\string~Vector()}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\texorpdfstring{$\sim$}{\string~}\+Vector (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}} + +\Hypertarget{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac}\label{classFirefly_1_1Vector_a976a83a550e77ea492860a454d6211ac} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{\+\_\+size }\end{DoxyParamCaption})} + + + +Constructs a vector of a specific size. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+size} & The size of the vector. \\ +\hline +\end{DoxyParams} +\Hypertarget{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b}\label{classFirefly_1_1Vector_a80f50f08df05019810e20b44e5a2759b} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Vector\+Type}} const \&}]{\+\_\+vec }\end{DoxyParamCaption})} + + + +Constructs a vector from a given Vector\+Type (std\+::vector). + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+vec} & The Vector\+Type representing the vector. \\ +\hline +\end{DoxyParams} +\Hypertarget{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827}\label{classFirefly_1_1Vector_ae2972c768e49388623216a7742519827} +\index{Firefly::Vector@{Firefly::Vector}!Vector@{Vector}} +\index{Vector@{Vector}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}} +{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Copy constructor to create a new vector from an existing one. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+f} & The source vector to copy from. \\ +\hline +\end{DoxyParams} + + +\doxysubsection{Member Function Documentation} +\Hypertarget{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253}\label{classFirefly_1_1Vector_ad6434f7839970ec09edd9a5b9fd01253} +\index{Firefly::Vector@{Firefly::Vector}!Add@{Add}} +\index{Add@{Add}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Add()}{Add()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Performs scalar addition with a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}\label{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9} +\index{Firefly::Vector@{Firefly::Vector}!Add@{Add}} +\index{Add@{Add}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Add()}{Add()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector addition with another vector and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}\label{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d} +\index{Firefly::Vector@{Firefly::Vector}!AngleWith@{AngleWith}} +\index{AngleWith@{AngleWith}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{AngleWith()}{AngleWith()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Angle\+With (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the angle between this vector and another vector in radians. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the angle with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The angle between the two vectors in radians. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d}\label{classFirefly_1_1Vector_ad256e126e16073c0383cd39c1d48bd9d} +\index{Firefly::Vector@{Firefly::Vector}!At@{At}} +\index{At@{At}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{At()}{At()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& Firefly\+::\+Vector\+::\+At (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption})} + + + +Retrieves a reference to the value at a specific index in the vector. + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A reference to the value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}\label{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325} +\index{Firefly::Vector@{Firefly::Vector}!At@{At}} +\index{At@{At}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{At()}{At()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+At (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption}) const} + + + +Retrieves the value at a specific index in the vector (const version). + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}\label{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb} +\index{Firefly::Vector@{Firefly::Vector}!Cross@{Cross}} +\index{Cross@{Cross}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Cross()}{Cross()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Cross (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the cross product between this vector and another vector. Both vectors must have three dimensions. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the cross product with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the cross product. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}\label{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649} +\index{Firefly::Vector@{Firefly::Vector}!Dot@{Dot}} +\index{Dot@{Dot}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Dot()}{Dot()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Dot (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the dot product between this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to calculate the dot product with. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The dot product value. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}\label{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c} +\index{Firefly::Vector@{Firefly::Vector}!ElemSum@{ElemSum}} +\index{ElemSum@{ElemSum}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{ElemSum()}{ElemSum()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Elem\+Sum (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Calculates the sum of all elements in the vector. + +\begin{DoxyReturn}{Returns} +The sum of all elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}\label{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c} +\index{Firefly::Vector@{Firefly::Vector}!IsNormalized@{IsNormalized}} +\index{IsNormalized@{IsNormalized}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsNormalized()}{IsNormalized()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Normalized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Checks if the vector is a unit vector (normalized with a magnitude of 1). + +\begin{DoxyReturn}{Returns} +True if the vector is a unit vector, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}\label{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0} +\index{Firefly::Vector@{Firefly::Vector}!IsOrthogonal@{IsOrthogonal}} +\index{IsOrthogonal@{IsOrthogonal}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsOrthogonal()}{IsOrthogonal()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Orthogonal (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Checks if this vector is orthogonal (perpendicular) to another vector. + +Two vectors are considered orthogonal if their dot product is 0, indicating a 90-\/degree angle between them. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to check for orthogonality. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +True if the vectors are orthogonal, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}\label{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc} +\index{Firefly::Vector@{Firefly::Vector}!IsParallel@{IsParallel}} +\index{IsParallel@{IsParallel}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsParallel()}{IsParallel()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Parallel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + + +Checks if this vector is parallel to another vector. + +Two vectors are considered parallel if their direction is the same or opposite. To determine parallelism, the function calculates the angle between the vectors and checks if it is either 0 degrees or 180 degrees (pi radians). + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector to check for parallelism. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +True if the vectors are parallel, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}\label{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd} +\index{Firefly::Vector@{Firefly::Vector}!IsZero@{IsZero}} +\index{IsZero@{IsZero}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{IsZero()}{IsZero()}} +{\footnotesize\ttfamily bool Firefly\+::\+Vector\+::\+Is\+Zero (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Checks if the vector is a zero vector (all elements are zero). + +\begin{DoxyReturn}{Returns} +True if the vector is a zero vector, otherwise false. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}\label{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d} +\index{Firefly::Vector@{Firefly::Vector}!Magnitude@{Magnitude}} +\index{Magnitude@{Magnitude}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Magnitude()}{Magnitude()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Magnitude (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Calculates the magnitude (Euclidean norm) of the vector. + +\begin{DoxyReturn}{Returns} +The magnitude of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}\label{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3} +\index{Firefly::Vector@{Firefly::Vector}!Normalize@{Normalize}} +\index{Normalize@{Normalize}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Normalize()}{Normalize()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Normalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns a new vector that is the normalized version of this vector. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new normalized vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}\label{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f} +\index{Firefly::Vector@{Firefly::Vector}!operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}} +\index{operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator\texorpdfstring{$\ast$}{*}()}{operator*()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator\texorpdfstring{$\ast$}{*} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector scaling. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to scale the vector by. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the scaled result. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363}\label{classFirefly_1_1Vector_a7f7f0c88abd88d8e6fcff8c721e87363} +\index{Firefly::Vector@{Firefly::Vector}!operator+@{operator+}} +\index{operator+@{operator+}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform scalar addition. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}\label{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332} +\index{Firefly::Vector@{Firefly::Vector}!operator+@{operator+}} +\index{operator+@{operator+}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector addition. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to add. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the addition. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}\label{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7} +\index{Firefly::Vector@{Firefly::Vector}!operator++@{operator++}} +\index{operator++@{operator++}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator++ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Overloaded prefix increment operator to increment all elements of the vector by one. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector with incremented elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27}\label{classFirefly_1_1Vector_a9caa2d41c1fc528d894c0239bb09cc27} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} +\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform scalar subtraction. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}\label{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} +\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Overloaded operator to perform vector subtraction. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}\label{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09} +\index{Firefly::Vector@{Firefly::Vector}!operator-\/-\/@{operator-\/-\/}} +\index{operator-\/-\/@{operator-\/-\/}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::operator-\/-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Overloaded prefix decrement operator to decrement all elements of the vector by one. + +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector with decremented elements. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17}\label{classFirefly_1_1Vector_ae08c41e663255c40d45b2831f7ed6b17} +\index{Firefly::Vector@{Firefly::Vector}!operator\mbox{[}\mbox{]}@{operator[]}} +\index{operator\mbox{[}\mbox{]}@{operator[]}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} \& Firefly\+::\+Vector\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption})} + + + +Overloaded subscript operator to access the value at a specific index. + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A reference to the value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}\label{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28} +\index{Firefly::Vector@{Firefly::Vector}!operator\mbox{[}\mbox{]}@{operator[]}} +\index{operator\mbox{[}\mbox{]}@{operator[]}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{idx }\end{DoxyParamCaption}) const} + + + +Overloaded subscript operator to access the value at a specific index (const version). + + +\begin{DoxyParams}{Parameters} +{\em idx} & The index of the element to retrieve. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The value at the specified index. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}\label{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e} +\index{Firefly::Vector@{Firefly::Vector}!ParallelogramArea@{ParallelogramArea}} +\index{ParallelogramArea@{ParallelogramArea}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{ParallelogramArea()}{ParallelogramArea()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Parallelogram\+Area (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the area of the parallelogram spanned by this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector forming the parallelogram. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The area of the parallelogram. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}\label{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a} +\index{Firefly::Vector@{Firefly::Vector}!Rank@{Rank}} +\index{Rank@{Rank}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Rank()}{Rank()}} +{\footnotesize\ttfamily std\+::size\+\_\+t Firefly\+::\+Vector\+::\+Rank (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns the rank (dimensionality) of the vector. It is same as \doxylink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size()} method. + +\begin{DoxyReturn}{Returns} +The rank of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}\label{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df} +\index{Firefly::Vector@{Firefly::Vector}!Scale@{Scale}} +\index{Scale@{Scale}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Scale()}{Scale()}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector scaling by a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to scale the vector by. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the scaled result. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}\label{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba} +\index{Firefly::Vector@{Firefly::Vector}!Size@{Size}} +\index{Size@{Size}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Size()}{Size()}} +{\footnotesize\ttfamily std\+::size\+\_\+t Firefly\+::\+Vector\+::\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns the size (number of elements) of the vector. + +\begin{DoxyReturn}{Returns} +The size of the vector. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1}\label{classFirefly_1_1Vector_a631fa5fef44c0941bdf534e26152ace1} +\index{Firefly::Vector@{Firefly::Vector}!Subtract@{Subtract}} +\index{Subtract@{Subtract}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Subtract()}{Subtract()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&}]{\+\_\+scalar }\end{DoxyParamCaption}) const} + + + +Performs scalar subtraction with a real value and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+scalar} & The scalar value to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}\label{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c} +\index{Firefly::Vector@{Firefly::Vector}!Subtract@{Subtract}} +\index{Subtract@{Subtract}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{Subtract()}{Subtract()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} $>$ Firefly\+::\+Vector\+::\+Subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Performs vector subtraction with another vector and returns the result as a new vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The vector to subtract. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A unique pointer to the new vector containing the result of the subtraction. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}\label{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff} +\index{Firefly::Vector@{Firefly::Vector}!TriangleArea@{TriangleArea}} +\index{TriangleArea@{TriangleArea}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{TriangleArea()}{TriangleArea()}} +{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} Firefly\+::\+Vector\+::\+Triangle\+Area (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption}) const} + + + +Calculates the area of the triangle formed by this vector and another vector. + + +\begin{DoxyParams}{Parameters} +{\em \+\_\+fvec} & The other vector forming the triangle. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The area of the triangle. +\end{DoxyReturn} +\Hypertarget{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}\label{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39} +\index{Firefly::Vector@{Firefly::Vector}!View@{View}} +\index{View@{View}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{View()}{View()}} +{\footnotesize\ttfamily std\+::string Firefly\+::\+Vector\+::\+View (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} + + + +Returns a string representation of the vector. + +\begin{DoxyReturn}{Returns} +A string representation of the vector. +\end{DoxyReturn} + + +\doxysubsection{Friends And Related Symbol Documentation} +\Hypertarget{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}\label{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551} +\index{Firefly::Vector@{Firefly::Vector}!operator$<$$<$@{operator$<$$<$}} +\index{operator$<$$<$@{operator$<$$<$}!Firefly::Vector@{Firefly::Vector}} +\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}} +{\footnotesize\ttfamily std\+::ostream \& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}} + + + +Overloaded stream insertion operator to print the vector to an output stream. + + +\begin{DoxyParams}{Parameters} +{\em os} & The output stream. \\ +\hline +{\em \+\_\+fvec} & The vector to print. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The output stream after printing the vector. +\end{DoxyReturn} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +headers/firefly/\mbox{\hyperlink{vector_8hpp}{vector.\+hpp}}\item +src/vector/\mbox{\hyperlink{add_8cpp}{add.\+cpp}}\item +src/vector/\mbox{\hyperlink{angle__with_8cpp}{angle\+\_\+with.\+cpp}}\item +src/vector/\mbox{\hyperlink{area_8cpp}{area.\+cpp}}\item +src/vector/\mbox{\hyperlink{cross_8cpp}{cross.\+cpp}}\item +src/vector/\mbox{\hyperlink{dot_8cpp}{dot.\+cpp}}\item +src/vector/\mbox{\hyperlink{elem__sum_8cpp}{elem\+\_\+sum.\+cpp}}\item +src/vector/\mbox{\hyperlink{indexers_8cpp}{indexers.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__normalized_8cpp}{is\+\_\+normalized.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__orthogonal_8cpp}{is\+\_\+orthogonal.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__parallel_8cpp}{is\+\_\+parallel.\+cpp}}\item +src/vector/\mbox{\hyperlink{is__zero_8cpp}{is\+\_\+zero.\+cpp}}\item +src/vector/\mbox{\hyperlink{magnitude_8cpp}{magnitude.\+cpp}}\item +src/vector/\mbox{\hyperlink{normalize_8cpp}{normalize.\+cpp}}\item +src/vector/\mbox{\hyperlink{rank_8cpp}{rank.\+cpp}}\item +src/vector/\mbox{\hyperlink{scale_8cpp}{scale.\+cpp}}\item +src/vector/\mbox{\hyperlink{subtract_8cpp}{subtract.\+cpp}}\item +src/vector/\mbox{\hyperlink{vector_8cpp}{vector.\+cpp}}\item +src/vector/\mbox{\hyperlink{view_8cpp}{view.\+cpp}}\end{DoxyCompactItemize} diff --git a/docs/latex/db/db7/angle__with_8cpp__incl.md5 b/docs/latex/db/db7/angle__with_8cpp__incl.md5 new file mode 100644 index 0000000..cb681e9 --- /dev/null +++ b/docs/latex/db/db7/angle__with_8cpp__incl.md5 @@ -0,0 +1 @@ +c561f7e70a5a8ae85cf1925406b6ca0e \ No newline at end of file diff --git a/docs/latex/db/db7/angle__with_8cpp__incl.pdf b/docs/latex/db/db7/angle__with_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..09782d158e7d8df0c6b87bfdbd78f538130c5e8c GIT binary patch literal 12475 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 O4&%n8r$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for magnitude.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d8/dc3/magnitude_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dc/d23/is__orthogonal_8cpp.tex b/docs/latex/dc/d23/is__orthogonal_8cpp.tex new file mode 100644 index 0000000..890bba0 --- /dev/null +++ b/docs/latex/dc/d23/is__orthogonal_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/is\+\_\+orthogonal.cpp File Reference} +\hypertarget{is__orthogonal_8cpp}{}\label{is__orthogonal_8cpp}\index{src/vector/is\_orthogonal.cpp@{src/vector/is\_orthogonal.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for is\+\_\+orthogonal.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d1/df0/is__orthogonal_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dc/d82/area_8cpp.tex b/docs/latex/dc/d82/area_8cpp.tex new file mode 100644 index 0000000..430dbd5 --- /dev/null +++ b/docs/latex/dc/d82/area_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/area.cpp File Reference} +\hypertarget{area_8cpp}{}\label{area_8cpp}\index{src/vector/area.cpp@{src/vector/area.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for area.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d4/da0/area_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dc/dca/vector_8cpp__incl.md5 b/docs/latex/dc/dca/vector_8cpp__incl.md5 new file mode 100644 index 0000000..ca789b7 --- /dev/null +++ b/docs/latex/dc/dca/vector_8cpp__incl.md5 @@ -0,0 +1 @@ +8d58c98303d0c0336994ce7a7b58e4b5 \ No newline at end of file diff --git a/docs/latex/dc/dca/vector_8cpp__incl.pdf b/docs/latex/dc/dca/vector_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a16f0585fd49cefb8739ff1889f8b58cd0953302 GIT binary patch literal 11103 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 literal 0 HcmV?d00001 diff --git a/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 b/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 new file mode 100644 index 0000000..c646f59 --- /dev/null +++ b/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 @@ -0,0 +1 @@ +ff2b481d4795bbc17788c6e5e932354b \ No newline at end of file diff --git a/docs/latex/dc/de6/elem__sum_8cpp__incl.pdf b/docs/latex/dc/de6/elem__sum_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7091f7df1622b99501fcc8e45fd918ea68f6c083 GIT binary patch literal 11660 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 M!((BQR+Yi~U((Mne*gdg literal 0 HcmV?d00001 diff --git a/docs/latex/dc/df8/test_8cpp__incl.md5 b/docs/latex/dc/df8/test_8cpp__incl.md5 new file mode 100644 index 0000000..15d76c9 --- /dev/null +++ b/docs/latex/dc/df8/test_8cpp__incl.md5 @@ -0,0 +1 @@ +e4bd27cc804d11032b4fc563eacf8a9b \ No newline at end of file diff --git a/docs/latex/dc/df8/test_8cpp__incl.pdf b/docs/latex/dc/df8/test_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..22659b0b9c4f3a33d0d4403bc2dacb1e5284f703 GIT binary patch literal 10480 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 Mae=`5D$=v3-zP|Di*NIXS;7aI>0esB2SktrU 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\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for indexers.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{da/d19/indexers_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 b/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 new file mode 100644 index 0000000..ee10088 --- /dev/null +++ b/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 @@ -0,0 +1 @@ +c2f5e527626361316bdbbff2c7dcca5d \ No newline at end of file diff --git a/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.pdf b/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eec640f6462c83bd1398e08ff21766904f9f28aa GIT binary patch literal 11590 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\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for view.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{dc/df8/view_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}{Firefly\+::operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&\+\_\+fvec) +\end{DoxyCompactItemize} diff --git a/docs/latex/de/d9b/normalize_8cpp__incl.md5 b/docs/latex/de/d9b/normalize_8cpp__incl.md5 new file mode 100644 index 0000000..d683b09 --- /dev/null +++ b/docs/latex/de/d9b/normalize_8cpp__incl.md5 @@ -0,0 +1 @@ +cf74d07638e52986d4271685b4b68204 \ No newline at end of file diff --git a/docs/latex/de/d9b/normalize_8cpp__incl.pdf b/docs/latex/de/d9b/normalize_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3ba1b60af24b07d7059a659efc365e186e7a28fc GIT binary patch literal 11462 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

mpucrcF&nt_X>MZ*V0~t8 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 CruK~h literal 0 HcmV?d00001 diff --git a/docs/latex/cross_8cpp.tex b/docs/latex/cross_8cpp.tex new file mode 100644 index 0000000..fb5debd --- /dev/null +++ b/docs/latex/cross_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/cross.cpp File Reference} +\hypertarget{cross_8cpp}{}\label{cross_8cpp}\index{src/vector/cross.cpp@{src/vector/cross.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/cross_8cpp__incl.md5 b/docs/latex/cross_8cpp__incl.md5 new file mode 100644 index 0000000..7dce9dd --- /dev/null +++ b/docs/latex/cross_8cpp__incl.md5 @@ -0,0 +1 @@ +afea08ddc417012317dde55265c08f2d \ No newline at end of file diff --git a/docs/latex/cross_8cpp__incl.pdf b/docs/latex/cross_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d14b93bbc2d2cc1dac33a59fff57fcea50c3fcfd GIT binary patch literal 11086 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\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for subtract.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d8/d18/subtract_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d1/df0/is__orthogonal_8cpp__incl.md5 b/docs/latex/d1/df0/is__orthogonal_8cpp__incl.md5 new file mode 100644 index 0000000..87e30d7 --- /dev/null +++ b/docs/latex/d1/df0/is__orthogonal_8cpp__incl.md5 @@ -0,0 +1 @@ +a85112c9c56d5df62b9b16d2fd2799e0 \ No newline at end of file diff --git a/docs/latex/d1/df0/is__orthogonal_8cpp__incl.pdf b/docs/latex/d1/df0/is__orthogonal_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bb333077cc126e29cda53509447ddeeff067e574 GIT binary patch literal 11550 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d3/d4d/angle__with_8cpp.tex b/docs/latex/d3/d4d/angle__with_8cpp.tex new file mode 100644 index 0000000..edce189 --- /dev/null +++ b/docs/latex/d3/d4d/angle__with_8cpp.tex @@ -0,0 +1,17 @@ +\doxysection{src/vector/angle\+\_\+with.cpp File Reference} +\hypertarget{angle__with_8cpp}{}\label{angle__with_8cpp}\index{src/vector/angle\_with.cpp@{src/vector/angle\_with.cpp}} +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include $<$stdexcept$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for angle\+\_\+with.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{db/db7/angle__with_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d3/d61/rank_8cpp.tex b/docs/latex/d3/d61/rank_8cpp.tex new file mode 100644 index 0000000..42129eb --- /dev/null +++ b/docs/latex/d3/d61/rank_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/rank.cpp File Reference} +\hypertarget{rank_8cpp}{}\label{rank_8cpp}\index{src/vector/rank.cpp@{src/vector/rank.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for rank.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d5/d8f/rank_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d4/d1b/vector_8cpp.tex b/docs/latex/d4/d1b/vector_8cpp.tex new file mode 100644 index 0000000..3ccd5ab --- /dev/null +++ b/docs/latex/d4/d1b/vector_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/vector.cpp File Reference} +\hypertarget{vector_8cpp}{}\label{vector_8cpp}\index{src/vector/vector.cpp@{src/vector/vector.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for vector.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{dc/dca/vector_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d4/d8b/scale_8cpp.tex b/docs/latex/d4/d8b/scale_8cpp.tex new file mode 100644 index 0000000..3559b16 --- /dev/null +++ b/docs/latex/d4/d8b/scale_8cpp.tex @@ -0,0 +1,16 @@ +\doxysection{src/vector/scale.cpp File Reference} +\hypertarget{scale_8cpp}{}\label{scale_8cpp}\index{src/vector/scale.cpp@{src/vector/scale.cpp}} +{\ttfamily \#include $<$algorithm$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for scale.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d8/d78/scale_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d4/da0/area_8cpp__incl.md5 b/docs/latex/d4/da0/area_8cpp__incl.md5 new file mode 100644 index 0000000..280bd3e --- /dev/null +++ b/docs/latex/d4/da0/area_8cpp__incl.md5 @@ -0,0 +1 @@ +25321a159acee4229d114a54b2b3ebab \ No newline at end of file diff --git a/docs/latex/d4/da0/area_8cpp__incl.pdf b/docs/latex/d4/da0/area_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f85073345d1fefac8b7982371ead7ff240557cb5 GIT binary patch literal 11096 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d5/d8f/rank_8cpp__incl.md5 b/docs/latex/d5/d8f/rank_8cpp__incl.md5 new file mode 100644 index 0000000..cc49325 --- /dev/null +++ b/docs/latex/d5/d8f/rank_8cpp__incl.md5 @@ -0,0 +1 @@ +36af8eedfb440e5cbb145f3b5b9f3635 \ No newline at end of file diff --git a/docs/latex/d5/d8f/rank_8cpp__incl.pdf b/docs/latex/d5/d8f/rank_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49cdeda91eb35b21c5b236077a86871f7a35cfa9 GIT binary patch literal 11334 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d6/d5c/is__normalized_8cpp.tex b/docs/latex/d6/d5c/is__normalized_8cpp.tex new file mode 100644 index 0000000..6ccf8b9 --- /dev/null +++ b/docs/latex/d6/d5c/is__normalized_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/is\+\_\+normalized.cpp File Reference} +\hypertarget{is__normalized_8cpp}{}\label{is__normalized_8cpp}\index{src/vector/is\_normalized.cpp@{src/vector/is\_normalized.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for is\+\_\+normalized.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{df/d03/is__normalized_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex b/docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex new file mode 100644 index 0000000..0afb724 --- /dev/null +++ b/docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex @@ -0,0 +1,196 @@ +\doxysection{build/\+CMake\+Files/3.26.4/\+Compiler\+Id\+CXX/\+CMake\+CXXCompiler\+Id.cpp File Reference} +\hypertarget{CMakeCXXCompilerId_8cpp}{}\label{CMakeCXXCompilerId_8cpp}\index{build/CMakeFiles/3.26.4/CompilerIdCXX/CMakeCXXCompilerId.cpp@{build/CMakeFiles/3.26.4/CompilerIdCXX/CMakeCXXCompilerId.cpp}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_ae5510d82e4946f1656f4969911c54736}{\+\_\+\+\_\+has\+\_\+include}}(x)~0 +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a81dee0709ded976b2e0319239f72d174}{COMPILER\+\_\+\+ID}}~\"{}\"{} +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a2ae9b72bb13abaabfcf2ee0ba7d3fa1d}{STRINGIFY\+\_\+\+HELPER}}(X)~\#X +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a43e1cad902b6477bec893cb6430bd6c8}{STRINGIFY}}(X)~\mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a2ae9b72bb13abaabfcf2ee0ba7d3fa1d}{STRINGIFY\+\_\+\+HELPER}}(X) +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_adbc5372f40838899018fadbc89bd588b}{PLATFORM\+\_\+\+ID}} +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_aba35d0d200deaeb06aee95ca297acb28}{ARCHITECTURE\+\_\+\+ID}} +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_ad1280362da42492bbc11aa78cbf776ad}{DEC}}(n) +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a46d5d95daa1bef867bd0179594310ed5}{HEX}}(n) +\item +\#define \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a34cc889e576a1ae6c84ae9e0a851ba21}{CXX\+\_\+\+STD}}~\+\_\+\+\_\+cplusplus +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +int \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char \texorpdfstring{$\ast$}{*}argv\mbox{[}$\,$\mbox{]}) +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +char const \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a4b0efeb7a5d59313986b3a0390f050f6}{info\+\_\+compiler}} = \"{}INFO\"{} \"{}\+:\"{} \"{}compiler\mbox{[}\"{} COMPILER\+\_\+\+ID \"{}\mbox{]}\"{} +\item +char const \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a2321403dee54ee23f0c2fa849c60f7d4}{info\+\_\+platform}} = \"{}INFO\"{} \"{}\+:\"{} \"{}platform\mbox{[}\"{} PLATFORM\+\_\+\+ID \"{}\mbox{]}\"{} +\item +char const \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a59647e99d304ed33b15cb284c27ed391}{info\+\_\+arch}} = \"{}INFO\"{} \"{}\+:\"{} \"{}arch\mbox{[}\"{} ARCHITECTURE\+\_\+\+ID \"{}\mbox{]}\"{} +\item +const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a4607cccf070750927b458473ca82c090}{info\+\_\+language\+\_\+standard\+\_\+default}} +\item +const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a0f46a8a39e09d9b803c4766904fd7e99}{info\+\_\+language\+\_\+extensions\+\_\+default}} +\end{DoxyCompactItemize} + + +\doxysubsection{Macro Definition Documentation} +\Hypertarget{CMakeCXXCompilerId_8cpp_ae5510d82e4946f1656f4969911c54736}\label{CMakeCXXCompilerId_8cpp_ae5510d82e4946f1656f4969911c54736} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!\_\_has\_include@{\_\_has\_include}} +\index{\_\_has\_include@{\_\_has\_include}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{\_\_has\_include}{\_\_has\_include}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+has\+\_\+include(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~0} + +\Hypertarget{CMakeCXXCompilerId_8cpp_aba35d0d200deaeb06aee95ca297acb28}\label{CMakeCXXCompilerId_8cpp_aba35d0d200deaeb06aee95ca297acb28} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!ARCHITECTURE\_ID@{ARCHITECTURE\_ID}} +\index{ARCHITECTURE\_ID@{ARCHITECTURE\_ID}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{ARCHITECTURE\_ID}{ARCHITECTURE\_ID}} +{\footnotesize\ttfamily \#define ARCHITECTURE\+\_\+\+ID} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a81dee0709ded976b2e0319239f72d174}\label{CMakeCXXCompilerId_8cpp_a81dee0709ded976b2e0319239f72d174} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!COMPILER\_ID@{COMPILER\_ID}} +\index{COMPILER\_ID@{COMPILER\_ID}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{COMPILER\_ID}{COMPILER\_ID}} +{\footnotesize\ttfamily \#define COMPILER\+\_\+\+ID~\"{}\"{}} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a34cc889e576a1ae6c84ae9e0a851ba21}\label{CMakeCXXCompilerId_8cpp_a34cc889e576a1ae6c84ae9e0a851ba21} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!CXX\_STD@{CXX\_STD}} +\index{CXX\_STD@{CXX\_STD}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{CXX\_STD}{CXX\_STD}} +{\footnotesize\ttfamily \#define CXX\+\_\+\+STD~\+\_\+\+\_\+cplusplus} + +\Hypertarget{CMakeCXXCompilerId_8cpp_ad1280362da42492bbc11aa78cbf776ad}\label{CMakeCXXCompilerId_8cpp_ad1280362da42492bbc11aa78cbf776ad} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!DEC@{DEC}} +\index{DEC@{DEC}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{DEC}{DEC}} +{\footnotesize\ttfamily \#define DEC(\begin{DoxyParamCaption}\item[{}]{n }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 10000000)\%10)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 1000000)\%10)),\ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 100000)\%10)),\ \ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 10000)\%10)),\ \ \ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 1000)\%10)),\ \ \ \ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 100)\%10)),\ \ \ \ \ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ (((n)\ /\ 10)\%10)),\ \ \ \ \ \ \ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ \ ((n)\ \%\ 10))} + +\end{DoxyCode} +\Hypertarget{CMakeCXXCompilerId_8cpp_a46d5d95daa1bef867bd0179594310ed5}\label{CMakeCXXCompilerId_8cpp_a46d5d95daa1bef867bd0179594310ed5} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!HEX@{HEX}} +\index{HEX@{HEX}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{HEX}{HEX}} +{\footnotesize\ttfamily \#define HEX(\begin{DoxyParamCaption}\item[{}]{n }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>28\ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>24\ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>20\ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>16\ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>12\ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>8\ \ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)>>4\ \ \&\ 0xF)),\ \(\backslash\)} +\DoxyCodeLine{\ \ (\textcolor{charliteral}{'0'}\ +\ ((n)\ \ \ \ \ \&\ 0xF))} + +\end{DoxyCode} +\Hypertarget{CMakeCXXCompilerId_8cpp_adbc5372f40838899018fadbc89bd588b}\label{CMakeCXXCompilerId_8cpp_adbc5372f40838899018fadbc89bd588b} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!PLATFORM\_ID@{PLATFORM\_ID}} +\index{PLATFORM\_ID@{PLATFORM\_ID}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{PLATFORM\_ID}{PLATFORM\_ID}} +{\footnotesize\ttfamily \#define PLATFORM\+\_\+\+ID} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a43e1cad902b6477bec893cb6430bd6c8}\label{CMakeCXXCompilerId_8cpp_a43e1cad902b6477bec893cb6430bd6c8} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!STRINGIFY@{STRINGIFY}} +\index{STRINGIFY@{STRINGIFY}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{STRINGIFY}{STRINGIFY}} +{\footnotesize\ttfamily \#define STRINGIFY(\begin{DoxyParamCaption}\item[{}]{X }\end{DoxyParamCaption})~\mbox{\hyperlink{CMakeCXXCompilerId_8cpp_a2ae9b72bb13abaabfcf2ee0ba7d3fa1d}{STRINGIFY\+\_\+\+HELPER}}(X)} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a2ae9b72bb13abaabfcf2ee0ba7d3fa1d}\label{CMakeCXXCompilerId_8cpp_a2ae9b72bb13abaabfcf2ee0ba7d3fa1d} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!STRINGIFY\_HELPER@{STRINGIFY\_HELPER}} +\index{STRINGIFY\_HELPER@{STRINGIFY\_HELPER}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{STRINGIFY\_HELPER}{STRINGIFY\_HELPER}} +{\footnotesize\ttfamily \#define STRINGIFY\+\_\+\+HELPER(\begin{DoxyParamCaption}\item[{}]{X }\end{DoxyParamCaption})~\#X} + + + +\doxysubsection{Function Documentation} +\Hypertarget{CMakeCXXCompilerId_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{CMakeCXXCompilerId_8cpp_a0ddf1224851353fc92bfbff6f499fa97} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!main@{main}} +\index{main@{main}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{main()}{main()}} +{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char \texorpdfstring{$\ast$}{*}}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})} + + + +\doxysubsection{Variable Documentation} +\Hypertarget{CMakeCXXCompilerId_8cpp_a59647e99d304ed33b15cb284c27ed391}\label{CMakeCXXCompilerId_8cpp_a59647e99d304ed33b15cb284c27ed391} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!info\_arch@{info\_arch}} +\index{info\_arch@{info\_arch}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{info\_arch}{info\_arch}} +{\footnotesize\ttfamily char const\texorpdfstring{$\ast$}{*} info\+\_\+arch = \"{}INFO\"{} \"{}\+:\"{} \"{}arch\mbox{[}\"{} ARCHITECTURE\+\_\+\+ID \"{}\mbox{]}\"{}} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a4b0efeb7a5d59313986b3a0390f050f6}\label{CMakeCXXCompilerId_8cpp_a4b0efeb7a5d59313986b3a0390f050f6} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!info\_compiler@{info\_compiler}} +\index{info\_compiler@{info\_compiler}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{info\_compiler}{info\_compiler}} +{\footnotesize\ttfamily char const\texorpdfstring{$\ast$}{*} info\+\_\+compiler = \"{}INFO\"{} \"{}\+:\"{} \"{}compiler\mbox{[}\"{} COMPILER\+\_\+\+ID \"{}\mbox{]}\"{}} + +\Hypertarget{CMakeCXXCompilerId_8cpp_a0f46a8a39e09d9b803c4766904fd7e99}\label{CMakeCXXCompilerId_8cpp_a0f46a8a39e09d9b803c4766904fd7e99} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!info\_language\_extensions\_default@{info\_language\_extensions\_default}} +\index{info\_language\_extensions\_default@{info\_language\_extensions\_default}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{info\_language\_extensions\_default}{info\_language\_extensions\_default}} +{\footnotesize\ttfamily const char\texorpdfstring{$\ast$}{*} info\+\_\+language\+\_\+extensions\+\_\+default} + +{\bfseries Initial value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{=\ \textcolor{stringliteral}{"{}INFO"{}}\ \textcolor{stringliteral}{"{}:"{}}\ \textcolor{stringliteral}{"{}extensions\_default["{}}} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}OFF"{}}} +\DoxyCodeLine{} +\DoxyCodeLine{\textcolor{stringliteral}{"{}]"{}}} + +\end{DoxyCode} +\Hypertarget{CMakeCXXCompilerId_8cpp_a4607cccf070750927b458473ca82c090}\label{CMakeCXXCompilerId_8cpp_a4607cccf070750927b458473ca82c090} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!info\_language\_standard\_default@{info\_language\_standard\_default}} +\index{info\_language\_standard\_default@{info\_language\_standard\_default}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{info\_language\_standard\_default}{info\_language\_standard\_default}} +{\footnotesize\ttfamily const char\texorpdfstring{$\ast$}{*} info\+\_\+language\+\_\+standard\+\_\+default} + +{\bfseries Initial value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{=\ \textcolor{stringliteral}{"{}INFO"{}}\ \textcolor{stringliteral}{"{}:"{}}\ \textcolor{stringliteral}{"{}standard\_default["{}}} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}98"{}}} +\DoxyCodeLine{} +\DoxyCodeLine{\textcolor{stringliteral}{"{}]"{}}} + +\end{DoxyCode} +\Hypertarget{CMakeCXXCompilerId_8cpp_a2321403dee54ee23f0c2fa849c60f7d4}\label{CMakeCXXCompilerId_8cpp_a2321403dee54ee23f0c2fa849c60f7d4} +\index{CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}!info\_platform@{info\_platform}} +\index{info\_platform@{info\_platform}!CMakeCXXCompilerId.cpp@{CMakeCXXCompilerId.cpp}} +\doxysubsubsection{\texorpdfstring{info\_platform}{info\_platform}} +{\footnotesize\ttfamily char const\texorpdfstring{$\ast$}{*} info\+\_\+platform = \"{}INFO\"{} \"{}\+:\"{} \"{}platform\mbox{[}\"{} PLATFORM\+\_\+\+ID \"{}\mbox{]}\"{}} + diff --git a/docs/latex/d6/dbc/namespaceFirefly.tex b/docs/latex/d6/dbc/namespaceFirefly.tex new file mode 100644 index 0000000..e331760 --- /dev/null +++ b/docs/latex/d6/dbc/namespaceFirefly.tex @@ -0,0 +1,45 @@ +\doxysection{Firefly Namespace Reference} +\hypertarget{namespaceFirefly}{}\label{namespaceFirefly}\index{Firefly@{Firefly}} +\doxysubsubsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} +\begin{DoxyCompactList}\small\item\em Represents a mathematical vector in n-\/dimensional space. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +using \mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Vector\+Type}} = std\+::vector$<$ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} $>$ +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}{operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&\+\_\+fvec) +\end{DoxyCompactItemize} + + +\doxysubsection{Typedef Documentation} +\Hypertarget{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}\label{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e} +\index{Firefly@{Firefly}!VectorType@{VectorType}} +\index{VectorType@{VectorType}!Firefly@{Firefly}} +\doxysubsubsection{\texorpdfstring{VectorType}{VectorType}} +{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Firefly\+::\+Vector\+Type}} = typedef std\+::vector$<$\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}$>$} + + + +\doxysubsection{Function Documentation} +\Hypertarget{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}\label{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d} +\index{Firefly@{Firefly}!operator$<$$<$@{operator$<$$<$}} +\index{operator$<$$<$@{operator$<$$<$}!Firefly@{Firefly}} +\doxysubsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}} +{\footnotesize\ttfamily std\+::ostream \& Firefly\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + +\begin{DoxyParams}{Parameters} +{\em os} & The output stream. \\ +\hline +{\em \+\_\+fvec} & The vector to print. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The output stream after printing the vector. +\end{DoxyReturn} diff --git a/docs/latex/d7/d02/is__parallel_8cpp__incl.md5 b/docs/latex/d7/d02/is__parallel_8cpp__incl.md5 new file mode 100644 index 0000000..efe7e37 --- /dev/null +++ b/docs/latex/d7/d02/is__parallel_8cpp__incl.md5 @@ -0,0 +1 @@ +04e656339c3cabe4cf69eab408eeaaa2 \ No newline at end of file diff --git a/docs/latex/d7/d02/is__parallel_8cpp__incl.pdf b/docs/latex/d7/d02/is__parallel_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..abd719176e582716b2b0d200ac70c1188a1e82ef GIT binary patch literal 11375 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\newline +{\ttfamily \#include $<$numeric$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for elem\+\_\+sum.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{dc/de6/elem__sum_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/d7/d82/add_8cpp__incl.md5 b/docs/latex/d7/d82/add_8cpp__incl.md5 new file mode 100644 index 0000000..d663b28 --- /dev/null +++ b/docs/latex/d7/d82/add_8cpp__incl.md5 @@ -0,0 +1 @@ +54f904e66aab762640046fe211e89c73 \ No newline at end of file diff --git a/docs/latex/d7/d82/add_8cpp__incl.pdf b/docs/latex/d7/d82/add_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8e25135ecedd297e3eda6ca7789e81c73cccca0e GIT binary patch literal 12008 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 JMCHIp{|DhI-){f_ literal 0 HcmV?d00001 diff --git a/docs/latex/d8/d18/subtract_8cpp__incl.md5 b/docs/latex/d8/d18/subtract_8cpp__incl.md5 new file mode 100644 index 0000000..20e6e91 --- /dev/null +++ b/docs/latex/d8/d18/subtract_8cpp__incl.md5 @@ -0,0 +1 @@ +fc07d48590bcd07dfc960331383f8c50 \ No newline at end of file diff --git a/docs/latex/d8/d18/subtract_8cpp__incl.pdf b/docs/latex/d8/d18/subtract_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b94516d766bae315967d09e6fbea9efdfabfc1f9 GIT binary patch literal 11502 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 G!u(&=c+Zdk literal 0 HcmV?d00001 diff --git a/docs/latex/d8/d78/scale_8cpp__incl.md5 b/docs/latex/d8/d78/scale_8cpp__incl.md5 new file mode 100644 index 0000000..08de5ee --- /dev/null +++ b/docs/latex/d8/d78/scale_8cpp__incl.md5 @@ -0,0 +1 @@ +ad91a8203d41a848736587da297eecc3 \ No newline at end of file diff --git a/docs/latex/d8/d78/scale_8cpp__incl.pdf b/docs/latex/d8/d78/scale_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f7860c46fa11fdf7ded279441b8cbd5fdb4b4600 GIT binary patch literal 11539 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 b/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 new file mode 100644 index 0000000..373ff3b --- /dev/null +++ b/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 @@ -0,0 +1 @@ +f69040cf3cecddac124117ce6978c055 \ No newline at end of file diff --git a/docs/latex/d8/dc3/magnitude_8cpp__incl.pdf b/docs/latex/d8/dc3/magnitude_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9667d5dba9978ab3fc43eeef36f8ae64b8639da2 GIT binary patch literal 11624 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 literal 0 HcmV?d00001 diff --git a/docs/latex/d9/d1c/dot_8cpp__incl.md5 b/docs/latex/d9/d1c/dot_8cpp__incl.md5 new file mode 100644 index 0000000..5b27ab0 --- /dev/null +++ b/docs/latex/d9/d1c/dot_8cpp__incl.md5 @@ -0,0 +1 @@ +f757deb09eac544098cf0c6807259c70 \ No newline at end of file diff --git a/docs/latex/d9/d1c/dot_8cpp__incl.pdf b/docs/latex/d9/d1c/dot_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c5c0a484a25f309e031296c48ff5934284f257ee GIT binary patch literal 11101 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 Y7&*CkI3X7g0wFK3*i1~4N>bSW3&Zowr~m)} literal 0 HcmV?d00001 diff --git a/docs/latex/de/daa/dot_8cpp.tex b/docs/latex/de/daa/dot_8cpp.tex new file mode 100644 index 0000000..2fac2fe --- /dev/null +++ b/docs/latex/de/daa/dot_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/dot.cpp File Reference} +\hypertarget{dot_8cpp}{}\label{dot_8cpp}\index{src/vector/dot.cpp@{src/vector/dot.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for dot.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{d9/d1c/dot_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/de/daf/normalize_8cpp.tex b/docs/latex/de/daf/normalize_8cpp.tex new file mode 100644 index 0000000..5a10bbd --- /dev/null +++ b/docs/latex/de/daf/normalize_8cpp.tex @@ -0,0 +1,15 @@ +\doxysection{src/vector/normalize.cpp File Reference} +\hypertarget{normalize_8cpp}{}\label{normalize_8cpp}\index{src/vector/normalize.cpp@{src/vector/normalize.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for normalize.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{de/d9b/normalize_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/de/dc4/vector_8hpp__dep__incl.md5 b/docs/latex/de/dc4/vector_8hpp__dep__incl.md5 new file mode 100644 index 0000000..dcc3215 --- /dev/null +++ b/docs/latex/de/dc4/vector_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +c296e2395b657ccf793aa25dbb5e2a19 \ No newline at end of file diff --git a/docs/latex/de/dc4/vector_8hpp__dep__incl.pdf b/docs/latex/de/dc4/vector_8hpp__dep__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ae338aec9966281265ff9a1d9abd1e96656c09e9 GIT binary patch literal 15451 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 KQi{rpA^tDsvP$}\newline +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include $<$stdexcept$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for add.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{d7/d82/add_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/df/d03/is__normalized_8cpp__incl.md5 b/docs/latex/df/d03/is__normalized_8cpp__incl.md5 new file mode 100644 index 0000000..24dbbad --- /dev/null +++ b/docs/latex/df/d03/is__normalized_8cpp__incl.md5 @@ -0,0 +1 @@ +c34a6bf80fad1ae0d54e21e6b64d7abc \ No newline at end of file diff --git a/docs/latex/df/d03/is__normalized_8cpp__incl.pdf b/docs/latex/df/d03/is__normalized_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..60f975165b7477b8929008696d23c4d045d542d6 GIT binary patch literal 11519 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 jOEkB}U4q;H1jyON(8$}\newline +{\ttfamily \#include $<$iostream$>$}\newline +{\ttfamily \#include $<$vector$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +Include dependency graph for main.\+cpp\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{da/dce/main_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +int \mbox{\hyperlink{main_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} () +\end{DoxyCompactItemize} + + +\doxysubsection{Function Documentation} +\Hypertarget{main_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{main_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4} +\index{main.cpp@{main.cpp}!main@{main}} +\index{main@{main}!main.cpp@{main.cpp}} +\doxysubsubsection{\texorpdfstring{main()}{main()}} +{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + diff --git a/docs/latex/df/d29/vector_8hpp__incl.md5 b/docs/latex/df/d29/vector_8hpp__incl.md5 new file mode 100644 index 0000000..7d0c9e2 --- /dev/null +++ b/docs/latex/df/d29/vector_8hpp__incl.md5 @@ -0,0 +1 @@ +9af0abec8d05ecc690a24e5d4de4eba7 \ No newline at end of file diff --git a/docs/latex/df/d29/vector_8hpp__incl.pdf b/docs/latex/df/d29/vector_8hpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b85a3e5b1f7b508b7c4c66f7c1c6aea268a7158 GIT binary patch literal 10721 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 Z5GKwD4`-CRKwdsRC@wRzl!`R&{{S^hS#JOU literal 0 HcmV?d00001 diff --git a/docs/latex/df/dac/test_8cpp.tex b/docs/latex/df/dac/test_8cpp.tex new file mode 100644 index 0000000..c1faaf9 --- /dev/null +++ b/docs/latex/df/dac/test_8cpp.tex @@ -0,0 +1,28 @@ +\doxysection{tests/test.cpp File Reference} +\hypertarget{test_8cpp}{}\label{test_8cpp}\index{tests/test.cpp@{tests/test.cpp}} +{\ttfamily \#include $<$iostream$>$}\newline +{\ttfamily \#include $<$vector$>$}\newline +{\ttfamily \#include $<$cassert$>$}\newline +{\ttfamily \#include $<$firefly.\+hpp$>$}\newline +Include dependency graph for test.\+cpp\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{dc/df8/test_8cpp__incl} +\end{center} +\end{figure} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +int \mbox{\hyperlink{test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} () +\end{DoxyCompactItemize} + + +\doxysubsection{Function Documentation} +\Hypertarget{test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4} +\index{test.cpp@{test.cpp}!main@{main}} +\index{main@{main}!test.cpp@{test.cpp}} +\doxysubsubsection{\texorpdfstring{main()}{main()}} +{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + diff --git a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6.tex b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6.tex new file mode 100644 index 0000000..28ff54c --- /dev/null +++ b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6.tex @@ -0,0 +1,41 @@ +\doxysection{src/vector Directory Reference} +\hypertarget{dir_0baa9f3d984dd29d1429171590d769d6}{}\label{dir_0baa9f3d984dd29d1429171590d769d6}\index{src/vector Directory Reference@{src/vector Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{add_8cpp}{add.\+cpp}} +\item +file \mbox{\hyperlink{angle__with_8cpp}{angle\+\_\+with.\+cpp}} +\item +file \mbox{\hyperlink{area_8cpp}{area.\+cpp}} +\item +file \mbox{\hyperlink{cross_8cpp}{cross.\+cpp}} +\item +file \mbox{\hyperlink{dot_8cpp}{dot.\+cpp}} +\item +file \mbox{\hyperlink{elem__sum_8cpp}{elem\+\_\+sum.\+cpp}} +\item +file \mbox{\hyperlink{indexers_8cpp}{indexers.\+cpp}} +\item +file \mbox{\hyperlink{is__normalized_8cpp}{is\+\_\+normalized.\+cpp}} +\item +file \mbox{\hyperlink{is__orthogonal_8cpp}{is\+\_\+orthogonal.\+cpp}} +\item +file \mbox{\hyperlink{is__parallel_8cpp}{is\+\_\+parallel.\+cpp}} +\item +file \mbox{\hyperlink{is__zero_8cpp}{is\+\_\+zero.\+cpp}} +\item +file \mbox{\hyperlink{magnitude_8cpp}{magnitude.\+cpp}} +\item +file \mbox{\hyperlink{normalize_8cpp}{normalize.\+cpp}} +\item +file \mbox{\hyperlink{rank_8cpp}{rank.\+cpp}} +\item +file \mbox{\hyperlink{scale_8cpp}{scale.\+cpp}} +\item +file \mbox{\hyperlink{subtract_8cpp}{subtract.\+cpp}} +\item +file \mbox{\hyperlink{vector_8cpp}{vector.\+cpp}} +\item +file \mbox{\hyperlink{view_8cpp}{view.\+cpp}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 new file mode 100644 index 0000000..941450d --- /dev/null +++ b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 @@ -0,0 +1 @@ +e808acbcee4d1dbda9a3540eea1fd932 \ No newline at end of file diff --git a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4abe6c97b4f74aab4e227cb1830adaf5950c6fcc GIT binary patch literal 7151 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 literal 0 HcmV?d00001 diff --git a/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex b/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex new file mode 100644 index 0000000..196700c --- /dev/null +++ b/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex @@ -0,0 +1,7 @@ +\doxysection{build Directory Reference} +\hypertarget{dir_4fef79e7177ba769987a8da36c892c5f}{}\label{dir_4fef79e7177ba769987a8da36c892c5f}\index{build Directory Reference@{build Directory Reference}} +\doxysubsubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_63772b626f2709090f0bdca0f40827b4}{CMake\+Files}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_59425e443f801f1f2fd8bbe4959a3ccf.tex b/docs/latex/dir_59425e443f801f1f2fd8bbe4959a3ccf.tex new file mode 100644 index 0000000..9e30a94 --- /dev/null +++ b/docs/latex/dir_59425e443f801f1f2fd8bbe4959a3ccf.tex @@ -0,0 +1,7 @@ +\doxysection{tests Directory Reference} +\hypertarget{dir_59425e443f801f1f2fd8bbe4959a3ccf}{}\label{dir_59425e443f801f1f2fd8bbe4959a3ccf}\index{tests Directory Reference@{tests Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{test_8cpp}{test.\+cpp}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4.tex b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4.tex new file mode 100644 index 0000000..4a9c3a8 --- /dev/null +++ b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4.tex @@ -0,0 +1,15 @@ +\doxysection{build/\+CMake\+Files Directory Reference} +\hypertarget{dir_63772b626f2709090f0bdca0f40827b4}{}\label{dir_63772b626f2709090f0bdca0f40827b4}\index{build/CMakeFiles Directory Reference@{build/CMakeFiles Directory Reference}} +Directory dependency graph for CMake\+Files\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=264pt]{dir_63772b626f2709090f0bdca0f40827b4_dep} +\end{center} +\end{figure} +\doxysubsubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_713acbf0246a22292b4b09ce6f71bf4b}{3.\+26.\+4}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 new file mode 100644 index 0000000..8a6aac8 --- /dev/null +++ b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 @@ -0,0 +1 @@ +286ef75de08af8b2ecaf4470232e9e8d \ No newline at end of file diff --git a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a0c2ec56a56578549ada1907f2d733f1f297ea3 GIT binary patch literal 7673 zcma)B2UJtrwnaLjNv}cx0i~uu5;{olT{;*bk1d6I)oUtg+)2A~Mi&8?_x!I!tva$d#tS1WT0`SEpb!%!8 zfG^@r`UN(#Cp4{~`P{C^ER{z#%UtmjlrcKU8UU1s2Tio@;|cb+q4^W|H)#mJ*aWkK z94aRwZt7dPWt4-M<@;eKJk~5!PdUVGM`72JBjT0ub%bo!B-XnP?;f${RXx}ahR5|@ zZS)B8BO@)k))aa|0w$skY}pYdbaZHF8SPRfeSv*rb4?g)!)asX!<}?BXY$am)rRLX zCC8q81zmq$7m;C>MMQ3`VM{9$>he z2tr=<#{QBsgBw4|)$hBC16RJ6=7AJC7+9-}JKA!t@rx$*$|TEH9xY9UK6#(^&g1p> z=@4%)+FvZ9>jc>mvmmUL7Cb;Of1*Z^ZorDF6=G0Pm)MM~lBVbh^mP5e#-ms@?pyYY_GMXm4Uiz6`jDW}!YlktiRoe%qxyNzlJF->?o_2f9g z3sG%6Sy9bO6x0~ad8?F2o@B>uTy^LdzI)+wbCq4#<;G=XfXTR!VCdR=$9+}n19ME# zD}#Y6xwoEb=|8coz6RxA=-*jeoC~X5p5`7a8B;VmWFUonItuf@BVwb5(-*(`NPbR` z&(;xNR7h>fsL*=uZhMmLb%+^MS?p2jP#cSZmjMX1XMw2ixD?CI4|ti#uE6!oT}ylN zK0!o!Tk|5jo*2AiAk+iHY?o^08sTj{5cxHABuLUd#`)1hTAs{owe_hF>FImlr^ZH) zW(`yFkw?QO(Zk+BdMphMdK|{~jNbia4XT-aUPrekqQju?B4pzHM$)_yA8JN>uT9{U zH;U#9zTW>41n)>59HEQO;jAw93B=p;pTkg-eB$r4>$D@l^xTvCP9M*?>o2_`s%}K6 z^X~@0L2g+F$|Eex95C%br{q2NVHVrT}Hm(jD4BYv8;9t@? z#eNZiqh4F%;wF6dl##!;2g^>|qR&Q8-zr2B)kbkCk+xZ^l=d?_uOU>7_}wFpJ`c}l zpA^uk`hG7g#$G&sO%{#$VMofiGe&YN^>)Vh!AH~zw*QnD&)cynxMtNtzhy3_ zDs7w^-!zg*RN$(%WF47 z(3Ab~6f7=tHEwvz{yTds?P@g>9BU&-D9DzHt>ua8GljB%&E_Kwfpvteul{&8qJhG- z63iS@@R-zY5j5Bmt~XlF?2d5dMC(%&S2Q~vjhUIf`vA?Z$*(A|@H^7@-fi3IsGCh< zM#Gk#n37eA(;qgo8~P$7MZT1pm=c?~q)~cvMpaaH@7qI3N@?(lUcVVLyR^kE2TP~? z#BPsy1Cltgl2Roc{e+&3nL%~t^SG=h-%^E56fPr>{$0^3@@$3!!%J-1OV6S9#jKP% zn-r~h6;*1bCHHYjPewv^wm8nUHTSw0ikd&3FRFA!IQWa?m>Ko_bh&?|Juf8e{3zm){iK4W`?H zO)kU*L5*D*M`KSEO3)Ono6*fJ0G^jJ7=FKU!F6nSq~)PY_Vi(*X+W4wBY21pOl!?I zbt?@`T);}b;cwk8=u2(#Amt)K^WKiD)nk->OjYT1whcpP!6971=$mdv+YyjCaR|0% z44LuzAU9e1)|jr#$+wq_u-GM5`^UX@5sX82Yx;7UMySsdx+E ziH`8~uo$XOh1RsXH5>g&?L0Id;|R}-UeUG@viKCcB`s06h6~}(d_9MAQWY-BXxZs` z{e*Exxn&$dvfTQRp5!3fhy5(uzX_szUx8tg-hC?FWaEo^DF{%q=+8MrP;R$EY5NF$a^Jv(I6#e-ULn0yto&auc~k7s`F)HN>lBs zRn4y&=L%}&=dhNwl$u4xKVji9W9NGtm*T7jeuSoTe~f(O5r>Re=V}7Xu$Gfmyq)VZ zBUFwH8_=|}JM--)TQpi}%A-OU)@f}~ePi?ZSp64a(j=Ex*}T3XGO7mgoW z%e0pX{PPlf|QX@+rt&HbRVn`J&_Ze>BH zG{_lqgQ|$=cZ{_X*&po>!Y<~2|53%KA-R3rAU@k!{@~he{z1+q=H18YqOO9n=9NGC zM(eiKhEc}k0u!?Fk^wig4b58T$Lj7h>mTjD(${WnJ(ARUMDR)KN}-m0u2D$3pkqxJSMGd*#4?UwBypV;!%dSvR;r09_cks{W8-f*I51vf-9)w8 zhsVd~7-gVSc$3t9*aUKBYgO`QbeS{aS$APgoHAdIEF}d-}3aU`C4t z_X5k0@T=Pk-lH#IQx6Yc?WgWP-WUHlIp`U~Zc$3H<=pT#8X3;+mV}>4DWA&uwS*gM0Vg#s%*vOKC2j#O88g zR`-_+V3_ey!{uyMcnou^t34lMt1H85nTu3U?WW`F&k^*CDr%IHi3M*<83sOyvLOuP zxQE5Q3CZv*ux5fj_ z2D0l9?V(J*GQ`=>QvtQsok|JAGf7r@pBLgnb9YN6e50O$+_tbbA~ z1@~;bqMK_}d7$mfJ4Xd=|J%w38<8`tuFlC&d<8PCwyE~n zcgDBZchmRbFo`V8QUjcmqN;>OKrMNm8Ax9pH?qkK^7Smp9k6uDEtA}$xS}4Z4$dYj zaA+d!0};qPGGaZ!IkJeaVf^mC0?o@g?%N9Tvi8zQV$jaP({go&X!o9@8lD?lftEN+#oLAz?2!c zP!a80?)tI&!v{kN39l90W6p5q_hslg1?tevO{zvDZ#vu6&_?~qNU?s_cV+KCsU(+m z?b>U-4pzOg zwJ>a60lMUGHTLzRNh5-?DUm2TCxg~4qNq<)QQuT*_{3_t$FyVH%l%6JCwsj1k&S!4 zhW?PE0QD(0P2IAJ6&Km+TXW={^tkG}jdonjlUXtf-w{~djxumWTzDDXT04b(n${RX2oWH3O6aL*?izL{yR#9>v+sB31(NI1D(V3Zne#tq97% z;>F?~;wwjQclt>t?&{dHm91vBzj;s*;c<9)>pq=2>73 z3|4iypH=u4nZ+m@!DGT~sTR6q4}-ZR)(@lbL&0@$;pdaBNL{K8el{TfoMtfd% zs#8H(P3v1YIa3Ek`%Lih!=d5KcQ#^gr%jMoG-$R&xye8EP~5rm<7dQ;5JzTvqSv7^ z?SU;BiPp*E+q`>_fEj<1BeIZ?{R)8C+b6G6T1>1i#XMghU7VS)VP0Mr8R_tTlWxRT zG%%R^zF~Z~LNNFns{oBXMoOk^H9a>p=*vmp%VX-%A_m1FZrlpFB2h#X@T8Z0-}-XU zNzmSSqbHD%K6^{Kk5Fnz)-g$c2eN=kq-rwvjlE-yx|FEXlk3L0RWFfRMJ4%0o!Fbi z-cYoD#PXi?byC%ERS~bZmc~!nVT!Wcor#JYyj659ZAqRlErm?pI*)$2xgMZYwVV1a zODcrv+ET!)(3#z<=o$6f@y;PT#dK+tJYSV}97y__I9_p^;a;=nRFu5 z%&_@u9`)^R-ycS+u}}vY4?UB(0le810?i)x0xO@6pV5O$x9BF zX!n?OMI-uJQ$xsR)Dw#KS(}!>C zX3%r=!d<2=?5CNJPFqwCRVa+aB3wht9V{h7XRK101P&IlbBEz%HunZEwyb4R*W?$; z)CJ}TRl7V|x9Zvqp|_^7eksDRo|y7s&~1ARljc=+!r81qDmh4W-!B{H; zdYReSQc1*aLA@;hvCQ2G`>8?7-6YC7`XRwJw+n}j4}x6kGw=f6Pca@>)eBPkR$Zt$ zSSyh|d|0phaf+XAJ-$AsWG%Z8|5%^EyZb{Se(f%jxNazn6Fo_SejB~vezR&S! zqYvP)ipWQrsmUjC+G|Ao*pk9^aLtTPmdD*9B*~3#=tgrvse==N>``L0T>3rT;k8!T z(YJeq6Ws1z0W=f-`0%2~iqDJv!A!D}sGH-va$!u}&<5%^pQiU{?<~PdfCnr0v7fj31RXQ>h3N`0lV=4kn z^5C10`VT$$EW8^_#!0^`&w2gl)KNg?YidEl$K;2(^#_N(MfJQtBmC7bjPtm!3)H5u zqVSo>gcvIICh>!LXWmp&&zZeZo3z581K^+|ALh2Eoav4c0uN3Q9xEuF|KtwQvG(>jcrA7k3FLUy|cgczOxP!NxN_O4EJ5f|+?!^n&9e zYvsha(YpzR;{rLG76hQZ_DL0!;`$-Z zECt40->c!Flot|1dLxg(FrGkqmQjo9hCzLM0ypSJ%M?Bx5uZ|4=GK-}mr3Nf>{cuw z!yu~SS(?xfM&`k=Vmj~xRxo~8lC7ATfcXu2;mAmZWcio%YQa>glNTNMt(NKZE$-9g zIM6wiDS70}lYc2!dTN%Xu9z)PpbaH8N`IC3Oe+M!Re!(l;k~z&Ejd_w)_d}dwmDAl z;?fgxqT>pp-3s30x(k`>S|a~I{``fm6caEEEL4OsRSOS*#>hbodUs7!4$ROq1K=i{rCpFn0o@0$vVf-Z& zyIFX^+vLO{x9Hg4i=PAQK2r;Bdi_ZVpN3z%=H?5u01AUa zr%MzTgF%2`xC9gkhCm@etMl2_u}Ei(or3F4XA}^0?osfvL!DCB5)j0>dA8a!TNncU zwG2h1yBZ2}(*b)v%z2C<7Ugmsi1^k2%uxHoID6kyEdzBn@p(1=i}n6%#r`Wfzs9>| zi#?~ojXZCm&f3ns*N|SQb5{L-ChCkAS9Cyn{*ekTgY&%C4tc z3&!;(P}BtDs^IE{`NMJE&je$Sb?`dP=-Jl#PZtyn7eT!vh(W-Jvm*cm6o-q8fF;DCV94JVf`CCp;1Upt)4BfBK!5kcz<+jt zLB&MiFmV{^&*je1cPymeXgI=!AM`XGA8@^9 zr7PkiwC1Q?J&=*V3+1-QsgrV<0ch% zmp)GNkT<@fdXLQGf@CY7GJ`&M8i|yqzw|qy!^7?6G|JN3E6Hj5daFFHi#&du)hi`$ z%|)X;^bO3$Lg{}PNVSDBg}ZrP7koX8%_(P2%qu6hz1)(mN>Sc%>8pBts57b`X_37A zX~+=~71ZE3>)6|#)XUt?|3Q5NoMX8gH@3N?voXcHp(RlU?U&0xxp|Sl?X&m(!;RS> zedpYee>ngCfaz3GfP((~Q-b_elK8d7O$|`!b5MS(T7MjE{{YdMI$?;pg983Oh)jSM zVBl$u{W`Y{+}yCh^FsZFyt*se4G1~gap(2(r%=lKxtr{+JOx2lsR_eju}#~Q%M{?A zX1JZieY&dqbhzkaX?%6OzC3sN?xvK)%eLH1KxTZ2koM<$oI#}e@gK?^=6K)mFq^z3 w>DA_t#Zjv&n)j$9EuIBjcv%K8{r60GVUeC#U(eH*go}YB0KB})x+;MG1Myc=4gdfE literal 0 HcmV?d00001 diff --git a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex new file mode 100644 index 0000000..ae20ac9 --- /dev/null +++ b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex @@ -0,0 +1,7 @@ +\doxysection{src Directory Reference} +\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src Directory Reference}} +\doxysubsubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_0baa9f3d984dd29d1429171590d769d6}{vector}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 new file mode 100644 index 0000000..9c4970d --- /dev/null +++ b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -0,0 +1 @@ +a676ba070fa7fd00f3b18a161974a366 \ No newline at end of file diff --git a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6d389d681c32585a4934ef2f302918c6eada59a6 GIT binary patch literal 7151 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 ZaK~fZ@ZN5Og%a*D81V9C^i>t${{YltVN3u3 literal 0 HcmV?d00001 diff --git a/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex b/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex new file mode 100644 index 0000000..6eb32ba --- /dev/null +++ b/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex @@ -0,0 +1,15 @@ +\doxysection{build/\+CMake\+Files/3.26.4/\+Compiler\+Id\+CXX Directory Reference} +\hypertarget{dir_6974064bec986529c9a68c7c75e571af}{}\label{dir_6974064bec986529c9a68c7c75e571af}\index{build/CMakeFiles/3.26.4/CompilerIdCXX Directory Reference@{build/CMakeFiles/3.26.4/CompilerIdCXX Directory Reference}} +Directory dependency graph for Compiler\+Id\+CXX\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=202pt]{dir_6974064bec986529c9a68c7c75e571af_dep} +\end{center} +\end{figure} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{CMakeCXXCompilerId_8cpp}{CMake\+CXXCompiler\+Id.\+cpp}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.md5 b/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.md5 new file mode 100644 index 0000000..7fd46f0 --- /dev/null +++ b/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.md5 @@ -0,0 +1 @@ +01e8a635246c378cc5c61052bbbf6ebe \ No newline at end of file diff --git a/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf b/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf new file mode 100644 index 0000000000000000000000000000000000000000..452e97a476b8f9ddc410b46ec4d41206b545f727 GIT binary patch literal 6976 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 mtW~Wd`6k9>1b*^==EDhPAOWO9=%EQp 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 literal 0 HcmV?d00001 diff --git a/docs/latex/dot_8cpp.tex b/docs/latex/dot_8cpp.tex new file mode 100644 index 0000000..a9bef1e --- /dev/null +++ b/docs/latex/dot_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/dot.cpp File Reference} +\hypertarget{dot_8cpp}{}\label{dot_8cpp}\index{src/vector/dot.cpp@{src/vector/dot.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dot_8cpp__incl.md5 b/docs/latex/dot_8cpp__incl.md5 new file mode 100644 index 0000000..661731f --- /dev/null +++ b/docs/latex/dot_8cpp__incl.md5 @@ -0,0 +1 @@ +ee8b9b64b5cdd3b89d0dc727482a56af \ No newline at end of file diff --git a/docs/latex/dot_8cpp__incl.pdf b/docs/latex/dot_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7296e76262f87859068f6aa901a8dab0ea24ce39 GIT binary patch literal 11096 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 literal 0 HcmV?d00001 diff --git a/docs/latex/doxygen.sty b/docs/latex/doxygen.sty new file mode 100644 index 0000000..4bfc17f --- /dev/null +++ b/docs/latex/doxygen.sty @@ -0,0 +1,694 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package +\RequirePackage{calc} +\RequirePackage{float} +%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{longtable_doxygen} +\RequirePackage{tabu_doxygen} +\RequirePackage{fancyvrb} +\RequirePackage{tabularx} +\RequirePackage{multicol} +\RequirePackage{multirow} +\RequirePackage{hanging} +\RequirePackage{ifpdf} +\RequirePackage{adjustbox} +\RequirePackage{amssymb} +\RequirePackage{stackengine} +\RequirePackage{enumitem} +\RequirePackage{alphalph} +\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyHorRuler}[1]{% + \setlength{\parskip}{0ex plus 0ex minus 0ex}% + \ifthenelse{#1=0}% + {% + \hrule% + }% + {% + \hrulefilll% + }% +} +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + %\setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by
 ... 
+\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} +% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output. +\newlength{\CodeWidthChar} +\newlength{\CodeHeightChar} +\settowidth{\CodeWidthChar}{?} +\settoheight{\CodeHeightChar}{?} +% Necessary for hanging indent +\newlength{\DoxyCodeWidth} + +\newcommand\DoxyCodeLine[1]{ + \ifthenelse{\equal{\detokenize{#1}}{}} + { + \vspace*{\baselineskip} + } + { + \hangpara{\DoxyCodeWidth}{1}{#1}\par + } +} + +\newcommand\NiceSpace{% + \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}[1]{% + \par% + \scriptsize% + \normalfont\ttfamily% + \rightskip0pt plus 1fil% + \settowidth{\DoxyCodeWidth}{000000}% + \settowidth{\CodeWidthChar}{?}% + \settoheight{\CodeHeightChar}{?}% + \setlength{\parskip}{0ex plus 0ex minus 0ex}% + \ifthenelse{\equal{#1}{0}} + { + {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces% + } + { + {\lccode`~32 \lowercase{\global\let~}}\obeyspaces% + } + +}{% + \normalfont% + \normalsize% + \settowidth{\CodeWidthChar}{?}% + \settoheight{\CodeHeightChar}{?}% +} + +% Redefining not defined characters, i.e. "Replacement Character" in tex output. +\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{% + \textcolor{white}{\sffamily\bfseries\small ?}}{% + \rotatebox{45}{$\blacksquare$}}}} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}[1]{% + \DoxyCode{#1}% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \par% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or
    ...
) +\setlistdepth{12} +\newlist{DoxyEnumerate}{enumerate}{12} +\setlist[DoxyEnumerate,1]{label=\arabic*.} +\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)} +\setlist[DoxyEnumerate,3]{label=\roman*.} +\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.} +\setlist[DoxyEnumerate,5]{label=\arabic*.} +\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)} +\setlist[DoxyEnumerate,7]{label=\roman*.} +\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.} +\setlist[DoxyEnumerate,9]{label=\arabic*.} +\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)} +\setlist[DoxyEnumerate,11]{label=\roman*.} +\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.} + +% Used by bullet lists (using '-', @li, @arg, or
    ...
) +\setlistdepth{12} +\newlist{DoxyItemize}{itemize}{12} +\setlist[DoxyItemize]{label=\textperiodcentered} + +\setlist[DoxyItemize,1]{label=\textbullet} +\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash} +\setlist[DoxyItemize,3]{label=\textasteriskcentered} +\setlist[DoxyItemize,4]{label=\textperiodcentered} + +% Used by description lists (using
...
) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \centering% +}{% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% + \begin{center}% +}{% + \end{center}% +} + +% Used by @image +% (only if inline is specified) +\newenvironment{DoxyInlineImage}{% +}{% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \tabulinesep=1mm% + \par% + \ifthenelse{\equal{#1}{}}% + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description + {\ifthenelse{\equal{#1}{1}}% + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc + } + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for fields simple class style enums +\newenvironment{DoxyEnumFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newenvironment{TabularC}[1]% +{\tabulinesep=1mm +\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}% +{\end{longtabu*}\par}% + +\newenvironment{TabularNC}[1]% +{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}% +{\end{tabu}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned on +\newcommand{\doxylink}[2]{% + \mbox{\hyperlink{#1}{#2}}% +} + +% Used when hyperlinks are turned on +% Third argument is the SectionType, see the doxygen internal +% documentation for the values (relevant: Page ... Subsubsection). +\newcommand{\doxysectlink}[3]{% + \mbox{\hyperlink{#1}{#2}}% +} +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used when hyperlinks are turned off +% Fourth argument is the SectionType, see the doxygen internal +% documentation for the values (relevant: Page ... Subsubsection). +\newcommand{\doxysectref}[4]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used to link to a table when hyperlinks are turned on +\newcommand{\doxytablelink}[2]{% + \ref{#1}% +} + +% Used to link to a table when hyperlinks are turned off +\newcommand{\doxytableref}[3]{% + \ref{#3}% +} + +% Used by @addindex +\newcommand{\lcurly}{\{} +\newcommand{\rcurly}{\}} + +% Colors used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{xmlcdata}{rgb}{0.0,0.0,0.0} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} + +% Color used for table heading +\newcommand{\tableheadbgcolor}{lightgray}% + +% Version of hypertarget with correct landing location +\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} + +% possibility to have sections etc. be within the margins +% unfortunately had to copy part of book.cls and add \raggedright +\makeatletter +\newcounter{subsubsubsection}[subsubsection] +\newcounter{subsubsubsubsection}[subsubsubsection] +\newcounter{subsubsubsubsubsection}[subsubsubsubsection] +\newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection] +\renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}} +\renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}} +\renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}} +\renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}} +\newcommand{\subsubsubsectionmark}[1]{} +\newcommand{\subsubsubsubsectionmark}[1]{} +\newcommand{\subsubsubsubsubsectionmark}[1]{} +\newcommand{\subsubsubsubsubsubsectionmark}[1]{} +\def\toclevel@subsubsubsection{4} +\def\toclevel@subsubsubsubsection{5} +\def\toclevel@subsubsubsubsubsection{6} +\def\toclevel@subsubsubsubsubsubsection{7} +\def\toclevel@paragraph{8} +\def\toclevel@subparagraph{9} + +\newcommand\doxysection{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\raggedright\normalfont\Large\bfseries}} +\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\large\bfseries}} +\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} + +\newcommand\l@subsubsubsection{\@dottedtocline{4}{6.1em}{7.8em}} +\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{6.1em}{9.4em}} +\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{6.1em}{11em}} +\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{6.1em}{12.6em}} +\renewcommand\l@paragraph{\@dottedtocline{8}{6.1em}{14.2em}} +\renewcommand\l@subparagraph{\@dottedtocline{9}{6.1em}{15.8em}} +\makeatother +% the sectsty doesn't look to be maintained but gives, in our case, some warning like: +% LaTeX Warning: Command \underline has changed. +% Check if current package is valid. +% unfortunately had to copy the relevant part +\newcommand*{\doxypartfont} [1] + {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1} + \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}} +\newcommand*{\doxychapterfont} [1] + {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1} + \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}} +\newcommand*{\doxysectionfont} [1] + {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}} +\newcommand*{\doxysubsectionfont} [1] + {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}} +\newcommand*{\doxysubsubsectionfont} [1] + {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}} +\newcommand*{\doxyparagraphfont} [1] + {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}} +\newcommand*{\doxysubparagraphfont} [1] + {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}} +\newcommand*{\doxyminisecfont} [1] + {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}} +\newcommand*{\doxyallsectionsfont} [1] {\doxypartfont{#1}% + \doxychapterfont{#1}% + \doxysectionfont{#1}% + \doxysubsectionfont{#1}% + \doxysubsubsectionfont{#1}% + \doxyparagraphfont{#1}% + \doxysubparagraphfont{#1}% + \doxyminisecfont{#1}}% +% Define caption that is also suitable in a table +\makeatletter +\def\doxyfigcaption{% +\H@refstepcounter{figure}% +\@dblarg{\@caption{figure}}} +\makeatother + +% Define alpha enumarative names for counters > 26 +\makeatletter +\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname} +\def\@enumalphalphcnt#1{\alphalph{#1}} +\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname} +\def\@enumAlphAlphcnt#1{\AlphAlph{#1}} +\makeatother +\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa} +\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA} diff --git a/docs/latex/elem__sum_8cpp.tex b/docs/latex/elem__sum_8cpp.tex new file mode 100644 index 0000000..21df346 --- /dev/null +++ b/docs/latex/elem__sum_8cpp.tex @@ -0,0 +1,10 @@ +\doxysection{src/vector/elem\+\_\+sum.cpp File Reference} +\hypertarget{elem__sum_8cpp}{}\label{elem__sum_8cpp}\index{src/vector/elem\_sum.cpp@{src/vector/elem\_sum.cpp}} +{\ttfamily \#include $<$functional$>$}\newline +{\ttfamily \#include $<$numeric$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/elem__sum_8cpp__incl.md5 b/docs/latex/elem__sum_8cpp__incl.md5 new file mode 100644 index 0000000..ae32336 --- /dev/null +++ b/docs/latex/elem__sum_8cpp__incl.md5 @@ -0,0 +1 @@ +25eeeb28bab65ba21a82c58939704595 \ No newline at end of file diff --git a/docs/latex/elem__sum_8cpp__incl.pdf b/docs/latex/elem__sum_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..53e238e15f02d08c14e5293492e4c008bbfd1cef GIT binary patch literal 11665 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 literal 0 HcmV?d00001 diff --git a/docs/latex/etoc_doxygen.sty b/docs/latex/etoc_doxygen.sty new file mode 100644 index 0000000..8663b1b --- /dev/null +++ b/docs/latex/etoc_doxygen.sty @@ -0,0 +1,2182 @@ +%% +%% This is file etoc_doxygen.sty +%% +%% Apart from this header notice and the renaming from etoc to +%% etoc_doxygen (also in \ProvidesPackage) it is an identical +%% copy of +%% +%% etoc.sty +%% +%% at version 1.2a of 2023/05/01. +%% +%% This file has been provided to Doxygen team courtesy of the +%% author for benefit of users having a LaTeX installation not +%% yet providing version 1.2a or later of etoc, whose +%% deeplevels feature is required. +%% +%% The original source etoc.dtx (only of the latest version at +%% any given time) is available at +%% +%% https://ctan.org/pkg/etoc +%% +%% and contains the terms for copying and modification as well +%% as author contact information. +%% +%% In brief any modified versions of this file must be renamed +%% with new filenames distinct from etoc.sty. +%% +%% Package: etoc +%% Version: 1.2a +%% License: LPPL 1.3c +%% Copyright (C) 2012-2023 Jean-Francois B. +\NeedsTeXFormat{LaTeX2e}[2003/12/01] +\ProvidesPackage{etoc_doxygen}[2023/05/01 v1.2a Completely customisable TOCs (JFB)] +\newif\ifEtoc@oldLaTeX +\@ifl@t@r\fmtversion{2020/10/01} + {} + {\Etoc@oldLaTeXtrue + \PackageInfo{etoc}{Old LaTeX (\fmtversion) detected!\MessageBreak + Since 1.1a (2023/01/14), etoc prefers LaTeX at least\MessageBreak + as recent as 2020-10-01, for reasons of the .toc file,\MessageBreak + and used to require it (from 1.1a to 1.2).\MessageBreak + This etoc (1.2a) does not *require* it, but has not been\MessageBreak + tested thoroughly on old LaTeX (especially if document\MessageBreak + does not use hyperref) and retrofitting was done only\MessageBreak + on basis of author partial remembrances of old context.\MessageBreak + Reported}} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{prefix=Etoc@} +\newif\ifEtoc@lof +\DeclareVoidOption{lof}{\Etoc@loftrue + \PackageInfo{etoc}{Experimental support for \string\locallistoffigures.\MessageBreak + Barely tested, use at own risk}% +} +\newif\ifEtoc@lot +\DeclareVoidOption{lot}{\Etoc@lottrue + \PackageInfo{etoc}{Experimental support for \string\locallistoftables.\MessageBreak + Barely tested, use at own risk}% +} +\@ifclassloaded{memoir}{ +\PackageInfo{etoc} + {As this is with memoir class, all `...totoc' options\MessageBreak + are set true by default. Reported} +\DeclareBoolOption[true]{maintoctotoc} +\DeclareBoolOption[true]{localtoctotoc} +\DeclareBoolOption[true]{localloftotoc} +\DeclareBoolOption[true]{locallottotoc} +}{ +\DeclareBoolOption[false]{maintoctotoc} +\DeclareBoolOption[false]{localtoctotoc} +\DeclareBoolOption[false]{localloftotoc} +\DeclareBoolOption[false]{locallottotoc} +} +\DeclareBoolOption[true]{ouroboros} +\DeclareBoolOption[false]{deeplevels} +\DeclareDefaultOption{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}} +\ProcessKeyvalOptions* +\DisableKeyvalOption[action=error,package=etoc]{etoc}{lof} +\DisableKeyvalOption[action=error,package=etoc]{etoc}{lot} +\DisableKeyvalOption[action=error,package=etoc]{etoc}{deeplevels} +\def\etocsetup#1{\setkeys{etoc}{#1}} +\def\etocifmaintoctotoc{\ifEtoc@maintoctotoc + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\def\etociflocaltoctotoc{\ifEtoc@localtoctotoc + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\def\etociflocalloftotoc{\ifEtoc@localloftotoc + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\def\etociflocallottotoc{\ifEtoc@locallottotoc + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\RequirePackage{multicol} +\def\etoc@{\etoc@} +\long\def\Etoc@gobtoetoc@ #1\etoc@{} +\newtoks\Etoc@toctoks +\def\Etoc@par{\par} +\def\etocinline{\def\Etoc@par{}} +\let\etocnopar\etocinline +\def\etocdisplay{\def\Etoc@par{\par}} +\let\Etoc@global\@empty +\def\etocglobaldefs{\let\Etoc@global\global\let\tof@global\global} +\def\etoclocaldefs {\let\Etoc@global\@empty\let\tof@global\@empty} +\newif\ifEtoc@numbered +\newif\ifEtoc@hyperref +\newif\ifEtoc@parskip +\newif\ifEtoc@tocwithid +\newif\ifEtoc@standardlines +\newif\ifEtoc@etocstyle +\newif\ifEtoc@classstyle +\newif\ifEtoc@keeporiginaltoc +\newif\ifEtoc@skipprefix +\newif\ifEtoc@isfirst +\newif\ifEtoc@localtoc +\newif\ifEtoc@skipthisone +\newif\ifEtoc@stoptoc +\newif\ifEtoc@notactive +\newif\ifEtoc@mustclosegroup +\newif\ifEtoc@isemptytoc +\newif\ifEtoc@checksemptiness +\def\etocchecksemptiness {\Etoc@checksemptinesstrue } +\def\etocdoesnotcheckemptiness {\Etoc@checksemptinessfalse } +\newif\ifEtoc@notocifnotoc +\def\etocnotocifnotoc {\Etoc@checksemptinesstrue\Etoc@notocifnotoctrue } +\newcounter{etoc@tocid} +\def\Etoc@tocext{toc} +\def\Etoc@lofext{lof} +\def\Etoc@lotext{lot} +\let\Etoc@currext\Etoc@tocext +\def\etocifislocal{\ifEtoc@localtoc\expandafter\@firstoftwo\else + \expandafter\@secondoftwo\fi + } +\def\etocifislocaltoc{\etocifislocal{\ifx\Etoc@currext\Etoc@tocext + \expandafter\@firstoftwo\else + \expandafter\@secondoftwo\fi}% + {\@secondoftwo}% + } +\def\etocifislocallof{\etocifislocal{\ifx\Etoc@currext\Etoc@lofext + \expandafter\@firstoftwo\else + \expandafter\@secondoftwo\fi}% + {\@secondoftwo}% + } +\def\etocifislocallot{\etocifislocal{\ifx\Etoc@currext\Etoc@lotext + \expandafter\@firstoftwo\else + \expandafter\@secondoftwo\fi}% + {\@secondoftwo}% + } +\expandafter\def\csname Etoc@-3@@\endcsname {-\thr@@} +\expandafter\def\csname Etoc@-2@@\endcsname {-\tw@} +\expandafter\let\csname Etoc@-1@@\endcsname \m@ne +\expandafter\let\csname Etoc@0@@\endcsname \z@ +\expandafter\let\csname Etoc@1@@\endcsname \@ne +\expandafter\let\csname Etoc@2@@\endcsname \tw@ +\expandafter\let\csname Etoc@3@@\endcsname \thr@@ +\expandafter\chardef\csname Etoc@4@@\endcsname 4 +\expandafter\chardef\csname Etoc@5@@\endcsname 5 +\expandafter\chardef\csname Etoc@6@@\endcsname 6 +\ifEtoc@deeplevels + \expandafter\chardef\csname Etoc@7@@\endcsname 7 + \expandafter\chardef\csname Etoc@8@@\endcsname 8 + \expandafter\chardef\csname Etoc@9@@\endcsname 9 + \expandafter\chardef\csname Etoc@10@@\endcsname 10 + \expandafter\chardef\csname Etoc@11@@\endcsname 11 + \expandafter\chardef\csname Etoc@12@@\endcsname 12 +\fi +\expandafter\let\expandafter\Etoc@maxlevel + \csname Etoc@\ifEtoc@deeplevels12\else6\fi @@\endcsname +\edef\etocthemaxlevel{\number\Etoc@maxlevel} +\@ifclassloaded{memoir}{\def\Etoc@minf{-\thr@@}}{\def\Etoc@minf{-\tw@}} +\let\Etoc@none@@ \Etoc@minf +\expandafter\let\expandafter\Etoc@all@@ + \csname Etoc@\ifEtoc@deeplevels11\else5\fi @@\endcsname +\let\Etoc@dolevels\@empty +\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@dolevels\expandafter + {\Etoc@dolevels\Etoc@do{#1}}} +\ifdefined\expanded + \def\etocsetlevel#1#2{\expanded{\noexpand\etoc@setlevel{#1}{#2}}}% +\else + \def\etocsetlevel#1#2{{\edef\Etoc@tmp{\noexpand\etoc@setlevel{#1}{#2}}\expandafter}\Etoc@tmp}% +\fi +\def\etoc@setlevel#1#2{% + \edef\Etoc@tmp{\the\numexpr#2}% + \if1\ifnum\Etoc@tmp>\Etoc@maxlevel0\fi\unless\ifnum\Etoc@minf<\Etoc@tmp;\fi1% + \ifEtoc@deeplevels + \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,% + .7,.8,.9,.10,.11,.12,}% + \else + \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,}% + \fi + \ifin@\else\if\@car#1\@nil @\in@true\fi\fi + \ifin@ + \PackageWarning{etoc} + {Sorry, but `#1' is forbidden as level name.\MessageBreak + \if\@car#1\@nil @% + (because of the @ as first character)\MessageBreak\fi + Reported}% + \else + \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% + \expandafter\let\csname Etoc@#1@@\expandafter\endcsname + \csname Etoc@\Etoc@tmp @@\endcsname + \expandafter\edef\csname Etoc@@#1@@\endcsname + {\expandafter\noexpand\csname Etoc@#1@@\endcsname}% + \expandafter\edef\csname toclevel@@#1\endcsname + {\expandafter\noexpand\csname toclevel@#1\endcsname}% + \fi + \else + \PackageWarning{etoc} + {Argument `\detokenize{#2}' of \string\etocsetlevel\space should + represent one of\MessageBreak + \ifnum\Etoc@minf=-\thr@@-2, \fi-1, 0, 1, 2, \ifEtoc@deeplevels ...\else3, 4\fi, + \the\numexpr\Etoc@maxlevel-1, or \number\Etoc@maxlevel\space + but evaluates to \Etoc@tmp.\MessageBreak + The level of `#1' will be set to \number\Etoc@maxlevel.\MessageBreak + Tables of contents will ignore `#1' as long\MessageBreak + as its level is \number\Etoc@maxlevel\space (=\string\etocthemaxlevel).% + \MessageBreak + Reported}% + \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% + \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@maxlevel + \fi +} +\def\etoclevel#1{\csname Etoc@#1@@\endcsname} +\def\etocthelevel#1{\number\csname Etoc@#1@@\endcsname} +\def\etocifunknownlevelTF#1{\@ifundefined{Etoc@#1@@}} +\@ifclassloaded{memoir}{\etocsetlevel{book}{-2}}{} +\etocsetlevel{part}{-1} +\etocsetlevel{chapter}{0} +\etocsetlevel{section}{1} +\etocsetlevel{subsection}{2} +\etocsetlevel{subsubsection}{3} +\etocsetlevel{paragraph}{4} +\etocsetlevel{subparagraph}{5} +\ifdefined\c@chapter + \etocsetlevel{appendix}{0} +\else + \etocsetlevel{appendix}{1} +\fi +\def\Etoc@do#1{\@namedef{l@@#1}{\csname l@#1\endcsname}} +\Etoc@dolevels +\let\Etoc@figure@@\Etoc@maxlevel +\let\Etoc@table@@ \Etoc@maxlevel +\let\Etoc@gobblethreeorfour\@gobblefour +\ifdefined\@gobblethree + \let\Etoc@gobblethree\@gobblethree +\else + \long\def\Etoc@gobblethree#1#2#3{}% +\fi +\AtBeginDocument{% +\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}% +\@ifpackageloaded{hyperref} + {\Etoc@hyperreftrue} + {\ifEtoc@oldLaTeX + \let\Etoc@gobblethreeorfour\Etoc@gobblethree + \let\Etoc@etoccontentsline@fourargs\Etoc@etoccontentsline@ + \long\def\Etoc@etoccontentsline@#1#2#3{% + \Etoc@etoccontentsline@fourargs{#1}{#2}{#3}{}% + }% + \fi + }% +} +\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue } +\def\Etoc@updatestackofends#1\etoc@{\gdef\Etoc@stackofends{#1}} +\def\Etoc@stackofends{{-3}{}} +\def\Etoc@doendsandbegin{% + \expandafter\Etoc@traversestackofends\Etoc@stackofends\etoc@ +} +\def\Etoc@traversestackofends#1{% + \ifnum#1>\Etoc@level + \csname Etoc@end@#1\endcsname + \expandafter\Etoc@traversestackofends + \else + \Etoc@traversestackofends@done{#1}% + \fi +} +\def\Etoc@traversestackofends@done#1#2{#2% + \ifnum#1<\Etoc@level + \csname Etoc@begin@\the\numexpr\Etoc@level\endcsname + \Etoc@global\Etoc@isfirsttrue + \edef\Etoc@tmp{{\the\numexpr\Etoc@level}}% + \else + \Etoc@global\Etoc@isfirstfalse + \let\Etoc@tmp\@empty + \fi + \expandafter\Etoc@updatestackofends\Etoc@tmp{#1}% +} +\def\Etoc@etoccontentsline #1{% + \let\Etoc@next\Etoc@gobblethreeorfour + \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel + \else + \Etoc@skipthisonefalse + \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname + \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi + \ifEtoc@localtoc + \ifEtoc@stoptoc + \Etoc@skipthisonetrue + \else + \ifEtoc@notactive + \Etoc@skipthisonetrue + \else + \unless\ifnum\Etoc@level>\etoclocaltop + \Etoc@skipthisonetrue + \global\Etoc@stoptoctrue + \fi + \fi + \fi + \fi + \ifEtoc@skipthisone + \else + \unless\ifnum\Etoc@level>\c@tocdepth + \ifEtoc@standardlines + \let\Etoc@next\Etoc@savedcontentsline + \else + \let\Etoc@next\Etoc@etoccontentsline@ + \fi + \fi + \fi + \fi + \Etoc@next{#1}% +} +\def\Etoc@etoccontentsline@ #1#2#3#4{% + \Etoc@doendsandbegin + \Etoc@global\edef\Etoc@prefix {\expandafter\noexpand + \csname Etoc@prefix@\the\numexpr\Etoc@level\endcsname }% + \Etoc@global\edef\Etoc@contents{\expandafter\noexpand + \csname Etoc@contents@\the\numexpr\Etoc@level\endcsname }% + \ifEtoc@skipprefix \Etoc@global\def\Etoc@prefix{\@empty}\fi + \global\Etoc@skipprefixfalse + \Etoc@lxyz{#2}{#3}{#4}% + \Etoc@prefix + \Etoc@contents +} +\def\Etoc@lxyz #1#2#3{% + \ifEtoc@hyperref + \Etoc@global\def\etocthelink##1{\hyperlink{#3}{##1}}% + \else + \Etoc@global\let\etocthelink\@firstofone + \fi + \Etoc@global\def\etocthepage {#2}% + \ifEtoc@hyperref + \ifx\etocthepage\@empty + \Etoc@global\let\etocthelinkedpage\@empty + \else + \Etoc@global\def\etocthelinkedpage{\hyperlink {#3}{#2}}% + \fi + \else + \Etoc@global\let\etocthelinkedpage\etocthepage + \fi + \Etoc@global\def\etocthename{#1}% + \futurelet\Etoc@getnb@token\Etoc@@getnb #1\hspace\etoc@ + \ifEtoc@hyperref + \def\Etoc@tmp##1##2{\Etoc@global\def##2{\hyperlink{#3}{##1}}}% + \expandafter\Etoc@tmp\expandafter{\etocthename}\etocthelinkedname + \ifEtoc@numbered + \expandafter\Etoc@tmp\expandafter{\etocthenumber}\etocthelinkednumber + \else + \Etoc@global\let\etocthelinkednumber\@empty + \fi + \else + \Etoc@global\let\etocthelinkedname \etocthename + \Etoc@global\let\etocthelinkednumber\etocthenumber + \fi + \Etoc@global\expandafter\let\csname etoclink \endcsname \etocthelink + \Etoc@global\expandafter\let\csname etocname \endcsname \etocthename + \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthenumber + \Etoc@global\expandafter\let\csname etocpage \endcsname \etocthepage + \ifEtoc@hyperref + \Etoc@lxyz@linktoc + \fi +} +\def\Etoc@lxyz@linktoc{% + \ifcase\Hy@linktoc + % none: nothing to do + \or % section (aka name for etoc): link name and number + \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname + \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber + \or % page + \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage + \else % all + \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname + \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber + \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage + \fi +} +\def\Etoc@@getnb {% + \let\Etoc@next\Etoc@getnb + \ifx\Etoc@getnb@token\@sptoken\let\Etoc@next\Etoc@getnb@nonbr\fi + \ifx\Etoc@getnb@token\bgroup \let\Etoc@next\Etoc@getnb@nonbr\fi + \Etoc@next +} +\def\Etoc@getnb #1{% + \in@{#1}{\numberline\chapternumberline\partnumberline\booknumberline}% + \ifin@ + \let\Etoc@next\Etoc@getnb@nmbrd + \else + \ifnum\Etoc@level=\m@ne + \let\Etoc@next\Etoc@@getit + \else + \let\Etoc@next\Etoc@getnb@nonbr + \fi + \in@{#1}{\nonumberline}% + \ifin@ + \let\Etoc@next\Etoc@getnb@nonumberline + \fi + \fi + \Etoc@next #1% +} +\def\Etoc@getnb@nmbrd #1#2{% + \Etoc@global\Etoc@numberedtrue + \Etoc@global\def\etocthenumber {#2}% + \Etoc@getnb@nmbrd@getname\@empty +}% +\def\Etoc@getnb@nmbrd@getname #1\hspace\etoc@ {% + \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% +} +\def\Etoc@getnb@nonbr #1\etoc@ {% + \Etoc@global\Etoc@numberedfalse + \Etoc@global\let\etocthenumber \@empty +} +\def\Etoc@getnb@nonumberline #1\hspace\etoc@ {% + \Etoc@global\Etoc@numberedfalse + \Etoc@global\let\etocthenumber \@empty + \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{\@gobble#1}% +} +\def\Etoc@@getit #1\hspace#2{% + \ifx\etoc@#2% + \Etoc@global\Etoc@numberedfalse + \Etoc@global\let\etocthenumber \@empty + \else + \Etoc@global\Etoc@numberedtrue + \Etoc@global\def\etocthenumber {#1}% + \expandafter\Etoc@getit@getname \expandafter\@empty + \fi +} +\def\Etoc@getit@getname #1\hspace\etoc@ {% + \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% +} +\let\etocthename \@empty +\let\etocthenumber \@empty +\let\etocthepage \@empty +\let\etocthelinkedname \@empty +\let\etocthelinkednumber \@empty +\let\etocthelinkedpage \@empty +\let\etocthelink \@firstofone +\DeclareRobustCommand*{\etocname} {} +\DeclareRobustCommand*{\etocnumber}{} +\DeclareRobustCommand*{\etocpage} {} +\DeclareRobustCommand*{\etoclink} {\@firstofone} +\DeclareRobustCommand*{\etocifnumbered} + {\ifEtoc@numbered\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\expandafter\let\expandafter\etocxifnumbered\csname etocifnumbered \endcsname +\DeclareRobustCommand*{\etociffirst} + {\ifEtoc@isfirst\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\expandafter\let\expandafter\etocxiffirst\csname etociffirst \endcsname +\def\Etoc@readtoc {% + \ifeof \Etoc@tf + \else + \read \Etoc@tf to \Etoc@buffer + \Etoc@toctoks=\expandafter\expandafter\expandafter + {\expandafter\the\expandafter\Etoc@toctoks\Etoc@buffer}% + \expandafter\Etoc@readtoc + \fi +} +\Etoc@toctoks {}% (superfluous, but for clarity) +\AtBeginDocument{\IfFileExists{\jobname.toc} + {{\endlinechar=\m@ne + \makeatletter + \newread\Etoc@tf + \openin\Etoc@tf\@filef@und + \Etoc@readtoc + \global\Etoc@toctoks=\expandafter{\the\Etoc@toctoks}% + \closein\Etoc@tf}} + {\typeout{No file \jobname.toc.}}} +\def\Etoc@openouttoc{% + \ifEtoc@hyperref + \ifx\hyper@last\@undefined + \IfFileExists{\jobname .toc} + {\Hy@WarningNoLine + {old toc file detected; run LaTeX again (cheers from `etoc')}% + \global\Etoc@toctoks={}% + } + {}% + \fi + \fi + \if@filesw + \newwrite \tf@toc + \immediate \openout \tf@toc \jobname .toc\relax + \fi + \global\let\Etoc@openouttoc\empty +} +\def\Etoc@toctoc{% + \gdef\Etoc@stackofends{{-3}{}}% + \global\let\Etoc@level\Etoc@minf + \global\let\Etoc@virtualtop\Etoc@minf + \the\Etoc@toctoks + \ifEtoc@notactive + \else + \gdef\Etoc@level{-\thr@@}% + \Etoc@doendsandbegin + \fi +} +\def\Etoc@@startlocaltoc#1#2{% + \ifEtoc@localtoc + \ifnum #1=#2\relax + \global\let\etoclocaltop\Etoc@virtualtop + \Etoc@@startlocaltochook + \etoclocaltableofcontentshook + \ifEtoc@etocstyle + \etocetoclocaltocmaketitle + \fi + \ifx\Etoc@aftertitlehook\@empty + \else + \ifEtoc@localtoctotoc + \ifEtoc@ouroboros + \else + \let\Etoc@tmp\contentsline + \def\contentsline{\let\contentsline\Etoc@tmp\Etoc@gobblethreeorfour}% + \fi + \fi + \fi + \global\Etoc@notactivefalse + \fi + \fi +} +\let\etoc@startlocaltoc\@gobble +\let\Etoc@@startlocaltoc@toc\Etoc@@startlocaltoc +\let\Etoc@@startlocaltochook\@empty +\unless\ifEtoc@deeplevels + \def\etocdivisionnameatlevel#1{% + \ifcase\numexpr#1\relax + \ifdefined\c@chapter chapter\else section\fi% + \or section% + \or subsection% + \or subsubsection% + \or paragraph% + \or subparagraph% + \or empty% + \else\ifnum\numexpr#1<\m@ne + book% + \else + part% + \fi + \fi + } +\else + \def\etocdivisionnameatlevel#1{% + \ifcase\numexpr#1\relax + \ifdefined\c@chapter chapter\else section\fi% + \or section% + \or subsection% + \or subsubsection% + \or subsubsubsection% + \or subsubsubsubsection% + \or subsubsubsubsubsection% + \or subsubsubsubsubsubsection% + \or paragraph% + \or subparagraph% + \else\ifnum\numexpr#1>\z@ + empty% + \else\ifnum\numexpr#1=\m@ne + part% + \else + book% + \fi\fi + \fi + } +\fi +\def\etoclocalheadtotoc#1#2{\addcontentsline{toc}{@#1}{#2}} +\def\etocglobalheadtotoc{\addcontentsline{toc}} +\providecommand*\UseName{\@nameuse} +\def\etocetoclocaltocmaketitle{% + \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\localcontentsname}% + \if@noskipsec\leavevmode\par\fi + \etociflocaltoctotoc + {\etocifisstarred + {}% star variant, do not add to toc + {\etoclocalheadtotoc + {\etocdivisionnameatlevel{\etoclocaltop+1}}% + {\localcontentsname}% + }% + }% + {}% +}% +\def\localcontentsname {\contentsname}% +\let\etoclocaltableofcontentshook\@empty +\if1\ifEtoc@lof0\fi\ifEtoc@lot0\fi1% +\else +\AtBeginDocument{% + \let\Etoc@originaladdcontentsline\addcontentsline + \def\addcontentsline{\Etoc@hackedaddcontentsline}% +}% +\fi +\ifEtoc@lof + \ifEtoc@lot + \def\Etoc@hackedaddcontentsline#1{% + \expanded{\noexpand\in@{.#1,}}{.lof,.lot,}% + \ifin@\expandafter\Etoc@hackedaddcontentsline@i + \else\expandafter\Etoc@originaladdcontentsline + \fi {#1}} + \else + \def\Etoc@hackedaddcontentsline#1{% + \expanded{\noexpand\in@{.#1,}}{.lof,}% + \ifin@\expandafter\Etoc@hackedaddcontentsline@i + \else\expandafter\Etoc@originaladdcontentsline + \fi {#1}} + \fi +\else + \def\Etoc@hackedaddcontentsline#1{% + \expanded{\noexpand\in@{.#1,}}{.lot,}% + \ifin@\expandafter\Etoc@hackedaddcontentsline@i + \else\expandafter\Etoc@originaladdcontentsline + \fi {#1}} +\fi +\def\Etoc@hackedaddcontentsline@i#1#2#3{% + \expanded{\noexpand\in@{.#1;#2,}}{.lof;figure,.lot;table,}% + \ifin@ + \addtocontents {toc}{% + \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% + \ifdefined\protected@file@percent\protected@file@percent\fi + }% + \fi + \Etoc@originaladdcontentsline{#1}{#2}{#3}% +} +\unless\ifdefined\expanded + \def\Etoc@hackedaddcontentsline#1{% + {\edef\Etoc@tmp{\noexpand\in@{.#1,}{\ifEtoc@lof.lof,\fi\ifEtoc@lot.lot,\fi}}\expandafter}% + \Etoc@tmp + \ifin@\expandafter\Etoc@hackedaddcontentsline@i + \else\expandafter\Etoc@originaladdcontentsline + \fi {#1}% + } + \def\Etoc@hackedaddcontentsline@i#1#2#3{% + {\edef\Etoc@tmp{\noexpand\in@{.#1;#2,}}\expandafter}% + \Etoc@tmp{.lof;figure,.lot;table,}% + \ifin@ + \addtocontents {toc}{% + \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% + \ifdefined\protected@file@percent\protected@file@percent\fi + }% + \fi + \Etoc@originaladdcontentsline{#1}{#2}{#3}% + } +\fi +\def\Etoc@@startlocallistof#1#2#3{% + \ifEtoc@localtoc + \ifnum #2=#3\relax + \global\let\etoclocaltop\Etoc@virtualtop + \global\Etoc@notactivefalse + \Etoc@@startlocaltochook + \csname etoclocallistof#1shook\endcsname + \ifEtoc@etocstyle + \csname etocetoclistof#1smaketitle\endcsname + \fi + \fi + \fi +} +\def\Etoc@@startlocallistof@setlevels#1{% + \ifnum\etoclocaltop<\z@ + \expandafter\let\csname Etoc@#1@@\endcsname\@ne + \else + \expandafter\let\csname Etoc@#1@@\expandafter\endcsname + \csname Etoc@\the\numexpr\etoclocaltop+\@ne @@\endcsname + \fi + \def\Etoc@do##1{% + \ifnum\etoclevel{##1}>\etoclocaltop + \expandafter\let\csname Etoc@##1@@\endcsname\Etoc@maxlevel + \fi}% + \Etoc@dolevels +} +\def\etoclocallistoffigureshook{\etocstandardlines} +\def\etoclocallistoftableshook {\etocstandardlines} +\def\locallistfigurename{\listfigurename} +\def\locallisttablename {\listtablename} +\def\etocetoclistoffiguresmaketitle{% + \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallistfigurename}% + \ifnum\etoclocaltop>\tw@\mbox{}\par\fi + \etociflocalloftotoc + {\etocifisstarred + {}% star variant, do not add to toc + {\etoclocalheadtotoc + {\etocdivisionnameatlevel{\etoclocaltop+1}}% + {\locallistfigurename}% + }% + }% + {}% +}% +\def\etocetoclistoftablesmaketitle{% + \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallisttablename}% + \ifnum\etoclocaltop>\tw@\mbox{}\par\fi + \etociflocallottotoc + {\etocifisstarred + {}% star variant, do not add to toc + {\etoclocalheadtotoc + {\etocdivisionnameatlevel{\etoclocaltop+1}}% + {\locallisttablename}% + }% + }% + {}% +}% +\let\Etoc@listofreset\@empty +\ifEtoc@lof + \def\locallistoffigures{% + \def\Etoc@listofreset{% + \let\Etoc@currext\Etoc@tocext + \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc + \let\Etoc@@startlocaltochook\@empty + \let\Etoc@listofreset\@empty + \let\Etoc@listofhook\@empty + }% + \let\Etoc@currext\Etoc@lofext + \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{figure}}% + \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{figure}}% + \def\Etoc@listofhook{% + \def\Etoc@do####1{% + \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel + }% + \Etoc@dolevels + }% + \localtableofcontents + } +\else + \def\locallistoffigures{% + \PackageError{etoc}{% + \string\locallistoffigures \on@line\space but\MessageBreak + package was loaded without `lof' option}% + {Try again with \string\usepackage[lof]{etoc}}% + } +\fi +\ifEtoc@lot + \def\locallistoftables{% + \def\Etoc@listofreset{% + \let\Etoc@currext\Etoc@tocext + \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc + \let\Etoc@@startlocaltochook\@empty + \let\Etoc@listofreset\@empty + \let\Etoc@listofhook\@empty + }% + \let\Etoc@currext\Etoc@lotext + \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{table}}% + \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{table}}% + \def\Etoc@listofhook{% + \def\Etoc@do####1{% + \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel + }% + \Etoc@dolevels + }% + \localtableofcontents + } +\else + \def\locallistoftables{% + \PackageError{etoc}{% + \string\locallistoftable \on@line\space but\MessageBreak + package was loaded without `lot' option}% + {Try again with \string\usepackage[lot]{etoc}}% + } +\fi +\def\Etoc@checkifempty {% + \global\Etoc@isemptytoctrue + \global\Etoc@stoptocfalse + \global\let\Etoc@level\Etoc@minf + \global\let\Etoc@virtualtop\Etoc@minf + \gdef\Etoc@stackofends{{-3}{}}% + \begingroup + \ifEtoc@localtoc + \def\etoc@startlocaltoc##1{% + \ifnum##1=\Etoc@tocid\relax + \global\let\etoclocaltop\Etoc@virtualtop + \Etoc@@startlocaltochook + \global\Etoc@notactivefalse + \fi + }% + \let\contentsline\Etoc@testingcontentslinelocal + \else + \let\contentsline\Etoc@testingcontentsline + \fi + \Etoc@storetocdepth + \let\Etoc@setlocaltop@doendsandbegin\@empty + \the\Etoc@toctoks + \Etoc@restoretocdepth + \endgroup +} +\DeclareRobustCommand*\etocifwasempty + {\ifEtoc@isemptytoc\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } +\expandafter\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname +\def\Etoc@testingcontentslinelocal #1{% + \ifEtoc@stoptoc + \else + \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel + \else + \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname + \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi + \ifEtoc@notactive + \else + \ifnum\Etoc@level>\etoclocaltop + \unless\ifnum\Etoc@level>\c@tocdepth + \global\Etoc@isemptytocfalse + \global\Etoc@stoptoctrue + \fi + \else + \global\Etoc@stoptoctrue + \fi + \fi + \fi + \fi + \Etoc@gobblethreeorfour{}% +} +\def\Etoc@testingcontentsline #1{% + \ifEtoc@stoptoc + \else + \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel + \else + \unless\ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth + \global\Etoc@isemptytocfalse + \global\Etoc@stoptoctrue + \fi + \fi + \fi + \Etoc@gobblethreeorfour{}% +} +\def\Etoc@localtableofcontents#1{% + \gdef\etoclocaltop{-\@m}% + \Etoc@localtoctrue + \global\Etoc@isemptytocfalse + \edef\Etoc@tocid{#1}% + \ifnum\Etoc@tocid<\@ne + \setbox0\hbox{\ref{Unknown toc ref \@secondoftwo#1. \space Rerun LaTeX}}% + \global\Etoc@stoptoctrue + \gdef\etoclocaltop{-\thr@@}% + \Etoc@tableofcontents + \expandafter\Etoc@gobtoetoc@ + \fi + \global\Etoc@notactivetrue + \ifEtoc@checksemptiness + \Etoc@checkifempty + \fi + \ifEtoc@isemptytoc + \ifEtoc@notactive + \setbox0\hbox{\ref{Unknown toc ID \number\Etoc@tocid. \space Rerun LaTeX}}% + \global\Etoc@isemptytocfalse + \global\Etoc@stoptoctrue + \gdef\etoclocaltop{-\thr@@}% + \Etoc@tableofcontents + \expandafter\expandafter\expandafter\Etoc@gobtoetoc@ + \fi + \else + \global\Etoc@stoptocfalse + \global\Etoc@notactivetrue + \edef\etoc@startlocaltoc##1% + {\noexpand\Etoc@@startlocaltoc{##1}{\Etoc@tocid}}% + \Etoc@tableofcontents + \fi + \@gobble\etoc@ + \endgroup\ifEtoc@mustclosegroup\endgroup\fi + \Etoc@tocdepthreset + \Etoc@listofreset + \etocaftertochook +}% \Etoc@localtableofcontents +\def\Etoc@getref #1{% + \@ifundefined{r@#1} + {0} + {\expandafter\Etoc@getref@i\romannumeral-`0% + \expandafter\expandafter\expandafter + \@car\csname r@#1\endcsname0\@nil\@etoc + }% +} +\def\Etoc@getref@i#1#2\@etoc{\ifnum9<1\string#1 #1#2\else 0\fi} +\def\Etoc@ref#1{\Etoc@localtableofcontents{\Etoc@getref{#1}}} +\def\Etoc@label#1{\label{#1}\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} +\@firstofone{\def\Etoc@again} {\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} +\def\Etoc@dothis #1#2\etoc@ {\fi #1} +\def\Etoc@t@bleofcontents{% + \gdef\etoclocaltop{-\@M}% + \ifx\Etoc@nexttoken\label\Etoc@dothis{\expandafter\Etoc@label\@gobble}\fi + \ifx\Etoc@nexttoken\@sptoken\Etoc@dothis{\Etoc@again}\fi + \ifx\Etoc@nexttoken\ref\Etoc@dothis{\expandafter\Etoc@ref\@gobble}\fi + \ifEtoc@tocwithid\Etoc@dothis{\Etoc@localtableofcontents{\c@etoc@tocid}}\fi + \global\Etoc@isemptytocfalse + \ifEtoc@checksemptiness\Etoc@checkifempty\fi + \ifEtoc@isemptytoc + \ifEtoc@notocifnotoc + \expandafter\expandafter\expandafter\@gobble + \fi + \fi + \Etoc@tableofcontents + \endgroup + \ifEtoc@mustclosegroup\endgroup\fi + \Etoc@tocdepthreset + \Etoc@listofreset + \etocaftertochook + \@gobble\etoc@ + }% \Etoc@t@bleofcontents +\def\Etoc@table@fcontents{% + \refstepcounter{etoc@tocid}% + \Etoc@tocwithidfalse + \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents +} +\def\Etoc@localtable@fcontents{% + \refstepcounter{etoc@tocid}% + \addtocontents{toc}{\string\etoc@startlocaltoc{\the\c@etoc@tocid}}% + \Etoc@tocwithidtrue + \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents +} +\def\etoctableofcontents{% + \Etoc@openouttoc + \Etoc@tocdepthset + \begingroup + \@ifstar + {\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents} + {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}% +}% \etoctableofcontents +\def\etocifisstarred{\ifx\Etoc@aftertitlehook\@empty + \expandafter\@firstoftwo\else + \expandafter\@secondoftwo + \fi} +\let\etocoriginaltableofcontents\tableofcontents +\let\tableofcontents\etoctableofcontents +\let\Etoc@listofhook\@empty +\newcommand*\localtableofcontents{% + \Etoc@openouttoc + \Etoc@tocdepthset + \begingroup + \Etoc@listofhook + \@ifstar + {\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents} + {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}% +}% \localtableofcontents +\newcommand*\localtableofcontentswithrelativedepth[1]{% + \def\Etoc@@startlocaltochook{% + \global\c@tocdepth\numexpr\etoclocaltop+#1\relax + }% + \def\Etoc@listofreset{\let\Etoc@@startlocaltochook\@empty + \let\Etoc@listofreset\@empty}% + \localtableofcontents +}% \localtableofcontentswithrelativedepth +\newcommand\etocsettocstyle[2]{% + \Etoc@etocstylefalse + \Etoc@classstylefalse + \def\Etoc@tableofcontents@user@before{#1}% + \def\Etoc@tableofcontents@user@after {#2}% +}% +\def\etocstoretocstyleinto#1{% +%% \@ifdefinable#1{% + \edef#1{\noexpand\Etoc@etocstylefalse\noexpand\Etoc@classstylefalse + \def\noexpand\Etoc@tableofcontents@user@before{% + \unexpanded\expandafter{\Etoc@tableofcontents@user@before}% + }% + \def\noexpand\Etoc@tableofcontents@user@after{% + \unexpanded\expandafter{\Etoc@tableofcontents@user@after}% + }% + }% +%% }% +}% +\def\Etoc@tableofcontents {% + \Etoc@tableofcontents@etoc@before + \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi + \Etoc@tableofcontents@user@before + \Etoc@tableofcontents@contents + \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi + \Etoc@tableofcontents@user@after + \Etoc@tableofcontents@etoc@after + \@gobble\etoc@ +} +\def\Etoc@tableofcontents@etoc@before{% + \ifnum\c@tocdepth>\Etoc@minf + \else + \expandafter\Etoc@gobtoetoc@ + \fi + \Etoc@par + \Etoc@beforetitlehook + \etocbeforetitlehook + \Etoc@storetocdepth + \let\Etoc@savedcontentsline\contentsline + \let\contentsline\Etoc@etoccontentsline + \ifEtoc@standardlines + \else + \def\Etoc@do##1{% + \expandafter\def\csname etocsaved##1tocline\endcsname + {\PackageError{etoc}{% + \expandafter\string\csname etocsaved##1tocline\endcsname\space + has been deprecated\MessageBreak + at 1.1a and is removed at 1.2.\MessageBreak + Use \expandafter\string\csname l@##1\endcsname\space directly.\MessageBreak + Reported \on@line}% + {I will use \expandafter\string + \csname l@##1\endcsname\space myself for this time.% + }% + \csname l@##1\endcsname + }% + }% + \Etoc@dolevels + \fi +}% +\def\Etoc@tableofcontents@contents{% + \Etoc@tocdepthset + \ifEtoc@parskip\parskip\z@skip\fi + \Etoc@aftertitlehook + \gdef\etoclocaltop{-\thr@@}% + \Etoc@toctoc + \etocaftercontentshook +}% +\def\Etoc@tableofcontents@etoc@after{% + \@nobreakfalse + \Etoc@restoretocdepth + \ifx\Etoc@global\global + \@ifundefined{tof@finish} + {} + {\ifx\tof@finish\@empty + \else + \global\let\contentsline\Etoc@savedcontentsline + \fi + }% + \fi +} +\def\etocsetstyle#1{\ifcsname Etoc@#1@@\endcsname + \expandafter\Etoc@setstyle@a + \else + \expandafter\Etoc@setstyle@error + \fi {#1}% +} +\def\Etoc@setstyle@error #1{% + \PackageWarning{etoc}{`#1' is unknown to etoc. \space Did you\MessageBreak + forget some \string\etocsetlevel{#1}{}?\MessageBreak + Reported}% + \@gobblefour +} +\def\Etoc@setstyle@a #1{% + \edef\Etoc@tmp{\the\numexpr\csname Etoc@#1@@\endcsname}% + \if1\unless\ifnum\Etoc@tmp<\Etoc@maxlevel 0\fi + \unless\ifnum\Etoc@tmp>\Etoc@minf 0\fi1% + \Etoc@standardlinesfalse + \expandafter\Etoc@setstyle@b\expandafter\Etoc@tmp + \else + \ifnum\Etoc@tmp=\Etoc@maxlevel + \in@{.#1,}{.figure,.table,}% + \ifin@ + \PackageWarning{etoc} + {You can not use \string\etocsetstyle\space with `#1'.\MessageBreak + Check the package documentation (in particular about\MessageBreak + \string\etoclocallistoffigureshook/\string\etoclocallistoftableshook)% + \MessageBreak on how to customize + figure and table entries in local\MessageBreak lists. Reported}% + \else + \PackageInfo{etoc} + {Attempt to set the style of `#1',\MessageBreak + whose level is currently the maximal one \etocthemaxlevel,\MessageBreak + which is never displayed. \space This will be ignored\MessageBreak + but note that we do quit compatibility mode.\MessageBreak + Reported}% + \Etoc@standardlinesfalse + \fi + \else + \PackageWarning{etoc}{This should not happen. Reported}% + \fi + \expandafter\@gobblefour + \fi +} +\long\def\Etoc@setstyle@b#1#2#3#4#5{% + \expandafter\def\csname Etoc@begin@#1\endcsname {#2}% + \expandafter\def\csname Etoc@prefix@#1\endcsname {#3}% + \expandafter\def\csname Etoc@contents@#1\endcsname {#4}% + \expandafter\def\csname Etoc@end@#1\endcsname {#5}% +} +\def\Etoc@setstyle@e#1{% + \expandafter\let\csname Etoc@begin@#1\endcsname \@empty + \expandafter\let\csname Etoc@prefix@#1\endcsname \@empty + \expandafter\let\csname Etoc@contents@#1\endcsname \@empty + \expandafter\let\csname Etoc@end@#1\endcsname \@empty +} +\def\Etoc@storelines@a#1{% + \noexpand\Etoc@setstyle@b{#1}% + {\expandafter\Etoc@expandonce\csname Etoc@begin@#1\endcsname}% + {\expandafter\Etoc@expandonce\csname Etoc@prefix@#1\endcsname}% + {\expandafter\Etoc@expandonce\csname Etoc@contents@#1\endcsname}% + {\expandafter\Etoc@expandonce\csname Etoc@end@#1\endcsname}% +} +\def\Etoc@expandonce#1{\unexpanded\expandafter{#1}} +\def\etocstorelinestylesinto#1{% + \edef#1{\Etoc@storelines@a{-2}\Etoc@storelines@a{-1}\Etoc@storelines@a{0}% + \Etoc@storelines@a {1}\Etoc@storelines@a {2}\Etoc@storelines@a{3}% + \Etoc@storelines@a {4}\Etoc@storelines@a {5}% + \ifEtoc@deeplevels + \Etoc@storelines@a{6}\Etoc@storelines@a{7}\Etoc@storelines@a{8}% + \Etoc@storelines@a{9}\Etoc@storelines@a{10}\Etoc@storelines@a{11}% + \fi + }% +} +\def\etocstorethislinestyleinto#1#2{% + \edef#2{\expandafter\Etoc@storelines@a\expandafter{\number\etoclevel{#1}}}% +}% +\def\etocfontminustwo {\normalfont \LARGE \bfseries} +\def\etocfontminusone {\normalfont \large \bfseries} +\def\etocfontzero {\normalfont \large \bfseries} +\def\etocfontone {\normalfont \normalsize \bfseries} +\def\etocfonttwo {\normalfont \normalsize} +\def\etocfontthree {\normalfont \footnotesize} +\def\etocsepminustwo {4ex \@plus .5ex \@minus .5ex} +\def\etocsepminusone {4ex \@plus .5ex \@minus .5ex} +\def\etocsepzero {2.5ex \@plus .4ex \@minus .4ex} +\def\etocsepone {1.5ex \@plus .3ex \@minus .3ex} +\def\etocseptwo {.5ex \@plus .1ex \@minus .1ex} +\def\etocsepthree {.25ex \@plus .05ex \@minus .05ex} +\def\etocbaselinespreadminustwo {1} +\def\etocbaselinespreadminusone {1} +\def\etocbaselinespreadzero {1} +\def\etocbaselinespreadone {1} +\def\etocbaselinespreadtwo {1} +\def\etocbaselinespreadthree {.9} +\def\etocminustwoleftmargin {1.5em plus 0.5fil} +\def\etocminustworightmargin {1.5em plus -0.5fil} +\def\etocminusoneleftmargin {1em} +\def\etocminusonerightmargin {1em} +\def\etoctoclineleaders + {\hbox{\normalfont\normalsize\hb@xt@2ex {\hss.\hss}}} +\def\etocabbrevpagename {p.~} +\def\etocpartname {Part} +\def\etocbookname {Book} +\def\etocdefaultlines{% + \Etoc@standardlinesfalse + \etocdefaultlines@setbook + \etocdefaultlines@setpart + \etocdefaultlines@setchapter + \etocdefaultlines@setsection + \etocdefaultlines@setsubsection + \etocdefaultlines@setsubsubsection + \etocdefaultlines@setdeeperones +} +\@ifclassloaded{memoir}{% + \def\etocdefaultlines@setbook{% + \Etoc@setstyle@b + {-2}% + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@secpenalty} + {\begingroup + \etocfontminustwo + \addvspace{\etocsepminustwo}% + \parindent \z@ + \leftskip \etocminustwoleftmargin + \rightskip \etocminustworightmargin + \parfillskip \@flushglue + \vbox{\etocifnumbered{\etoclink{\etocbookname\enspace\etocthenumber:\quad}}{}% + \etocname + \baselineskip\etocbaselinespreadminustwo\baselineskip + \par}% + \addpenalty\@M\addvspace{\etocsepminusone}% + \endgroup} + {}% + } + }{\let\etocdefaultlines@setbook\@empty} +\def\etocdefaultlines@setpart{% +\Etoc@setstyle@b + {-1}% + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@secpenalty} + {\begingroup + \etocfontminusone + \addvspace{\etocsepminusone}% + \parindent \z@ + \leftskip \etocminusoneleftmargin + \rightskip \etocminusonerightmargin + \parfillskip \@flushglue + \vbox{\etocifnumbered{\etoclink{\etocpartname\enspace\etocthenumber.\quad}}{}% + \etocname + \baselineskip\etocbaselinespreadminusone\baselineskip + \par}% + \addpenalty\@M\addvspace{\etocsepzero}% + \endgroup} + {}% +} +\def\etocdefaultlines@setchapter{% +\Etoc@setstyle@b + {0}% + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup + \etocfontzero + \addvspace{\etocsepzero}% + \parindent \z@ \parfillskip \@flushglue + \vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname + \baselineskip\etocbaselinespreadzero\baselineskip + \par}% + \endgroup} + {\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}% +} +\def\etocdefaultlines@setsection{% +\Etoc@setstyle@b + {1}% + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup + \etocfontone + \addvspace{\etocsepone}% + \parindent \z@ \parfillskip \z@ + \setbox\z@\vbox{\parfillskip\@flushglue + \etocname\par + \setbox\tw@\lastbox + \global\setbox\@ne\hbox{\unhbox\tw@\ }}% + \dimen\z@=\wd\@ne + \setbox\z@=\etoctoclineleaders + \advance\dimen\z@\wd\z@ + \etocifnumbered + {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} + {\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% + \advance\dimen\z@\wd\tw@ + \ifdim\dimen\z@ < \linewidth + \vbox{\etocname~% + \leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadone\baselineskip + \par}% + \else + \vbox{\etocname~% + \leaders\copy\z@\hfil\break + \hbox{}\leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadone\baselineskip + \par}% + \fi + \endgroup} + {\addpenalty\@secpenalty\addvspace{\etocsepzero}}% +} +\def\etocdefaultlines@setsubsection{% +\Etoc@setstyle@b + {2}% + {\addpenalty\@medpenalty\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup + \etocfonttwo + \addvspace{\etocseptwo}% + \parindent \z@ \parfillskip \z@ + \setbox\z@\vbox{\parfillskip\@flushglue + \etocname\par\setbox\tw@\lastbox + \global\setbox\@ne\hbox{\unhbox\tw@}}% + \dimen\z@=\wd\@ne + \setbox\z@=\etoctoclineleaders + \advance\dimen\z@\wd\z@ + \etocifnumbered + {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} + {\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% + \advance\dimen\z@\wd\tw@ + \ifdim\dimen\z@ < \linewidth + \vbox{\etocname~% + \leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadtwo\baselineskip + \par}% + \else + \vbox{\etocname~% + \leaders\copy\z@\hfil\break + \hbox{}\leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadtwo\baselineskip + \par}% + \fi + \endgroup} + {\addpenalty\@secpenalty\addvspace{\etocsepone}}% +} +\def\etocdefaultlines@setsubsubsection{% +\Etoc@setstyle@b + {3}% + {\addpenalty\@M + \etocfontthree + \vspace{\etocsepthree}% + \noindent + \etocskipfirstprefix} + {\allowbreak\,--\,} + {\etocname} + {.\hfil + \begingroup + \baselineskip\etocbaselinespreadthree\baselineskip + \par + \endgroup + \addpenalty{-\@highpenalty}} +} +\def\etocdefaultlines@setdeeperones{% +\Etoc@setstyle@e{4}% +\Etoc@setstyle@e{5}% +\ifEtoc@deeplevels + \Etoc@setstyle@e{6}% + \Etoc@setstyle@e{7}% + \Etoc@setstyle@e{8}% + \Etoc@setstyle@e{9}% + \Etoc@setstyle@e{10}% + \Etoc@setstyle@e{11}% +\fi +} +\def\etocabovetocskip{3.5ex \@plus 1ex \@minus .2ex} +\def\etocbelowtocskip{3.5ex \@plus 1ex \@minus .2ex} +\def\etoccolumnsep{2em} +\def\etocmulticolsep{0ex} +\def\etocmulticolpretolerance{-1} +\def\etocmulticoltolerance{200} +\def\etocdefaultnbcol{2} +\def\etocinnertopsep{2ex} +\newcommand\etocmulticolstyle[2][\etocdefaultnbcol]{% +\etocsettocstyle + {\let\etocoldpar\par + \addvspace{\etocabovetocskip}% + \ifnum #1>\@ne + \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi + {\multicolpretolerance\etocmulticolpretolerance + \multicoltolerance\etocmulticoltolerance + \setlength{\columnsep}{\etoccolumnsep}% + \setlength{\multicolsep}{\etocmulticolsep}% + \begin{multicols}{#1}[#2\etocoldpar\addvspace{\etocinnertopsep}]} + {#2\ifvmode\else\begingroup\interlinepenalty\@M\parskip\z@skip + \@@par\endgroup + \fi + \nobreak\addvspace{\etocinnertopsep}% + \pretolerance\etocmulticolpretolerance + \tolerance\etocmulticoltolerance}% + }% + {\ifnum #1>\@ne + \expandafter\@firstofone + \else \expandafter\@gobble + \fi + {\end{multicols}}% + \addvspace{\etocbelowtocskip}}% +} +\def\etocinnerbottomsep{3.5ex} +\def\etocinnerleftsep{2em} +\def\etocinnerrightsep{2em} +\def\etoctoprule{\hrule} +\def\etocleftrule{\vrule} +\def\etocrightrule{\vrule} +\def\etocbottomrule{\hrule} +\def\etoctoprulecolorcmd{\relax} +\def\etocbottomrulecolorcmd{\relax} +\def\etocleftrulecolorcmd{\relax} +\def\etocrightrulecolorcmd{\relax} +\def\etoc@ruledheading #1{% + \hb@xt@\linewidth{\color@begingroup + \hss #1\hss\hskip-\linewidth + \etoctoprulecolorcmd\leaders\etoctoprule\hss + \phantom{#1}% + \leaders\etoctoprule\hss\color@endgroup}% + \nointerlineskip\nobreak\vskip\etocinnertopsep} +\newcommand*\etocruledstyle[2][\etocdefaultnbcol]{% +\etocsettocstyle + {\addvspace{\etocabovetocskip}% + \ifnum #1>\@ne + \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi + {\multicolpretolerance\etocmulticolpretolerance + \multicoltolerance\etocmulticoltolerance + \setlength{\columnsep}{\etoccolumnsep}% + \setlength{\multicolsep}{\etocmulticolsep}% + \begin{multicols}{#1}[\etoc@ruledheading{#2}]} + {\etoc@ruledheading{#2}% + \pretolerance\etocmulticolpretolerance + \tolerance\etocmulticoltolerance}} + {\ifnum #1>\@ne\expandafter\@firstofone + \else \expandafter\@gobble + \fi + {\end{multicols}}% + \addvspace{\etocbelowtocskip}}} +\def\etocframedmphook{\relax} +\long\def\etocbkgcolorcmd{\relax} +\long\def\Etoc@relax{\relax} +\newbox\etoc@framed@titlebox +\newbox\etoc@framed@contentsbox +\newcommand*\etocframedstyle[2][\etocdefaultnbcol]{% +\etocsettocstyle{% + \addvspace{\etocabovetocskip}% + \sbox\z@{#2}% + \dimen\z@\dp\z@ + \ifdim\wd\z@<\linewidth \dp\z@\z@ \else \dimen\z@\z@ \fi + \setbox\etoc@framed@titlebox=\hb@xt@\linewidth{\color@begingroup + \hss + \ifx\etocbkgcolorcmd\Etoc@relax + \else + \sbox\tw@{\color{white}% + \vrule\@width\wd\z@\@height\ht\z@\@depth\dimen\z@}% + \ifdim\wd\z@<\linewidth \dp\tw@\z@\fi + \box\tw@ + \hskip-\wd\z@ + \fi + \copy\z@ + \hss + \hskip-\linewidth + \etoctoprulecolorcmd\leaders\etoctoprule\hss + \hskip\wd\z@ + \etoctoprulecolorcmd\leaders\etoctoprule\hss\color@endgroup}% + \setbox\z@\hbox{\etocleftrule\etocrightrule}% + \dimen\tw@\linewidth\advance\dimen\tw@-\wd\z@ + \advance\dimen\tw@-\etocinnerleftsep + \advance\dimen\tw@-\etocinnerrightsep + \setbox\etoc@framed@contentsbox=\vbox\bgroup + \hsize\dimen\tw@ + \kern\dimen\z@ + \vskip\etocinnertopsep + \hbox\bgroup + \begin{minipage}{\hsize}% + \etocframedmphook + \ifnum #1>\@ne + \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi + {\multicolpretolerance\etocmulticolpretolerance + \multicoltolerance\etocmulticoltolerance + \setlength{\columnsep}{\etoccolumnsep}% + \setlength{\multicolsep}{\etocmulticolsep}% + \begin{multicols}{#1}} + {\pretolerance\etocmulticolpretolerance + \tolerance\etocmulticoltolerance}} + {\ifnum #1>\@ne\expandafter\@firstofone + \else \expandafter\@gobble + \fi + {\end{multicols}\unskip }% + \end{minipage}% + \egroup + \vskip\etocinnerbottomsep + \egroup + \vbox{\hsize\linewidth + \ifx\etocbkgcolorcmd\Etoc@relax + \else + \kern\ht\etoc@framed@titlebox + \kern\dp\etoc@framed@titlebox + \hb@xt@\linewidth{\color@begingroup + \etocleftrulecolorcmd\etocleftrule + \etocbkgcolorcmd + \leaders\vrule + \@height\ht\etoc@framed@contentsbox + \@depth\dp\etoc@framed@contentsbox + \hss + \etocrightrulecolorcmd\etocrightrule + \color@endgroup}\nointerlineskip + \vskip-\dp\etoc@framed@contentsbox + \vskip-\ht\etoc@framed@contentsbox + \vskip-\dp\etoc@framed@titlebox + \vskip-\ht\etoc@framed@titlebox + \fi + \box\etoc@framed@titlebox\nointerlineskip + \hb@xt@\linewidth{\color@begingroup + {\etocleftrulecolorcmd\etocleftrule}% + \hss\box\etoc@framed@contentsbox\hss + \etocrightrulecolorcmd\etocrightrule\color@endgroup} + \nointerlineskip + \vskip\ht\etoc@framed@contentsbox + \vskip\dp\etoc@framed@contentsbox + \hb@xt@\linewidth{\color@begingroup\etocbottomrulecolorcmd + \leaders\etocbottomrule\hss\color@endgroup}} + \addvspace{\etocbelowtocskip}}} +\newcommand\etoc@multicoltoc[2][\etocdefaultnbcol]{% + \etocmulticolstyle[#1]{#2}% + \tableofcontents} +\newcommand\etoc@multicoltoci[2][\etocdefaultnbcol]{% + \etocmulticolstyle[#1]{#2}% + \tableofcontents*} +\newcommand\etoc@local@multicoltoc[2][\etocdefaultnbcol]{% + \etocmulticolstyle[#1]{#2}% + \localtableofcontents} +\newcommand\etoc@local@multicoltoci[2][\etocdefaultnbcol]{% + \etocmulticolstyle[#1]{#2}% + \localtableofcontents*} +\newcommand*\etoc@ruledtoc[2][\etocdefaultnbcol]{% + \etocruledstyle[#1]{#2}% + \tableofcontents} +\newcommand*\etoc@ruledtoci[2][\etocdefaultnbcol]{% + \etocruledstyle[#1]{#2}% + \tableofcontents*} +\newcommand*\etoc@local@ruledtoc[2][\etocdefaultnbcol]{% + \etocruledstyle[#1]{#2}% + \localtableofcontents} +\newcommand*\etoc@local@ruledtoci[2][\etocdefaultnbcol]{% + \etocruledstyle[#1]{#2}% + \localtableofcontents*} +\newcommand*\etoc@framedtoc[2][\etocdefaultnbcol]{% + \etocframedstyle[#1]{#2}% + \tableofcontents} +\newcommand*\etoc@framedtoci[2][\etocdefaultnbcol]{% + \etocframedstyle[#1]{#2}% + \tableofcontents*} +\newcommand*\etoc@local@framedtoc[2][\etocdefaultnbcol]{% + \etocframedstyle[#1]{#2}% + \localtableofcontents} +\newcommand*\etoc@local@framedtoci[2][\etocdefaultnbcol]{% + \etocframedstyle[#1]{#2}% + \localtableofcontents*} +\def\etocmulticol{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@multicoltoci} + {\etoc@multicoltoc}} +\def\etocruled{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@ruledtoci} + {\etoc@ruledtoc}} +\def\etocframed{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@framedtoci} + {\etoc@framedtoc}} +\def\etoclocalmulticol{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@local@multicoltoci} + {\etoc@local@multicoltoc}} +\def\etoclocalruled{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@local@ruledtoci} + {\etoc@local@ruledtoc}} +\def\etoclocalframed{\begingroup + \Etoc@mustclosegrouptrue + \@ifstar + {\etoc@local@framedtoci} + {\etoc@local@framedtoc}} +\def\etocmemoirtoctotocfmt #1#2{% + \PackageWarning{etoc} + {\string\etocmemoirtoctotocfmt\space is deprecated.\MessageBreak + Use in its place \string\etocsettoclineforclasstoc,\MessageBreak + and \string\etocsettoclineforclasslistof{toc} (or {lof}, {lot}). + I will do this now.\MessageBreak + Reported}% + \etocsettoclineforclasstoc{#1}{#2}% + \etocsettoclineforclasslistof{toc}{#1}{#2}% +} +\def\etocsettoclineforclasstoc #1#2{% + \def\etocclassmaintocaddtotoc{\etocglobalheadtotoc{#1}{#2}}% +} +\def\etocsettoclineforclasslistof #1#2#3{% + \@namedef{etocclasslocal#1addtotoc}{\etoclocalheadtotoc{#2}{#3}}% +} +\let\etocclasslocaltocaddtotoc\@empty +\let\etocclasslocallofaddtotoc\@empty +\let\etocclasslocallotaddtotoc\@empty +\ifdefined\c@chapter + \def\etocclasslocaltocmaketitle{\section*{\localcontentsname}} + \def\etocclasslocallofmaketitle{\section*{\locallistfigurename}} + \def\etocclasslocallotmaketitle{\section*{\locallisttablename}} + \etocsettoclineforclasstoc {chapter}{\contentsname} + \etocsettoclineforclasslistof{toc}{section}{\localcontentsname} + \etocsettoclineforclasslistof{lof}{section}{\locallistfigurename} + \etocsettoclineforclasslistof{lot}{section}{\locallisttablename} +\else + \def\etocclasslocaltocmaketitle{\subsection*{\localcontentsname}}% + \def\etocclasslocallofmaketitle{\subsection*{\locallistfigurename}}% + \def\etocclasslocallotmaketitle{\subsection*{\locallisttablename}}% + \etocsettoclineforclasstoc {section}{\contentsname} + \etocsettoclineforclasslistof{toc}{subsection}{\localcontentsname} + \etocsettoclineforclasslistof{lof}{subsection}{\locallistfigurename} + \etocsettoclineforclasslistof{lot}{subsection}{\locallisttablename} +\fi +\def\etocclasslocalperhapsaddtotoc #1{% + \etocifisstarred + {} + {\csname ifEtoc@local#1totoc\endcsname + \csname etocclasslocal#1addtotoc\endcsname + \fi + }% +} +\def\etocarticlestyle{% + \etocsettocstyle + {\ifEtoc@localtoc + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \section *{\contentsname + \@mkboth {\MakeUppercase \contentsname} + {\MakeUppercase \contentsname}}% + \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% + \fi + } + {}% +} +\def\etocarticlestylenomarks{% + \etocsettocstyle + {\ifEtoc@localtoc + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \section *{\contentsname}% + \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% + \fi + } + {}% +} +\def\etocbookstyle{% + \etocsettocstyle + {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi + \ifEtoc@localtoc + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \chapter *{\contentsname + \@mkboth {\MakeUppercase \contentsname} + {\MakeUppercase \contentsname}}% + \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% + \fi + }% + {\if@restonecol \twocolumn \fi}% +} +\def\etocbookstylenomarks{% + \etocsettocstyle + {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi + \ifEtoc@localtoc + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \chapter *{\contentsname}% + \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% + \fi + }% + {\if@restonecol \twocolumn \fi}% +} +\let\etocreportstyle\etocbookstyle +\let\etocreportstylenomarks\etocbookstylenomarks +\def\etocmemoirstyle{% + \etocsettocstyle + {\ensureonecol \par \begingroup \phantomsection + \ifx\Etoc@aftertitlehook\@empty + \else + \ifmem@em@starred@listof + \else + \ifEtoc@localtoc + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \ifEtoc@maintoctotoc + \etocclassmaintocaddtotoc + \fi + \fi + \fi + \fi + \ifEtoc@localtoc + % trying to mimic a section title but there is no \sectionheadstart + % there is no \printsectiontitle etc... Oh well I will be more + % radical then + \@namedef{@\Etoc@currext maketitle}{% + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + }% + \fi + \@nameuse {@\Etoc@currext maketitle} %<< space token here from memoir code + \ifx\Etoc@aftertitlehook\@empty + \else + \Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax + \fi + \parskip \cftparskip \@nameuse {cft\Etoc@currext beforelisthook}% + }% + {\@nameuse {cft\Etoc@currext afterlisthook}% + \endgroup\restorefromonecol + }% +} +\let\Etoc@beforetitlehook\@empty +\if1\@ifclassloaded{scrartcl}0{\@ifclassloaded{scrbook}0{\@ifclassloaded{scrreprt}01}}% +\expandafter\@gobble +\else + \ifdefined\setuptoc + \def\Etoc@beforetitlehook{% + \ifEtoc@localtoc + \etocclasslocalperhapsaddtotoc\Etoc@currext + \setuptoc{\Etoc@currext}{leveldown}% + \else + \etocifisstarred{}{\etocifmaintoctotoc{\setuptoc{toc}{totoc}}}% + \fi + }% + \fi +\expandafter\@firstofone +\fi +{\def\etocclasslocalperhapsaddtotoc #1{% + \etocifisstarred + {}% + {\csname ifEtoc@local#1totoc\endcsname + \setuptoc{\Etoc@currext}{totoc}% + \fi + }% + }% +} +\ifdefined\Iftocfeature + \def\etoc@Iftocfeature{\Iftocfeature}% +\else + \def\etoc@Iftocfeature{\iftocfeature}% +\fi +\def\etocscrartclstyle{% + \etocsettocstyle + {\ifx\Etoc@currext\Etoc@tocext + \expandafter\@firstofone + \else + \expandafter\@gobble + \fi + {\let\if@dynlist\if@tocleft}% + \edef\@currext{\Etoc@currext}% + \@ifundefined{listof\@currext name}% + {\def\list@fname{\listofname~\@currext}}% + {\expandafter\let\expandafter\list@fname + \csname listof\@currext name\endcsname}% + \etoc@Iftocfeature {\@currext}{onecolumn} + {\etoc@Iftocfeature {\@currext}{leveldown} + {} + {\if@twocolumn \aftergroup \twocolumn \onecolumn \fi }} + {}% + \etoc@Iftocfeature {\@currext}{numberline}% + {\def \nonumberline {\numberline {}}}{}% + \expandafter\tocbasic@listhead\expandafter {\list@fname}% + \begingroup \expandafter \expandafter \expandafter + \endgroup \expandafter + \ifx + \csname microtypesetup\endcsname \relax + \else + \etoc@Iftocfeature {\@currext}{noprotrusion}{} + {\microtypesetup {protrusion=false}% + \PackageInfo {tocbasic}% + {character protrusion at \@currext\space deactivated}}% + \fi + \etoc@Iftocfeature{\@currext}{noparskipfake}{}{% + \ifvmode \@tempskipa\lastskip \vskip-\lastskip + \addtolength{\@tempskipa}{\parskip}\vskip\@tempskipa\fi + }% + \setlength {\parskip }{\z@ }% + \setlength {\parindent }{\z@ }% + \setlength {\parfillskip }{\z@ \@plus 1fil}% + \csname tocbasic@@before@hook\endcsname + \csname tb@\@currext @before@hook\endcsname + }% end of before_toc + {% start of after_toc + \providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file + \edef\@currext{\Etoc@currext}% + \csname tb@\@currext @after@hook\endcsname + \csname tocbasic@@after@hook\endcsname + }% end of after_toc +} +\let\etocscrbookstyle\etocscrartclstyle +\let\etocscrreprtstyle\etocscrartclstyle +\def\etocclasstocstyle{\etocarticlestyle} +\newcommand*\etocmarkboth[1]{% + \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}} +\newcommand*\etocmarkbothnouc[1]{\@mkboth{#1}{#1}} +\newcommand\etoctocstyle[3][section]{\etocmulticolstyle[#2]% + {\csname #1\endcsname *{#3}}} +\newcommand\etoctocstylewithmarks[4][section]{\etocmulticolstyle[#2]% + {\csname #1\endcsname *{#3\etocmarkboth{#4}}}} +\newcommand\etoctocstylewithmarksnouc[4][section]{\etocmulticolstyle[#2]% + {\csname #1\endcsname *{#3\etocmarkbothnouc{#4}}}} +\def\Etoc@redefetocstylesforchapters{% + \renewcommand\etoctocstylewithmarks[4][chapter]{% + \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkboth{##4}}}% + } + \renewcommand\etoctocstylewithmarksnouc[4][chapter]{% + \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkbothnouc{##4}}}% + } + \renewcommand\etoctocstyle[3][chapter]{% + \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3}} + } +} +\@ifclassloaded{scrartcl} + {\renewcommand*\etocclasstocstyle{\etocscrartclstyle}}{} +\@ifclassloaded{book} + {\renewcommand*\etocfontone{\normalfont\normalsize} + \renewcommand*\etocclasstocstyle{\etocbookstyle} + \Etoc@redefetocstylesforchapters}{} +\@ifclassloaded{report} + {\renewcommand*\etocfontone{\normalfont\normalsize} + \renewcommand*\etocclasstocstyle{\etocreportstyle} + \Etoc@redefetocstylesforchapters}{} +\@ifclassloaded{scrbook} + {\renewcommand*\etocfontone{\normalfont\normalsize} + \renewcommand*\etocclasstocstyle{\etocscrbookstyle} + \Etoc@redefetocstylesforchapters}{} +\@ifclassloaded{scrreprt} + {\renewcommand*\etocfontone{\normalfont\normalsize} + \renewcommand*\etocclasstocstyle{\etocscrreprtstyle} + \Etoc@redefetocstylesforchapters}{} +\@ifclassloaded{memoir} + {\renewcommand*\etocfontone{\normalfont\normalsize} + \renewcommand*\etocclasstocstyle{\etocmemoirstyle} + \Etoc@redefetocstylesforchapters}{} +\def\etoctocloftstyle {% + \etocsettocstyle{% + \@cfttocstart + \par + \begingroup + \parindent\z@ \parskip\cftparskip + \@nameuse{@cftmake\Etoc@currext title}% + \ifEtoc@localtoc + \etoctocloftlocalperhapsaddtotoc\Etoc@currext + \else + \etocifisstarred {}{\ifEtoc@maintoctotoc\@cftdobibtoc\fi}% + \fi + }% + {% + \endgroup + \@cfttocfinish + }% +} +\def\etoctocloftlocalperhapsaddtotoc#1{% + \etocifisstarred + {}% + {\csname ifEtoc@local#1totoc\endcsname + \ifdefined\c@chapter\def\@tocextra{@section}\else\def\@tocextra{@subsection}\fi + \csname @cftdobib#1\endcsname + \fi + }% +} +\def\etoctocbibindstyle {% + \etocsettocstyle {% + \toc@start + \ifEtoc@localtoc + \@nameuse{etocclasslocal\Etoc@currext maketitle}% + \etocclasslocalperhapsaddtotoc\Etoc@currext + \else + \etoc@tocbibind@dotoctitle + \fi + }% + {\toc@finish}% +} +\def\etoc@tocbibind@dotoctitle {% + \if@bibchapter + \etocifisstarred + {\chapter*{\contentsname}\prw@mkboth{\contentsname} % id. + }% + {\ifEtoc@maintoctotoc + \toc@chapter{\contentsname} %<-space from original + \else + \chapter*{\contentsname}\prw@mkboth{\contentsname} % id. + \fi + }% + \else + \etocifisstarred + {\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} %<-space + } + {\ifEtoc@maintoctotoc + \toc@section{\@tocextra}{\contentsname} %<-space from original + \else + \@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} % id. + \fi + }% + \fi +}% +\@ifclassloaded{memoir} +{} +{% memoir not loaded + \@ifpackageloaded{tocloft} + {\if@cftnctoc\else + \ifEtoc@keeporiginaltoc + \else + \let\tableofcontents\etoctableofcontents + \fi + \fi } + {\AtBeginDocument + {\@ifpackageloaded{tocloft} + {\if@cftnctoc\else + \PackageWarningNoLine {etoc} + {Package `tocloft' was loaded after `etoc'.\MessageBreak + To prevent it from overwriting \protect\tableofcontents, it will\MessageBreak + be tricked into believing to have been loaded with its\MessageBreak + option `titles'. \space But this will cause the `tocloft'\MessageBreak + customization of the titles of the main list of figures\MessageBreak + and list of tables to not apply either.\MessageBreak + You should load `tocloft' before `etoc'.}% + \AtEndDocument{\PackageWarning{etoc} + {Please load `tocloft' before `etoc'!\@gobbletwo}}% + \fi + \@cftnctoctrue }% + {}% + }% + }% +} +\@ifclassloaded{memoir} +{} +{% memoir not loaded + \AtBeginDocument{% + \@ifpackageloaded{tocloft} + {% + \def\etocclasstocstyle{% + \etoctocloftstyle + \Etoc@classstyletrue + }% + \ifEtoc@etocstyle + \ifEtoc@classstyle + \etocclasstocstyle + \Etoc@etocstyletrue + \fi + \else + \ifEtoc@classstyle + \etocclasstocstyle + \fi + \fi + }% + {% no tocloft + \@ifpackageloaded {tocbibind} + {\if@dotoctoc + \def\etocclasstocstyle{% + \etoctocbibindstyle + \Etoc@classstyletrue + }% + \ifEtoc@etocstyle + \ifEtoc@classstyle + \etocclasstocstyle + \Etoc@etocstyletrue + \fi + \else + \ifEtoc@classstyle + \etocclasstocstyle + \fi + \fi + \ifEtoc@keeporiginaltoc + \else + \let\tableofcontents\etoctableofcontents + \fi + }% + {}% + }% + \@ifpackageloaded{tocbibind} + {% tocbibind, perhaps with tocloft + \if@dotoctoc + \ifEtoc@keeporiginaltoc + \else + \let\tableofcontents\etoctableofcontents + \fi + \etocsetup{maintoctotoc,localtoctotoc}% + \PackageInfo{etoc}{% + Setting (or re-setting) the options `maintoctotoc' and\MessageBreak + `localtoctotoc' to true as tocbibind was detected and\MessageBreak + found to be configured for `TOC to toc'.\MessageBreak + Reported at begin document}% + \fi + \if@dotoclof + \ifEtoc@lof + \etocsetup{localloftotoc}% + \PackageInfo{etoc}{% + Setting (or re-setting) `localloftotoc=true' as the\MessageBreak + package tocbibind was detected and is configured for\MessageBreak + `LOF to toc'. Reported at begin document}% + \fi + \fi + \if@dotoclot + \ifEtoc@lot + \etocsetup{locallottotoc}% + \PackageInfo{etoc}{% + Setting (or re-setting) `locallottotoc=true' as the\MessageBreak + package tocbibind was detected and is configured for\MessageBreak + `LOT to toc'. Reported at begin document}% + \fi + \fi + }% end of tocbibind branch + {}% + }% end of at begin document +}% end of not with memoir branch +\def\Etoc@addtocontents #1#2{% + \addtocontents {toc}{% + \protect\contentsline{#1}{#2}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% + \ifdefined\protected@file@percent\protected@file@percent\fi + }% +} +\def\Etoc@addcontentsline@ #1#2#3{% + \@namedef{toclevel@#1}{#3}\addcontentsline {toc}{#1}{#2}% +} +\DeclareRobustCommand*{\etoctoccontentsline} + {\@ifstar{\Etoc@addcontentsline@}{\Etoc@addtocontents}} +\def\Etoc@addtocontents@immediately#1#2{% + \begingroup + \let\Etoc@originalwrite\write + \def\write{\immediate\Etoc@originalwrite}% + \Etoc@addtocontents{#1}{#2}% + \endgroup +} +\def\Etoc@addcontentsline@@immediately#1#2#3{% + \begingroup + \let\Etoc@originalwrite\write + \def\write{\immediate\Etoc@originalwrite}% + \Etoc@addcontentsline@{#1}{#2}{#3}% + \endgoroup +} +\DeclareRobustCommand*{\etocimmediatetoccontentsline} + {\@ifstar{\Etoc@addcontentsline@@immediately}{\Etoc@addtocontents@immediately}} +\def\Etoc@storetocdepth {\xdef\Etoc@savedtocdepth{\number\c@tocdepth}} +\def\Etoc@restoretocdepth {\global\c@tocdepth\Etoc@savedtocdepth\relax} +\def\etocobeytoctocdepth {\def\etoc@settocdepth + {\afterassignment\Etoc@@nottoodeep \global\c@tocdepth}} +\def\Etoc@@nottoodeep {\ifnum\Etoc@savedtocdepth<\c@tocdepth + \global\c@tocdepth\Etoc@savedtocdepth\relax\fi } +\def\etocignoretoctocdepth {\let\etoc@settocdepth\@gobble } +\def\etocsettocdepth {\futurelet\Etoc@nexttoken\Etoc@set@tocdepth } +\def\Etoc@set@tocdepth {\ifx\Etoc@nexttoken\bgroup + \expandafter\Etoc@set@tocdepth@ + \else\expandafter\Etoc@set@toctocdepth + \fi } +\def\Etoc@set@tocdepth@ #1{\@ifundefined {Etoc@#1@@} + {\PackageWarning{etoc} + {Unknown sectioning unit #1, \protect\etocsettocdepth\space ignored}} + {\global\c@tocdepth\csname Etoc@#1@@\endcsname}% +} +\def\Etoc@set@toctocdepth #1#{\Etoc@set@toctocdepth@ } +\def\Etoc@set@toctocdepth@ #1{% + \@ifundefined{Etoc@#1@@}% + {\PackageWarning{etoc} + {Unknown sectioning depth #1, \protect\etocsettocdepth.toc ignored}}% + {\addtocontents {toc} + {\protect\etoc@settocdepth\expandafter\protect\csname Etoc@#1@@\endcsname}}% +} +\def\etocimmediatesettocdepth #1#{\Etoc@set@toctocdepth@immediately} +\def\Etoc@set@toctocdepth@immediately #1{% + \@ifundefined{Etoc@#1@@}% + {\PackageWarning{etoc} + {Unknown sectioning depth #1, \protect\etocimmediatesettocdepth.toc ignored}}% + {\begingroup + \let\Etoc@originalwrite\write + \def\write{\immediate\Etoc@originalwrite}% + \addtocontents {toc} + {\protect\etoc@settocdepth\expandafter\protect + \csname Etoc@#1@@\endcsname}% + \endgroup + }% +} +\def\etocdepthtag #1#{\Etoc@depthtag } +\def\Etoc@depthtag #1{\addtocontents {toc}{\protect\etoc@depthtag {#1}}} +\def\etocimmediatedepthtag #1#{\Etoc@depthtag@immediately } +\def\Etoc@depthtag@immediately #1{% + \begingroup + \let\Etoc@originalwrite\write + \def\write{\immediate\Etoc@originalwrite}% + \addtocontents {toc}{\protect\etoc@depthtag {#1}}% + \endgroup +} +\def\etocignoredepthtags {\let\etoc@depthtag \@gobble } +\def\etocobeydepthtags {\let\etoc@depthtag \Etoc@depthtag@ } +\def\Etoc@depthtag@ #1{\@ifundefined{Etoc@depthof@#1}% + {}% ignore in silence if tag has no associated depth + {\afterassignment\Etoc@@nottoodeep + \global\c@tocdepth\csname Etoc@depthof@#1\endcsname}% +} +\def\etocsettagdepth #1#2{\@ifundefined{Etoc@#2@@}% + {\PackageWarning{etoc} + {Unknown sectioning depth #2, \protect\etocsettagdepth\space ignored}}% + {\@namedef{Etoc@depthof@#1}{\@nameuse{Etoc@#2@@}}}% +} +\def\Etoc@tocvsec@err #1{\PackageError {etoc} + {The command \protect#1\space is incompatible with `etoc'} + {Use \protect\etocsettocdepth.toc as replacement}% +}% +\AtBeginDocument {% + \@ifclassloaded{memoir} + {\PackageInfo {etoc} + {Regarding `memoir' class command \protect\settocdepth, consider\MessageBreak + \protect\etocsettocdepth.toc as a drop-in replacement with more\MessageBreak + capabilities (see `etoc' manual). \space + Also, \protect\etocsettocdepth\MessageBreak + and \protect\etocsetnexttocdepth\space should be used in place of\MessageBreak + `memoir' command \protect\maxtocdepth\@gobble}% + }% + {\@ifpackageloaded {tocvsec2}{% + \def\maxtocdepth #1{\Etoc@tocvsec@err \maxtocdepth }% + \def\settocdepth #1{\Etoc@tocvsec@err \settocdepth }% + \def\resettocdepth {\@ifstar {\Etoc@tocvsec@err \resettocdepth }% + {\Etoc@tocvsec@err \resettocdepth }% + }% + \def\save@tocdepth #1#2#3{}% + \let\reset@tocdepth\relax + \let\remax@tocdepth\relax + \let\tableofcontents\etoctableofcontents + \PackageWarningNoLine {etoc} + {Package `tocvsec2' detected and its modification of\MessageBreak + \protect\tableofcontents\space reverted. \space Use + \protect\etocsettocdepth.toc\MessageBreak as a replacement + for `tocvsec2' toc-related commands}% + }% tocvsec2 loaded + {}% tocvsec2 not loaded + }% +}% +\def\invisibletableofcontents {\etocsetnexttocdepth {-3}\tableofcontents }% +\def\invisiblelocaltableofcontents + {\etocsetnexttocdepth {-3}\localtableofcontents }% +\def\etocsetnexttocdepth #1{% + \@ifundefined{Etoc@#1@@} + {\PackageWarning{etoc} + {Unknown sectioning unit #1, \protect\etocsetnextocdepth\space ignored}} + {\Etoc@setnexttocdepth{\csname Etoc@#1@@\endcsname}}% +}% +\def\Etoc@setnexttocdepth#1{% + \def\Etoc@tocdepthset{% + \Etoc@tocdepthreset + \edef\Etoc@tocdepthreset {% + \global\c@tocdepth\the\c@tocdepth\space + \global\let\noexpand\Etoc@tocdepthreset\noexpand\@empty + }% + \global\c@tocdepth#1% + \global\let\Etoc@tocdepthset\@empty + }% +}% +\let\Etoc@tocdepthreset\@empty +\let\Etoc@tocdepthset \@empty +\def\etocsetlocaltop #1#{\Etoc@set@localtop}% +\def\Etoc@set@localtop #1{% + \@ifundefined{Etoc@#1@@}% + {\PackageWarning{etoc} + {Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}% + {\addtocontents {toc} + {\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}% +}% +\def\etocimmediatesetlocaltop #1#{\Etoc@set@localtop@immediately}% +\def\Etoc@set@localtop@immediately #1{% + \@ifundefined{Etoc@#1@@}% + {\PackageWarning{etoc} + {Unknown sectioning depth #1, \protect\etocimmediatesetlocaltop.toc ignored}}% + {\begingroup + \let\Etoc@originalwrite\write + \def\write{\immediate\Etoc@originalwrite}% + \addtocontents {toc} + {\protect\etoc@setlocaltop\expandafter\protect + \csname Etoc@#1@@\endcsname}% + \endgroup + }% +}% +\def\etoc@setlocaltop #1{% + \ifnum#1=\Etoc@maxlevel + \Etoc@skipthisonetrue + \else + \Etoc@skipthisonefalse + \global\let\Etoc@level #1% + \global\let\Etoc@virtualtop #1% + \ifEtoc@localtoc + \ifEtoc@stoptoc + \Etoc@skipthisonetrue + \else + \ifEtoc@notactive + \Etoc@skipthisonetrue + \else + \unless\ifnum\Etoc@level>\etoclocaltop + \Etoc@skipthisonetrue + \global\Etoc@stoptoctrue + \fi + \fi + \fi + \fi + \fi + \let\Etoc@next\@empty + \ifEtoc@skipthisone + \else + \ifnum\Etoc@level>\c@tocdepth + \else + \ifEtoc@standardlines + \else + \let\Etoc@next\Etoc@setlocaltop@doendsandbegin + \fi + \fi + \fi + \Etoc@next +}% +\def\Etoc@setlocaltop@doendsandbegin{% + \Etoc@doendsandbegin + \global\Etoc@skipprefixfalse +} +\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}% + {\let\protect\etoc@startlocaltoc\protect\@gobble + \let\protect\etoc@settocdepth\protect\@gobble + \let\protect\etoc@depthtag\protect\@gobble + \let\protect\etoc@setlocaltop\protect\@gobble}{}}% +\def\etocstandardlines {\Etoc@standardlinestrue} +\def\etoctoclines {\Etoc@standardlinesfalse} +\etocdefaultlines +\etocstandardlines +\def\etocstandarddisplaystyle{% + \PackageWarningNoLine{etoc}{% + \string\etocstandarddisplaystyle \on@line\MessageBreak + is deprecated. \space Please use \string\etocclasstocstyle}% +} +\expandafter\def\expandafter\etocclasstocstyle\expandafter{% + \etocclasstocstyle + \Etoc@classstyletrue +} +\def\etocetoclocaltocstyle{\Etoc@etocstyletrue} +\def\etocusertocstyle{\Etoc@etocstylefalse} +\etocclasstocstyle +\etocetoclocaltocstyle +\etocobeytoctocdepth +\etocobeydepthtags +\let\etocbeforetitlehook \@empty +\let\etocaftertitlehook \@empty +\let\etocaftercontentshook \@empty +\let\etocaftertochook \@empty +\def\etockeeporiginaltableofcontents + {\Etoc@keeporiginaltoctrue\let\tableofcontents\etocoriginaltableofcontents}% +\endinput +%% +%% End of file `etoc.sty'. + diff --git a/docs/latex/files.tex b/docs/latex/files.tex new file mode 100644 index 0000000..a0d3bc4 --- /dev/null +++ b/docs/latex/files.tex @@ -0,0 +1,22 @@ +\doxysection{File List} +Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{headers/firefly/\mbox{\hyperlink{vector_8hpp}{vector.\+hpp}} }{\pageref{vector_8hpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{add_8cpp}{add.\+cpp}} }{\pageref{add_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{angle__with_8cpp}{angle\+\_\+with.\+cpp}} }{\pageref{angle__with_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{area_8cpp}{area.\+cpp}} }{\pageref{area_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{cross_8cpp}{cross.\+cpp}} }{\pageref{cross_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{dot_8cpp}{dot.\+cpp}} }{\pageref{dot_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{elem__sum_8cpp}{elem\+\_\+sum.\+cpp}} }{\pageref{elem__sum_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{indexers_8cpp}{indexers.\+cpp}} }{\pageref{indexers_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{is__normalized_8cpp}{is\+\_\+normalized.\+cpp}} }{\pageref{is__normalized_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{is__orthogonal_8cpp}{is\+\_\+orthogonal.\+cpp}} }{\pageref{is__orthogonal_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{is__parallel_8cpp}{is\+\_\+parallel.\+cpp}} }{\pageref{is__parallel_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{is__zero_8cpp}{is\+\_\+zero.\+cpp}} }{\pageref{is__zero_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{magnitude_8cpp}{magnitude.\+cpp}} }{\pageref{magnitude_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{normalize_8cpp}{normalize.\+cpp}} }{\pageref{normalize_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{rank_8cpp}{rank.\+cpp}} }{\pageref{rank_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{scale_8cpp}{scale.\+cpp}} }{\pageref{scale_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{subtract_8cpp}{subtract.\+cpp}} }{\pageref{subtract_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{vector_8cpp}{vector.\+cpp}} }{\pageref{vector_8cpp}}{} +\item\contentsline{section}{src/vector/\mbox{\hyperlink{view_8cpp}{view.\+cpp}} }{\pageref{view_8cpp}}{} +\end{DoxyCompactList} diff --git a/docs/latex/indexers_8cpp.tex b/docs/latex/indexers_8cpp.tex new file mode 100644 index 0000000..f165343 --- /dev/null +++ b/docs/latex/indexers_8cpp.tex @@ -0,0 +1,9 @@ +\doxysection{src/vector/indexers.cpp File Reference} +\hypertarget{indexers_8cpp}{}\label{indexers_8cpp}\index{src/vector/indexers.cpp@{src/vector/indexers.cpp}} +{\ttfamily \#include $<$stdexcept$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/indexers_8cpp__incl.md5 b/docs/latex/indexers_8cpp__incl.md5 new file mode 100644 index 0000000..9a97297 --- /dev/null +++ b/docs/latex/indexers_8cpp__incl.md5 @@ -0,0 +1 @@ +7456b4d26bcec4cca4d7c87d13e5791a \ No newline at end of file diff --git a/docs/latex/indexers_8cpp__incl.pdf b/docs/latex/indexers_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a319619c7eaa89513b0f21a30a0f8e9b19d04df9 GIT binary patch literal 11608 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 ef!n_#ipLm?V{?aQ+W<4jaP& literal 0 HcmV?d00001 diff --git a/docs/latex/is__normalized_8cpp.tex b/docs/latex/is__normalized_8cpp.tex new file mode 100644 index 0000000..68fcd54 --- /dev/null +++ b/docs/latex/is__normalized_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/is\+\_\+normalized.cpp File Reference} +\hypertarget{is__normalized_8cpp}{}\label{is__normalized_8cpp}\index{src/vector/is\_normalized.cpp@{src/vector/is\_normalized.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/is__normalized_8cpp__incl.md5 b/docs/latex/is__normalized_8cpp__incl.md5 new file mode 100644 index 0000000..33b10e5 --- /dev/null +++ b/docs/latex/is__normalized_8cpp__incl.md5 @@ -0,0 +1 @@ +aeae5573fb84a5148a9019649f8863d7 \ No newline at end of file diff --git a/docs/latex/is__normalized_8cpp__incl.pdf b/docs/latex/is__normalized_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..269090ed066f3c5137f52b8a93640c11f05ed67b GIT binary patch literal 11511 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 literal 0 HcmV?d00001 diff --git a/docs/latex/is__parallel_8cpp.tex b/docs/latex/is__parallel_8cpp.tex new file mode 100644 index 0000000..9a58af8 --- /dev/null +++ b/docs/latex/is__parallel_8cpp.tex @@ -0,0 +1,9 @@ +\doxysection{src/vector/is\+\_\+parallel.cpp File Reference} +\hypertarget{is__parallel_8cpp}{}\label{is__parallel_8cpp}\index{src/vector/is\_parallel.cpp@{src/vector/is\_parallel.cpp}} +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/is__parallel_8cpp__incl.md5 b/docs/latex/is__parallel_8cpp__incl.md5 new file mode 100644 index 0000000..0f3ae2d --- /dev/null +++ b/docs/latex/is__parallel_8cpp__incl.md5 @@ -0,0 +1 @@ +685a394ec29004d95a501cce3c31a7d1 \ No newline at end of file diff --git a/docs/latex/is__parallel_8cpp__incl.pdf b/docs/latex/is__parallel_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..27f95df25066689b7d795d56be6de8ded2db6a64 GIT binary patch literal 11397 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\newline +{\ttfamily \#include $<$functional$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/is__zero_8cpp__incl.md5 b/docs/latex/is__zero_8cpp__incl.md5 new file mode 100644 index 0000000..29b8a41 --- /dev/null +++ b/docs/latex/is__zero_8cpp__incl.md5 @@ -0,0 +1 @@ +c0acb184b46a6d8f773893ea894d9e3d \ No newline at end of file diff --git a/docs/latex/is__zero_8cpp__incl.pdf b/docs/latex/is__zero_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..60048fd42d440f53950e3deda211d822f6f8a774 GIT binary patch literal 12030 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
J!WqB?{=2xixPu2k7r+hzf`I^bZYUT4 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 OHxQGaUP>8;`M&@Yj@\@ne + \@twocolumntrue + \fi + \fi + \if@twocolumn + \LT@err{longtable not in 1-column mode}\@ehc + \fi + \begingroup + \@ifnextchar[\LT@array{\LT@array[x]}} +\def\LT@array[#1]#2{% + \refstepcounter{table}\stepcounter{LT@tables}% + \if l#1% + \LTleft\z@ \LTright\fill + \else\if r#1% + \LTleft\fill \LTright\z@ + \else\if c#1% + \LTleft\fill \LTright\fill + \fi\fi\fi + \let\LT@mcol\multicolumn + \let\LT@@tabarray\@tabarray + \let\LT@@hl\hline + \def\@tabarray{% + \let\hline\LT@@hl + \LT@@tabarray}% + \let\\\LT@tabularcr\let\tabularnewline\\% + \def\newpage{\noalign{\break}}% + \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% + \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% + \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption + \@tempdima\ht\strutbox + \let\@endpbox\LT@endpbox + \ifx\extrarowheight\@undefined + \let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \def\@startpbox{\vtop\LT@startpbox}% + \let\@@startpbox\@startpbox + \let\@@endpbox\@endpbox + \let\LT@LL@FM@cr\@tabularcr + \else + \advance\@tempdima\extrarowheight + \col@sep\tabcolsep + \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr + \fi + \setbox\@arstrutbox\hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \let\@sharp##\let\protect\relax + \begingroup + \@mkpream{#2}% + \xdef\LT@bchunk{% + \global\advance\c@LT@chunks\@ne + \global\LT@rows\z@\setbox\z@\vbox\bgroup + \LT@setprevdepth + \tabskip\LTleft \noexpand\halign to\hsize\bgroup + \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% + \endgroup + \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols + \LT@make@row + \m@th\let\par\@empty + \everycr{}\lineskip\z@\baselineskip\z@ + \LT@bchunk} +\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}} +\def\LT@start{% + \let\LT@start\endgraf + \endgraf\penalty\z@\vskip\LTpre + \dimen@\pagetotal + \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \ht\LT@foot + \dimen@ii\vfuzz + \vfuzz\maxdimen + \setbox\tw@\copy\z@ + \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox + \setbox\tw@\vbox{\unvbox\tw@}% + \vfuzz\dimen@ii + \advance\dimen@ \ht + \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@\dp + \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@ -\pagegoal + \ifdim \dimen@>\z@\vfil\break\fi + \global\@colroom\@colht + \ifvoid\LT@foot\else + \advance\vsize-\ht\LT@foot + \global\advance\@colroom-\ht\LT@foot + \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ + \maxdepth\z@ + \fi + \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak + \output{\LT@output}} +\def\endlongtable{% + \crcr + \noalign{% + \let\LT@entry\LT@entry@chop + \xdef\LT@save@row{\LT@save@row}}% + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \if@filesw + {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname LT@\romannumeral\c@LT@tables\endcsname + {\LT@save@row}}}% + \fi + \ifx\LT@save@row\LT@@save@row + \else + \LT@warn{Column \@width s have changed\MessageBreak + in table \thetable}% + \LT@final@warn + \fi + \endgraf\penalty -\LT@end@pen + \endgroup + \global\@mparbottom\z@ + \pagegoal\vsize + \endgraf\penalty\z@\addvspace\LTpost + \ifvoid\footins\else\insert\footins{}\fi} +\def\LT@nofcols#1&{% + \futurelet\@let@token\LT@n@fcols} +\def\LT@n@fcols{% + \advance\LT@cols\@ne + \ifx\@let@token\LT@nofcols + \expandafter\@gobble + \else + \expandafter\LT@nofcols + \fi} +\def\LT@tabularcr{% + \relax\iffalse{\fi\ifnum0=`}\fi + \@ifstar + {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr + \LT@t@bularcr}% + {\LT@t@bularcr}} +\let\LT@crcr\crcr +\let\LT@setprevdepth\relax +\def\LT@t@bularcr{% + \global\advance\LT@rows\@ne + \ifnum\LT@rows=\LTchunksize + \gdef\LT@setprevdepth{% + \prevdepth\z@\global + \global\let\LT@setprevdepth\relax}% + \expandafter\LT@xtabularcr + \else + \ifnum0=`{}\fi + \expandafter\LT@LL@FM@cr + \fi} +\def\LT@xtabularcr{% + \@ifnextchar[\LT@argtabularcr\LT@ntabularcr} +\def\LT@ntabularcr{% + \ifnum0=`{}\fi + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \LT@bchunk} +\def\LT@argtabularcr[#1]{% + \ifnum0=`{}\fi + \ifdim #1>\z@ + \unskip\@xargarraycr{#1}% + \else + \@yargarraycr{#1}% + \fi + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \LT@bchunk} +\def\LT@echunk{% + \crcr\LT@save@row\cr\egroup + \global\setbox\@ne\lastbox + \unskip + \egroup} +\def\LT@entry#1#2{% + \ifhmode\@firstofone{&}\fi\omit + \ifnum#1=\c@LT@chunks + \else + \kern#2\relax + \fi} +\def\LT@entry@chop#1#2{% + \noexpand\LT@entry + {\ifnum#1>\c@LT@chunks + 1}{0pt% + \else + #1}{#2% + \fi}} +\def\LT@entry@write{% + \noexpand\LT@entry^^J% + \@spaces} +\def\LT@kill{% + \LT@echunk + \LT@get@widths + \expandafter\LT@rebox\LT@bchunk} +\def\LT@rebox#1\bgroup{% + #1\bgroup + \unvbox\z@ + \unskip + \setbox\z@\lastbox} +\def\LT@blank@row{% + \xdef\LT@save@row{\expandafter\LT@build@blank + \romannumeral\number\LT@cols 001 }} +\def\LT@build@blank#1{% + \if#1m% + \noexpand\LT@entry{1}{0pt}% + \expandafter\LT@build@blank + \fi} +\def\LT@make@row{% + \global\expandafter\let\expandafter\LT@save@row + \csname LT@\romannumeral\c@LT@tables\endcsname + \ifx\LT@save@row\relax + \LT@blank@row + \else + {\let\LT@entry\or + \if!% + \ifcase\expandafter\expandafter\expandafter\LT@cols + \expandafter\@gobble\LT@save@row + \or + \else + \relax + \fi + !% + \else + \aftergroup\LT@blank@row + \fi}% + \fi} +\let\setlongtables\relax +\def\LT@get@widths{% + \setbox\tw@\hbox{% + \unhbox\@ne + \let\LT@old@row\LT@save@row + \global\let\LT@save@row\@empty + \count@\LT@cols + \loop + \unskip + \setbox\tw@\lastbox + \ifhbox\tw@ + \LT@def@row + \advance\count@\m@ne + \repeat}% + \ifx\LT@@save@row\@undefined + \let\LT@@save@row\LT@save@row + \fi} +\def\LT@def@row{% + \let\LT@entry\or + \edef\@tempa{% + \ifcase\expandafter\count@\LT@old@row + \else + {1}{0pt}% + \fi}% + \let\LT@entry\relax + \xdef\LT@save@row{% + \LT@entry + \expandafter\LT@max@sel\@tempa + \LT@save@row}} +\def\LT@max@sel#1#2{% + {\ifdim#2=\wd\tw@ + #1% + \else + \number\c@LT@chunks + \fi}% + {\the\wd\tw@}} +\def\LT@hline{% + \noalign{\ifnum0=`}\fi + \penalty\@M + \futurelet\@let@token\LT@@hline} +\def\LT@@hline{% + \ifx\@let@token\hline + \global\let\@gtempa\@gobble + \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% + \else + \global\let\@gtempa\@empty + \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% + \fi + \ifnum0=`{\fi}% + \multispan\LT@cols + \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr + \noalign{\LT@sep}% + \multispan\LT@cols + \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr + \noalign{\penalty\@M}% + \@gtempa} +\def\LT@caption{% + \noalign\bgroup + \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n} +\def\LT@c@ption#1[#2]#3{% + \LT@makecaption#1\fnum@table{#3}% + \def\@tempa{#2}% + \ifx\@tempa\@empty\else + {\let\\\space + \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}% + \fi} +\def\LT@capti@n{% + \@ifstar + {\egroup\LT@c@ption\@gobble[]}% + {\egroup\@xdblarg{\LT@c@ption\@firstofone}}} +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \sbox\@tempboxa{#1{#2: }#3}% + \ifdim\wd\@tempboxa>\hsize + #1{#2: }#3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\def\LT@output{% + \ifnum\outputpenalty <-\@Mi + \ifnum\outputpenalty > -\LT@end@pen + \LT@err{floats and marginpars not allowed in a longtable}\@ehc + \else + \setbox\z@\vbox{\unvbox\@cclv}% + \ifdim \ht\LT@lastfoot>\ht\LT@foot + \dimen@\pagegoal + \advance\dimen@-\ht\LT@lastfoot + \ifdim\dimen@<\ht\z@ + \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% + \@makecol + \@outputpage + \setbox\z@\vbox{\box\LT@head}% + \fi + \fi + \global\@colroom\@colht + \global\vsize\@colht + \vbox + {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}% + \fi + \else + \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% + \@makecol + \@outputpage + \global\vsize\@colroom + \copy\LT@head\nobreak + \fi} +\def\LT@end@hd@ft#1{% + \LT@echunk + \ifx\LT@start\endgraf + \LT@err + {Longtable head or foot not at start of table}% + {Increase LTchunksize}% + \fi + \setbox#1\box\z@ + \LT@get@widths + \LT@bchunk} +\def\endfirsthead{\LT@end@hd@ft\LT@firsthead} +\def\endhead{\LT@end@hd@ft\LT@head} +\def\endfoot{\LT@end@hd@ft\LT@foot} +\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot} +\def\LT@startpbox#1{% + \bgroup + \let\@footnotetext\LT@p@ftntext + \setlength\hsize{#1}% + \@arrayparboxrestore + \vrule \@height \ht\@arstrutbox \@width \z@} +\def\LT@endpbox{% + \@finalstrut\@arstrutbox + \egroup + \the\LT@p@ftn + \global\LT@p@ftn{}% + \hfil} +%% added \long to prevent: +% LaTeX Warning: Command \LT@p@ftntext has changed. +% +% from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx): +% \changes{v4.15}{2021/03/28} +% {make long for gh/364} +% Inside the `p' column, just save up the footnote text in a token +% register. +\long\def\LT@p@ftntext#1{% + \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}% + \global\LT@p@ftn\expandafter{\@tempa{#1}}}% + +\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen} +\endinput +%% +%% End of file `longtable.sty'. diff --git a/docs/latex/magnitude_8cpp.tex b/docs/latex/magnitude_8cpp.tex new file mode 100644 index 0000000..2975f9f --- /dev/null +++ b/docs/latex/magnitude_8cpp.tex @@ -0,0 +1,9 @@ +\doxysection{src/vector/magnitude.cpp File Reference} +\hypertarget{magnitude_8cpp}{}\label{magnitude_8cpp}\index{src/vector/magnitude.cpp@{src/vector/magnitude.cpp}} +{\ttfamily \#include $<$cmath$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/magnitude_8cpp__incl.md5 b/docs/latex/magnitude_8cpp__incl.md5 new file mode 100644 index 0000000..1f7bc90 --- /dev/null +++ b/docs/latex/magnitude_8cpp__incl.md5 @@ -0,0 +1 @@ +ca674ac36cb13430b46632b8fb2b947e \ No newline at end of file diff --git a/docs/latex/magnitude_8cpp__incl.pdf b/docs/latex/magnitude_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..28aa0f64c76783ec1a3e69b040bc50444f7c1dd9 GIT binary patch literal 11602 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 +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}{operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&\+\_\+fvec) +\end{DoxyCompactItemize} + + +\doxysubsection{Typedef Documentation} +\Hypertarget{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}\label{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e} +\index{Firefly@{Firefly}!VectorType@{VectorType}} +\index{VectorType@{VectorType}!Firefly@{Firefly}} +\doxysubsubsection{\texorpdfstring{VectorType}{VectorType}} +{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Firefly\+::\+Vector\+Type}} = typedef std\+::vector$<$\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}$>$} + + + +\doxysubsection{Function Documentation} +\Hypertarget{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}\label{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d} +\index{Firefly@{Firefly}!operator$<$$<$@{operator$<$$<$}} +\index{operator$<$$<$@{operator$<$$<$}!Firefly@{Firefly}} +\doxysubsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}} +{\footnotesize\ttfamily std\+::ostream \& Firefly\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{\mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&}]{\+\_\+fvec }\end{DoxyParamCaption})} + + +\begin{DoxyParams}{Parameters} +{\em os} & The output stream. \\ +\hline +{\em \+\_\+fvec} & The vector to print. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The output stream after printing the vector. +\end{DoxyReturn} diff --git a/docs/latex/namespaces.tex b/docs/latex/namespaces.tex new file mode 100644 index 0000000..316562a --- /dev/null +++ b/docs/latex/namespaces.tex @@ -0,0 +1,4 @@ +\doxysection{Namespace List} +Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\mbox{\hyperlink{namespaceFirefly}{Firefly}} }{\pageref{namespaceFirefly}}{} +\end{DoxyCompactList} diff --git a/docs/latex/normalize_8cpp.tex b/docs/latex/normalize_8cpp.tex new file mode 100644 index 0000000..76738cf --- /dev/null +++ b/docs/latex/normalize_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/normalize.cpp File Reference} +\hypertarget{normalize_8cpp}{}\label{normalize_8cpp}\index{src/vector/normalize.cpp@{src/vector/normalize.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/normalize_8cpp__incl.md5 b/docs/latex/normalize_8cpp__incl.md5 new file mode 100644 index 0000000..e503020 --- /dev/null +++ b/docs/latex/normalize_8cpp__incl.md5 @@ -0,0 +1 @@ +cc7218e273dd106b85981224cab6808e \ No newline at end of file diff --git a/docs/latex/normalize_8cpp__incl.pdf b/docs/latex/normalize_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..321a441d836d24f315aee780dad27527393ded22 GIT binary patch literal 11456 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 bLgeCV;_T|_3?DrZ$jt{qV_=X}mO}e4N)(|V literal 0 HcmV?d00001 diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex new file mode 100644 index 0000000..0f27344 --- /dev/null +++ b/docs/latex/refman.tex @@ -0,0 +1,250 @@ + % Handle batch mode + % to overcome problems with too many open files + \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage} + \pdfminorversion=7 + % Set document class depending on configuration + \documentclass[twoside]{book} + %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package + \usepackage{ifthen} + \ifx\requestedLaTeXdate\undefined + \usepackage{array} + \else + \usepackage{array}[=2016-10-06] + \fi + %% + % Packages required by doxygen + \makeatletter + \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} + % suppress package identification of infwarerr as it contains the word "warning" + \let\@@protected@wlog\protected@wlog + \def\protected@wlog#1{\wlog{package info suppressed}} + \RequirePackage{infwarerr} + \let\protected@wlog\@@protected@wlog + \makeatother + \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript + \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{} + \usepackage{doxygen} + \usepackage{graphicx} + \usepackage[utf8]{inputenc} + \usepackage{makeidx} + \PassOptionsToPackage{warn}{textcomp} + \usepackage{textcomp} + \usepackage[nointegrals]{wasysym} + \usepackage{ifxetex} + % NLS support packages + % Define default fonts + % Font selection + \usepackage[T1]{fontenc} + % set main and monospaced font + \usepackage[scaled=.90]{helvet} +\usepackage{courier} +\renewcommand{\familydefault}{\sfdefault} + \doxyallsectionsfont{% + \fontseries{bc}\selectfont% + \color{darkgray}% + } + \renewcommand{\DoxyLabelFont}{% + \fontseries{bc}\selectfont% + \color{darkgray}% + } + \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} + % Arguments of doxygenemoji: + % 1) '::' form of the emoji, already LaTeX-escaped + % 2) file with the name of the emoji without the .png extension + % in case image exist use this otherwise use the '::' form + \newcommand{\doxygenemoji}[2]{% + \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}% + } + % Page & text layout + \usepackage{geometry} + \geometry{% + a4paper,% + top=2.5cm,% + bottom=2.5cm,% + left=2.5cm,% + right=2.5cm% + } + \usepackage{changepage} + % Allow a bit of overflow to go unnoticed by other means + \tolerance=750 + \hfuzz=15pt + \hbadness=750 + \setlength{\emergencystretch}{15pt} + \setlength{\parindent}{0cm} + \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}} + \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}} + \doxynormalparskip + % Redefine paragraph/subparagraph environments, using sectsty fonts + \makeatletter + \renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@parafont% + }% + } + \renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@subparafont% + }% + } + \makeatother + \makeatletter + \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@} + \makeatother + % Headers & footers + \usepackage{fancyhdr} + \pagestyle{fancyplain} + \renewcommand{\footrulewidth}{0.4pt} + \fancypagestyle{fancyplain}{ + \fancyhf{} + \fancyhead[LE, RO]{\bfseries\thepage} + \fancyhead[LO]{\bfseries\rightmark} + \fancyhead[RE]{\bfseries\leftmark} + \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } + } + \fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } + \renewcommand{\headrulewidth}{0pt} + } + \pagestyle{fancyplain} + \renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% + } + \renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% + } + % ToC, LoF, LoT, bibliography, and index + % Indices & bibliography + \usepackage{natbib} + \usepackage[titles]{tocloft} + \setcounter{tocdepth}{3} + \setcounter{secnumdepth}{5} + % creating indexes + \makeindex + \usepackage{newunicodechar} + \makeatletter + \def\doxynewunicodechar#1#2{% + \@tempswafalse + \edef\nuc@tempa{\detokenize{#1}}% + \if\relax\nuc@tempa\relax + \nuc@emptyargerr + \else + \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}% + \nuc@check + \if@tempswa + \@namedef{u8:\nuc@tempa}{#2}% + \fi + \fi + } + \makeatother + \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus + \doxynewunicodechar{²}{${}^{2}$}% Superscript two + \doxynewunicodechar{³}{${}^{3}$}% Superscript three + % Hyperlinks + % Hyperlinks (required, but should be loaded last) + \ifpdf + \usepackage[pdftex,pagebackref=true]{hyperref} + \else + \ifxetex + \usepackage[pagebackref=true]{hyperref} + \else + \usepackage[ps2pdf,pagebackref=true]{hyperref} + \fi + \fi + \hypersetup{% + colorlinks=true,% + linkcolor=blue,% + citecolor=blue,% + unicode,% + pdftitle={Firefly},% + pdfsubject={Standalone library for vector and matrix calculations}% + } + % Custom commands used by the header + % Custom commands + \newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% + } + % caption style definition + \usepackage{caption} + \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} + % in page table of contents + \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}} + \etocsettocstyle{\doxytocparskip}{\doxynormalparskip} + \etocsetlevel{subsubsubsection}{4} + \etocsetlevel{subsubsubsubsection}{5} + \etocsetlevel{subsubsubsubsubsection}{6} + \etocsetlevel{subsubsubsubsubsubsection}{7} + \etocsetlevel{paragraph}{8} + \etocsetlevel{subparagraph}{9} + % prevent numbers overlap the titles in toc + \renewcommand{\numberline}[1]{#1~} +% End of preamble, now comes the document contents +%===== C O N T E N T S ===== +\begin{document} + \raggedbottom + % Titlepage & ToC + % To avoid duplicate page anchors due to reuse of same numbers for + % the index (be it as roman numbers) + \hypersetup{pageanchor=false, + bookmarksnumbered=true, + pdfencoding=unicode + } + \pagenumbering{alph} + \begin{titlepage} + \vspace*{7cm} + \begin{center}% + {\Large Firefly}\\ + [1ex]\large 2.\+0 \\ + \vspace*{1cm} + {\large Generated by Doxygen 1.9.7}\\ + \end{center} + \end{titlepage} + \clearemptydoublepage + \pagenumbering{roman} + \tableofcontents + \clearemptydoublepage + \pagenumbering{arabic} + % re-enable anchors again + \hypersetup{pageanchor=true} +%--- Begin generated contents --- +\chapter{Namespace Index} +\input{namespaces} +\chapter{Class Index} +\input{annotated} +\chapter{File Index} +\input{files} +\chapter{Namespace Documentation} +\input{namespaceFirefly} +\chapter{Class Documentation} +\input{classFirefly_1_1Vector} +\chapter{File Documentation} +\input{vector_8hpp} +\input{vector_8hpp_source} +\input{add_8cpp} +\input{angle__with_8cpp} +\input{area_8cpp} +\input{cross_8cpp} +\input{dot_8cpp} +\input{elem__sum_8cpp} +\input{indexers_8cpp} +\input{is__normalized_8cpp} +\input{is__orthogonal_8cpp} +\input{is__parallel_8cpp} +\input{is__zero_8cpp} +\input{magnitude_8cpp} +\input{normalize_8cpp} +\input{rank_8cpp} +\input{scale_8cpp} +\input{subtract_8cpp} +\input{vector_8cpp} +\input{view_8cpp} +%--- End generated contents --- +% Index + \backmatter + \newpage + \phantomsection + \clearemptydoublepage + \addcontentsline{toc}{chapter}{\indexname} + \printindex +% Required for some languages (in combination with latexdocumentpre from the header) +\end{document} diff --git a/docs/latex/scale_8cpp.tex b/docs/latex/scale_8cpp.tex new file mode 100644 index 0000000..d044182 --- /dev/null +++ b/docs/latex/scale_8cpp.tex @@ -0,0 +1,9 @@ +\doxysection{src/vector/scale.cpp File Reference} +\hypertarget{scale_8cpp}{}\label{scale_8cpp}\index{src/vector/scale.cpp@{src/vector/scale.cpp}} +{\ttfamily \#include $<$algorithm$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/scale_8cpp__incl.md5 b/docs/latex/scale_8cpp__incl.md5 new file mode 100644 index 0000000..0ebd7b1 --- /dev/null +++ b/docs/latex/scale_8cpp__incl.md5 @@ -0,0 +1 @@ +df55ab7ee03bdc9240bfd3c26d3d792c \ No newline at end of file diff --git a/docs/latex/scale_8cpp__incl.pdf b/docs/latex/scale_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..13e336fdfe61947af7b1ef15e7e5793b1dd0c9be GIT binary patch literal 11516 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 literal 0 HcmV?d00001 diff --git a/docs/latex/subtract_8cpp.tex b/docs/latex/subtract_8cpp.tex new file mode 100644 index 0000000..d804346 --- /dev/null +++ b/docs/latex/subtract_8cpp.tex @@ -0,0 +1,9 @@ +\doxysection{src/vector/subtract.cpp File Reference} +\hypertarget{subtract_8cpp}{}\label{subtract_8cpp}\index{src/vector/subtract.cpp@{src/vector/subtract.cpp}} +{\ttfamily \#include $<$iostream$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/subtract_8cpp__incl.md5 b/docs/latex/subtract_8cpp__incl.md5 new file mode 100644 index 0000000..de5401d --- /dev/null +++ b/docs/latex/subtract_8cpp__incl.md5 @@ -0,0 +1 @@ +384410bf3d041992218cbeb2496fdbb9 \ No newline at end of file diff --git a/docs/latex/subtract_8cpp__incl.pdf b/docs/latex/subtract_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ad41d76724d9c84634a2b615fe93b5d32e388589 GIT binary patch literal 11498 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 KCP`%}tp5US literal 0 HcmV?d00001 diff --git a/docs/latex/tabu_doxygen.sty b/docs/latex/tabu_doxygen.sty new file mode 100644 index 0000000..3f17d1d --- /dev/null +++ b/docs/latex/tabu_doxygen.sty @@ -0,0 +1,2557 @@ +%% +%% This is file `tabu.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tabu.dtx (with options: `package') +%% +%% This is a generated file. +%% Copyright (FC) 2010-2011 - lppl +%% +%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars +%% +%% ********************************************************************************************** +%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal +%% \begin{tabu} to { preamble } => target specified +%% \begin{tabu} spread { preamble } => target relative to the ``natural width'' +%% +%% tabu works in text and in math modes. +%% +%% X columns: automatic width adjustment + horizontal and vertical alignment +%% \begin{tabu} { X[4c] X[1c] X[-2ml] } +%% +%% Horizontal lines and / or leaders: +%% \hline\hline => double horizontal line +%% \firsthline\hline => for nested tabulars +%% \lasthline\hline => for nested tabulars +%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader) +%% Automatic lines / leaders : +%% \everyrow{\hline\hline} +%% +%% Vertical lines and / or leaders: +%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] } +%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] } +%% +%% Fixed vertical spacing adjustment: +%% \extrarowheight= \extrarowdepth= +%% or: \extrarowsep= => may be prefixed by \global +%% +%% Dynamic vertical spacing adjustment: +%% \abovetabulinesep= \belowtabulinesep= +%% or: \tabulinesep= => may be prefixed by \global +%% +%% delarray.sty shortcuts: in math and text modes +%% \begin{tabu} .... \({ preamble }\) +%% +%% Algorithms reports: +%% \tracingtabu=1 \tracingtabu=2 +%% +%% ********************************************************************************************** +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% +%% This work consists of the main source file tabu.dtx +%% and the derived files +%% tabu.sty, tabu.pdf, tabu.ins +%% +%% tabu : Flexible LaTeX tabulars +%% lppl copyright 2010-2011 by FC +%% + +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen] +\RequirePackage{array}[2008/09/09] +\RequirePackage{varwidth}[2009/03/30] +\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} +\let\tabu@AtEnd\@empty +\def\TMP@EnsureCode#1={% + \edef\tabu@AtEnd{\tabu@AtEnd + \catcode#1 \the\catcode#1}% + \catcode#1=% +}% \TMP@EnsureCode +\TMP@EnsureCode 33 = 12 % ! +\TMP@EnsureCode 58 = 12 % : (for siunitx) +\TMP@EnsureCode124 = 12 % | +\TMP@EnsureCode 36 = 3 % $ = math shift +\TMP@EnsureCode 38 = 4 % & = tab alignment character +\TMP@EnsureCode 32 = 10 % space +\TMP@EnsureCode 94 = 7 % ^ +\TMP@EnsureCode 95 = 8 % _ +%% Constants -------------------------------------------------------- +\newcount \c@taburow \def\thetaburow {\number\c@taburow} +\newcount \tabu@nbcols +\newcount \tabu@cnt +\newcount \tabu@Xcol +\let\tabu@start \@tempcnta +\let\tabu@stop \@tempcntb +\newcount \tabu@alloc \tabu@alloc=\m@ne +\newcount \tabu@nested +\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc} +\newdimen \tabu@target +\newdimen \tabu@spreadtarget +\newdimen \tabu@naturalX +\newdimen \tabucolX +\let\tabu@DELTA \@tempdimc +\let\tabu@thick \@tempdima +\let\tabu@on \@tempdimb +\let\tabu@off \@tempdimc +\newdimen \tabu@Xsum +\newdimen \extrarowdepth +\newdimen \abovetabulinesep +\newdimen \belowtabulinesep +\newdimen \tabustrutrule \tabustrutrule \z@ +\newtoks \tabu@thebody +\newtoks \tabu@footnotes +\newsavebox \tabu@box +\newsavebox \tabu@arstrutbox +\newsavebox \tabu@hleads +\newsavebox \tabu@vleads +\newif \iftabu@colortbl +\newif \iftabu@siunitx +\newif \iftabu@measuring +\newif \iftabu@spread +\newif \iftabu@negcoef +\newif \iftabu@everyrow +\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue} +\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse} +\newif \iftabu@long +\newif \iftabuscantokens +\def\tabu@rescan {\tabu@verbatim \scantokens } +%% Utilities (for internal usage) ----------------------------------- +\def\tabu@gobblespace #1 {#1} +\def\tabu@gobbletoken #1#2{#1} +\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex} +\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble + \else\ifx \@sptoken\@let@token + \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX + \fi\fi +}% \tabu@gobblex +\def\tabu@X{^^J} +{\obeyspaces +\global\let\tabu@spxiii= % saves an active space (for \ifx) +\gdef\tabu@@spxiii{ }} +\def\tabu@ifenvir {% only for \multicolumn + \expandafter\tabu@if@nvir\csname\@currenvir\endcsname +}% \tabu@ifenvir +\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else + \ifx\longtabu#1first\else + second\fi\fi oftwo\endcsname +}% \tabu@ifenvir +\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi} +{\catcode`\&=3 +\gdef\tabu@strtrim #1{% #1 = control sequence to trim + \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi + \let\tabu@c@l@r \@empty \let#1\@empty + \else \expandafter \tabu@trimspaces #1\@nnil + \fi +}% \tabu@strtrim +\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }% +\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&} +\gdef\tabu@lastspace #1{\def #3{#1}% + \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi + \tabu@trimspaces #1\@nnil} +}% \catcode +\def\tabu@sanitizearg #1#2{{% + \csname \ifcsname if@safe@actives\endcsname % + @safe@activestrue\else + relax\fi \endcsname + \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2% + \expandafter}\expandafter\def\expandafter#2\expandafter{#2}% +}% \tabu@sanitizearg +\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}% + \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!! +}% \tabu@textbar +\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi} +\def\tabu@everyrow@egroup{% + \iftabu@everyrow \expandafter \endgroup \the\toks@ + \else \ifnum0=`{\fi}% + \fi +}% \tabu@everyrow@egroup +\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule + height \arraystretch \dimexpr\ht\strutbox+\extrarowheight + depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth + width \z@}% +}% \tabu@arstrut +\def\tabu@rearstrut {% + \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax + \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax + \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima + \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi + \tabu@mkarstrut + \fi +}% \tabu@rearstrut +\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi} +\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox + \hbox to\z@{\hbox to\z@{\hss + {\tabu@DBG{cyan}\vrule + height \arraystretch \dimexpr\ht\strutbox+\extrarowheight + depth \z@ + width \tabustrutrule}\kern-\tabustrutrule + {\tabu@DBG{pink}\vrule + height \z@ + depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth + width \tabustrutrule}}}% +}% \tabu@DBG@arstrut +\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@ + \@nextchar}}% +\def\tabu@savedecl{\ifcat$\d@llarend\else + \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode +}% \tabu@savedecl +\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@} +\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k } +\let\tabu@trialh@@k \@empty +\def\tabu@nowrite #1#{{\afterassignment}\toks@} +\let\tabu@write\write +\let\tabu@immediate\immediate +\def\tabu@WRITE{\begingroup + \def\immediate\write{\aftergroup\endgroup + \tabu@immediate\tabu@write}% +}% \tabu@WRITE +\expandafter\def\expandafter\tabu@GenericError\expandafter{% + \expandafter\tabu@WRITE\GenericError} +\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}} +\def\tabu@noxfootnote [#1]{\@gobble} +\def\tabu@nocolor #1#{\@gobble} +\newcommand*\tabu@norowcolor[2][]{} +\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}% + \futurelet\@let@token \tabu@m@ybesiunitx} +\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {% + \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi + \tabu@temp}% \tabu@m@ybesiunitx +}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname +\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}% +%% Fixed vertical spacing adjustment: \extrarowsep ------------------ +\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}% + \iftabu@everyrow \aftergroup\tabu@Gextra + \else \aftergroup\tabu@n@Gextra + \fi + \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra +}% \extrarowsep +\def\tabu@extra {\@ifnextchar_% + {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}} + {\ifx ^\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}% + \else \let\tabu@temp \@empty + \afterassignment \tabu@setextrasep \extrarowdepth + \fi \tabu@temp}% +}% \tabu@extra +\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2} +\def\tabu@extr@ #1#2{\@ifnextchar^% + {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}} + {\ifx _\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}% + \else \let\tabu@temp \@empty + \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth + \fi \tabu@temp}% +}% \tabu@extr@ +\def\tabu@setextrasep {\extrarowheight=\extrarowdepth + \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth +}% \tabu@setextrasep +\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi} +\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi} +\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra} +\let\tabu@C@extra \z@ +\let\tabu@G@extra \@empty +%% Dynamic vertical spacing adjustment: \tabulinesep ---------------- +\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}% + \iftabu@everyrow \aftergroup\tabu@Glinesep + \else \aftergroup\tabu@n@Glinesep + \fi + \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep +}% \tabulinesep +\def\tabu@linesep {\@ifnextchar_% + {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}} + {\ifx ^\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}% + \else \let\tabu@temp \@empty + \afterassignment \tabu@setlinesep \abovetabulinesep + \fi \tabu@temp}% +}% \tabu@linesep +\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2} +\def\tabu@sets@p #1#2{\@ifnextchar^% + {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}} + {\ifx _\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}% + \else \let\tabu@temp \@empty + \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep + \fi \tabu@temp}% +}% \tabu@sets@p +\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep + \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep +}% \tabu@setlinesep +\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi} +\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi} +\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep} +\let\tabu@C@linesep \z@ +\let\tabu@G@linesep \@empty +%% \global\extrarowsep and \global\tabulinesep ------------------- +\def\tabu@Gsave #1#2#3#4{\xdef#1{#1% + \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}% +}% \tabu@Gsave +\def\tabu@Grestore#1#2{% + \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax + \ifcat$\the\toks\currentgrouplevel$\else + \global\let#1\@empty \global\let#2\z@ + \the\toks\currentgrouplevel + \fi +}% \tabu@Grestore +%% Setting code for every row --------------------------------------- +\newcommand*\everyrow{\tabu@everyrow@bgroup + \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop +}% \everyrow +\def\tabu@evrstartstop {\@ifnextchar^% + {\afterassignment \tabu@evrstartstop \tabu@stop=}% + {\ifx ^\@let@token + \afterassignment\tabu@evrstartstop \tabu@start=% + \else \afterassignment\tabu@everyr@w \toks@ + \fi}% +}% \tabu@evrstartstop +\def\tabu@everyr@w {% + \xdef\tabu@everyrow{% + \noexpand\tabu@everyrowfalse + \let\noalign \relax + \noexpand\tabu@rowfontreset + \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors + \let\noexpand\tabu@docline \noexpand\tabu@docline@evr + \the\toks@ + \noexpand\tabu@evrh@@k + \noexpand\tabu@rearstrut + \global\advance\c@taburow \@ne}% + \iftabu@everyrow \toks@\expandafter + {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}% + \else \xdef\tabu@evr@G{\the\toks@}% + \fi + \tabu@everyrow@egroup +}% \tabu@everyr@w +\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only +\tabu@evr{} +%% line style and leaders ------------------------------------------- +\newcommand*\newtabulinestyle [1]{% + {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}% +}% \newtabulinestyle +\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}% + \tabu@sanitizearg {#1}\@tempa + \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi + \global\expandafter\let + \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi +}% \tabu@newlinestyle +\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}% + \iftabu@everyrow + \toks@\expandafter{\expandafter \def \expandafter + \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}% + \gdef\tabu@ls@{\tabu@ls@L}% + \else + \global\let\tabu@ls@G \tabu@thestyle + \gdef\tabu@ls@{\tabu@ls@G}% + \fi + \tabu@everyrow@egroup +}% \tabulinestyle +\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor} +\def\tabu@rulecolor #1{\toks@{}% + \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1% + \tabu@temp + \tabu@rulearc +}% \tabu@rulecolor +\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp + \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}% + \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}% + \fi + \tabu@temp +}% \tabu@ruledrsc@ +\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}} +\def\tabu@rule@drsc@ #1#2{% + \iftabu@everyrow + \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}% + \else \toks@{\def\CT@drsc@{\color #1{#2}}}% + \fi + \else + \ifx \\#1#2\\\global\let\CT@drsc@ \relax + \else \gdef\CT@drsc@{\color #1{#2}}% + \fi + \fi + \tabu@rulearc +}% \tabu@rule@drsc@ +\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}} +\def\tabu@rule@arc@ #1#2{% + \iftabu@everyrow + \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}% + \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}% + \fi + \toks@\expandafter{\the\toks@ + \let\tabu@arc@L \CT@arc@ + \let\tabu@drsc@L \CT@drsc@ + \ignorespaces}% + \else + \ifx \\#1#2\\\gdef\CT@arc@{}% + \else \gdef\CT@arc@{\color #1{#2}}% + \fi + \global\let\tabu@arc@G \CT@arc@ + \global\let\tabu@drsc@G \CT@drsc@ + \fi + \tabu@everyrow@egroup +}% \tabu@rule@arc@ +\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1} +\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}} +\def\tabu@rowc@lors #1#2#3{% + \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil + \@defaultunits \tabu@start =\number0#1\relax \@nnil + \ifnum \count@<\tw@ \count@=\tw@ \fi + \advance\tabu@start \m@ne + \ifnum \tabu@start<\z@ \tabu@start \z@ \fi + \tabu@rowcolorseries #3\in@..\in@ \@nnil +}% \tabu@rowcolors +\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {% + \ifx \in@#1\relax + \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}% + \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@ + \fi + \else + \ifx \\#2\\\tabu@rowcolorserieserror \fi + \tabu@sanitizearg{#1}\tabu@temp + \tabu@sanitizearg{#2}\@tempa + \advance\count@ \m@ne + \iftabu@everyrow + \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{% + \ifnum ##2=\c@taburow + \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi + \ifnum \c@taburow<##2 \else + \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@ + \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \rowcolor{tabu@rc@\the\tabu@nested}\fi}% + }\edef\x{\noexpand\tabu@rc@ {\the\count@} + {\the\tabu@start} + {\tabu@temp} + {\@tempa}% + }\x + \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}% + \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}% + \else % inside \noalign + \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}% + \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}% + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}% + \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{% + \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne + \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \rowcolor{tabu@rc@\the\tabu@nested}}% + }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x + \global\let\tabu@rc@G \tabu@rc@ + \fi + \fi + \tabu@everyrow@egroup +}% \tabu@rowcolorseries +\tabuDisableCommands {\let\tabu@rc@ \@empty } +\def\tabu@rowcolorserieserror {\PackageError{tabu} + {Invalid syntax for \string\taburowcolors + \MessageBreak Please look at the documentation!}\@ehd +}% \tabu@rowcolorserieserror +\newcommand*\tabureset {% + \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@ + \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}% +}% \tabureset +%% Parsing the line styles ------------------------------------------ +\def\tabu@getline #1{\begingroup + \csname \ifcsname if@safe@actives\endcsname % + @safe@activestrue\else + relax\fi \endcsname + \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa + \let\tabu@thestyle \relax + \ifcsname tabu@linestyle@\@tempa \endcsname + \edef\tabu@thestyle{\endgroup + \def\tabu@thestyle{\expandafter\noexpand + \csname tabu@linestyle@\@tempa\endcsname}% + }\tabu@thestyle + \else \expandafter\tabu@definestyle \tabu@temp \@nil + \fi +}% \tabu@getline +\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter + \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen + \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined + \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs + \def\tabu@temp{\tabu@getparam{thick}}% + \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}% + \fi + {% + \let\tabu@ \relax + \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-)) + \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}% + \expandafter}\expandafter + \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-) + \def\;{\def\:}% + \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10) + \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-) + \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi + \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi + \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi + \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen + \tabu@on \tabulineon \fi\fi + \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen + \tabu@off \tabulineoff \fi\fi + \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi + \in@true % + \else \in@false % + \fi + \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}% + \else \edef\tabu@thick{\the\tabu@thick}% + \fi + \edef \tabu@thestyle ##1##2{\endgroup + \def\tabu@thestyle{% + \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick} + {\the\tabu@on}{##1} + {\the\tabu@off}{##2}% + \else \noexpand\tabu@rulesstyle + {##1\vrule width \tabu@thick}% + {##1\leaders \hrule height \tabu@thick \hfil}% + \fi}% + }\expandafter \expandafter + \expandafter \tabu@thestyle \expandafter + \expandafter \expandafter + {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}% +}% \tabu@definestyle +{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active + \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}} + \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space} +}% \catcode +\def\tabu@oxiii #1{% + \ifcase \ifx n#1\z@ \else + \ifx f#1\@ne\else + \tw@ \fi\fi + \expandafter\tabu@onxiii + \or \expandafter\tabu@ofxiii + \else o% + \fi#1}% +\def\tabu@onxiii #1#2{% + \ifcase \ifx !#2\tw@ \else + \ifcat.\noexpand#2\z@ \else + \ifx \tabu@spxiii#2\@ne\else + \tw@ \fi\fi\fi + \tabu@getparam{on}#2\expandafter\@gobble + \or \expandafter\tabu@onxiii % (space is active) + \else o\expandafter\@firstofone + \fi{#1#2}}% +\def\tabu@ofxiii #1#2{% + \ifx #2f\expandafter\tabu@offxiii + \else o\expandafter\@firstofone + \fi{#1#2}} +\def\tabu@offxiii #1#2{% + \ifcase \ifx !#2\tw@ \else + \ifcat.\noexpand#2\z@ \else + \ifx\tabu@spxiii#2\@ne \else + \tw@ \fi\fi\fi + \tabu@getparam{off}#2\expandafter\@gobble + \or \expandafter\tabu@offxiii % (space is active) + \else o\expandafter\@firstofone + \fi{#1#2}} +\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=} +\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef + \ifx \tabu@#1\else % no more spec + \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi +}% \tabu@getcolor +\def\tabu@getc@l@r #1\tabu@ {% + \def\tabu@temp{#1}\tabu@strtrim \tabu@temp + \ifx \tabu@temp\@empty + \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists + \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r + \else \let\tabu@c@lon \tabu@c@l@r + \fi + %\else \tabu@warncolour{\tabu@temp}% + \fi%\fi + \tabu@ % next spec +}% \tabu@getc@l@r +\def\tabu@warncolour #1{\PackageWarning{tabu} + {Color #1 is not defined. Default color used}% +}% \tabu@warncolour +\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}% + \ifx \tabu@leaders\tabu@leaders@G \else + \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi +}% \tabu@leadersstyle +\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined + \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}% +}% \tabu@rulesstyle +%% The leaders boxes ------------------------------------------------ +\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color + {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor + {% % but the leaders boxes should have colors ! + \def\@therule{\vrule}\def\@thick{height}\def\@length{width}% + \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}% + \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}% + \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% + \global\let\tabu@thehleaders \tabu@theleaders + }% + {% + \def\@therule{\hrule}\def\@thick{width}\def\@length{height}% + \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}% + \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}% + \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% + \global\let\tabu@thevleaders \tabu@theleaders + }% + \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}% + }% +}% \tabu@LEADERS +\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@} +\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color + \global\setbox \tabu@leads=\@box{% + {#3\tabu@therule{#1}{#2}}% + \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi + {#3\tabu@therule{#1}{#2}}}% + \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss + {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}% + \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {% + {##1\tabu@therule{#1}{#2}}% + \xleaders \copy\tabu@leads \@ss + \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}% + }\tabu@theleaders{#3}% +}% \tabu@l@@d@rs +%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ---------- +\newcommand*\tabu {\tabu@longfalse + \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}% + \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi + \expandafter\let\csname tabu*\endcsname \tabu + \expandafter\def\csname endtabu*\endcsname{\endtabu}% + \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget +}% {tabu} +\let\tabu@tabular \tabular % +\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu} +\newcommand*\longtabu {\tabu@longtrue + \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi + \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}% + \LTchunksize=\@M + \expandafter\let\csname tabu*\endcsname \tabu + \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}% + \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts } + \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget +}% {longtabu} +\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu} +\def\tabu@nolongtabu{\PackageError{tabu} + {longtabu requires the longtable package}\@ehd} +%% Read the target and then : \tabular or \@array ------------------ +\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget } +\def\tabu@sett@rget {\tabu@target \z@ + \ifcase \ifx \bgroup\@let@token \z@ \else + \ifx \@sptoken\@let@token \@ne \else + \if t\@let@token \tw@ \else + \if s\@let@token \thr@@\else + \z@\fi\fi\fi\fi + \expandafter\tabu@begin + \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget + \or \expandafter\tabu@to + \or \expandafter\tabu@spread + \fi +}% \tabu@sett@rget +\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget} +\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget} +\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target } +\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget } +\def\tabu@linegoalt@rget {% + \ifx \tabu@temp\LNGL@setlinegoal + \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal + \tabu@begin +}% \tabu@linegoalt@rget +\def\tabu@begin #1#{% + \iftabu@measuring \expandafter\tabu@nestedmeasure \fi + \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty + \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}% + \fi + \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil +}% \tabu@begin +\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup + \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}% + \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }% +}% \tabu@tabu@ +\def\tabu@nestedmeasure {% + \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax + \tabu@spreadtrue + \else \begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}% + \expandafter\tabu@collectbody\expandafter\tabu@quickrule + \expandafter\endgroup + \fi +}% \tabu@nestedmeasure +\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target} +%% \tabu@setup \tabu@init \tabu@indent +\def\tabu@setup{\tabu@alloc@ + \ifcase \tabu@nested + \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@ + \let\tabu@afterendpar \par + \fi\fi\fi + \def\tabu@aligndefault{c}\tabu@init \tabu@indent + \else % + \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth + \fi + \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined + \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}% + \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu... + \let\@endpbox \tabu@endpbox % idem " " " " " " + \let\@tabarray \tabu@tabarray % idem " " " " " " + \tabu@setcleanup \tabu@setreset +}% \tabu@setup +\def\tabu@init{\tabu@starttimer \tabu@measuringfalse + \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}% + \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline + \let\firstline \tabu@firstline \let\lastline \tabu@lastline + \let\hline \tabu@hline \let\@xhline \tabu@xhline + \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox + \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi + \tabu@trivlist % + \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext + \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering + \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft + \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering + \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft + \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont + \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x + \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar + \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok + \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn + \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!! + \let\tabu@endpbox \@endpbox % idem " " " " " " " + \let\tabu@tabarray \@tabarray % idem " " " " " " " + \tabu@adl@fix \let\endarray \tabu@endarray % colortbl & arydshln (delarray) + \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi +}% \tabu@init +\def\tabu@indent{% correction for indentation + \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget + \everypar\expandafter{% + \the\everypar\everypar\expandafter{\the\everypar}% + \setbox\z@=\lastbox + \ifdim\wd\z@>\z@ \edef\tabu@thetarget + {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi + \box\z@}% + \fi\fi +}% \tabu@indent +\def\tabu@setcleanup {% saves last global assignments + \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax + \def\tabu@aftergroupcleanup{% + \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}% + \else + \def\tabu@aftergroupcleanup{% + \aftergroup\aftergroup\aftergroup\tabu@cleanup + \let\tabu@aftergroupcleanup \relax}% + \fi + \let\tabu@arc@Gsave \tabu@arc@G + \let\tabu@arc@G \tabu@arc@L % + \let\tabu@drsc@Gsave \tabu@drsc@G + \let\tabu@drsc@G \tabu@drsc@L % + \let\tabu@ls@Gsave \tabu@ls@G + \let\tabu@ls@G \tabu@ls@L % + \let\tabu@rc@Gsave \tabu@rc@G + \let\tabu@rc@G \tabu@rc@L % + \let\tabu@evr@Gsave \tabu@evr@G + \let\tabu@evr@G \tabu@evr@L % + \let\tabu@celllalign@save \tabu@celllalign + \let\tabu@cellralign@save \tabu@cellralign + \let\tabu@cellleft@save \tabu@cellleft + \let\tabu@cellright@save \tabu@cellright + \let\tabu@@celllalign@save \tabu@@celllalign + \let\tabu@@cellralign@save \tabu@@cellralign + \let\tabu@@cellleft@save \tabu@@cellleft + \let\tabu@@cellright@save \tabu@@cellright + \let\tabu@rowfontreset@save \tabu@rowfontreset + \let\tabu@@rowfontreset@save\tabu@@rowfontreset + \let\tabu@rowfontreset \@empty + \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset + \edef\c@taburow@save {\the\c@taburow}% + \edef\tabu@naturalX@save {\the\tabu@naturalX}% + \let\tabu@naturalXmin@save \tabu@naturalXmin + \let\tabu@naturalXmax@save \tabu@naturalXmax + \let\tabu@mkarstrut@save \tabu@mkarstrut + \edef\tabu@clarstrut{% + \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax + \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax + \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}% +}% \tabu@setcleanup +\def\tabu@cleanup {\begingroup + \globaldefs\@ne \tabu@everyrowtrue + \let\tabu@arc@G \tabu@arc@Gsave + \let\CT@arc@ \tabu@arc@G + \let\tabu@drsc@G \tabu@drsc@Gsave + \let\CT@drsc@ \tabu@drsc@G + \let\tabu@ls@G \tabu@ls@Gsave + \let\tabu@ls@ \tabu@ls@G + \let\tabu@rc@G \tabu@rc@Gsave + \let\tabu@rc@ \tabu@rc@G + \let\CT@do@color \relax + \let\tabu@evr@G \tabu@evr@Gsave + \let\tabu@celllalign \tabu@celllalign@save + \let\tabu@cellralign \tabu@cellralign@save + \let\tabu@cellleft \tabu@cellleft@save + \let\tabu@cellright \tabu@cellright@save + \let\tabu@@celllalign \tabu@@celllalign@save + \let\tabu@@cellralign \tabu@@cellralign@save + \let\tabu@@cellleft \tabu@@cellleft@save + \let\tabu@@cellright \tabu@@cellright@save + \let\tabu@rowfontreset \tabu@rowfontreset@save + \let\tabu@@rowfontreset \tabu@@rowfontreset@save + \tabu@naturalX =\tabu@naturalX@save + \let\tabu@naturalXmax \tabu@naturalXmax@save + \let\tabu@naturalXmin \tabu@naturalXmin@save + \let\tabu@mkarstrut \tabu@mkarstrut@save + \c@taburow =\c@taburow@save + \ifcase \tabu@nested \tabu@alloc \m@ne\fi + \endgroup % + \ifcase \tabu@nested + \the\tabu@footnotes \global\tabu@footnotes{}% + \tabu@afterendpar \tabu@elapsedtime + \fi + \tabu@clarstrut + \everyrow\expandafter {\tabu@evr@G}% +}% \tabu@cleanup +\let\tabu@afterendpar \relax +\def\tabu@setreset {% + \edef\tabu@savedparams {% \relax for \tabu@message@save + \ifmmode \col@sep \the\arraycolsep + \else \col@sep \the\tabcolsep \fi \relax + \arrayrulewidth \the\arrayrulewidth \relax + \doublerulesep \the\doublerulesep \relax + \extratabsurround \the\extratabsurround \relax + \extrarowheight \the\extrarowheight \relax + \extrarowdepth \the\extrarowdepth \relax + \abovetabulinesep \the\abovetabulinesep \relax + \belowtabulinesep \the\belowtabulinesep \relax + \def\noexpand\arraystretch{\arraystretch}% + \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}% + \begingroup + \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu + \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi + \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi + \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L + \expandafter \endgroup \expandafter + \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena + \let\tabu@arc@G \tabu@arc@L + \let\tabu@drsc@G \tabu@drsc@L + \let\tabu@ls@G \tabu@ls@L + \let\tabu@rc@G \tabu@rc@L + \let\tabu@evr@G \tabu@evr@L}% + \def\tabu@reset{\tabu@savedparams + \tabu@everyrowtrue \c@taburow \z@ + \let\CT@arc@ \tabu@arc@L + \let\CT@drsc@ \tabu@drsc@L + \let\tabu@ls@ \tabu@ls@L + \let\tabu@rc@ \tabu@rc@L + \global\tabu@alloc \tabu@alloc@save + \everyrow\expandafter{\tabu@evr@L}}% +}% \tabu@reset +\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}} +\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}} +%% The Rewriting Process ------------------------------------------- +\def\tabu@newcolumntype #1{% + \expandafter\tabu@new@columntype + \csname NC@find@\string#1\expandafter\endcsname + \csname NC@rewrite@\string#1\endcsname + {#1}% +}% \tabu@newcolumntype +\def\tabu@new@columntype #1#2#3{% + \def#1##1#3{\NC@{##1}}% + \let#2\relax \newcommand*#2% +}% \tabu@new@columntype +\def\tabu@privatecolumntype #1{% + \expandafter\tabu@private@columntype + \csname NC@find@\string#1\expandafter\endcsname + \csname NC@rewrite@\string#1\expandafter\endcsname + \csname tabu@NC@find@\string#1\expandafter\endcsname + \csname tabu@NC@rewrite@\string#1\endcsname + {#1}% +}% \tabu@privatecolumntype +\def\tabu@private@columntype#1#2#3#4{% + \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}% + \tabu@new@columntype#3#4% +}% \tabu@private@columntype +\let\tabu@privatecolumns \@empty +\newcommand*\tabucolumn [1]{\expandafter \def \expandafter + \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns + \NC@do #1}}% +\let\tabu@highprioritycolumns \@empty +%% The | ``column'' : rewriting process -------------------------- +\tabu@privatecolumntype |{\tabu@rewritevline} +\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}% + \expandafter \NC@find \tabu@rewritten} +\def\tabu@lines #1{% + \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi + \NC@list\expandafter{\the\NC@list \NC@do #1}% +}% \tabu@lines@ +\def\tabu@vlinearg #1{% + \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}% + \else\tabu@getline {#1}% + \fi + \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}% + }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}% + \expandafter \tabu@keepls \tabu@thestyle \@nil +}% \tabu@vlinearg +\def\tabu@keepls #1\@nil{% + \ifcat $\@cdr #1\@nil $% + \ifx \relax#1\else + \ifx \tabu@ls@#1\else + \let#1\relax + \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer + \tabu@savels\noexpand#1}\fi\fi\fi +}% \tabu@keepls +\def\tabu@thevline {\begingroup + \ifdefined\tabu@leaders + \setbox\@tempboxa=\vtop to\dimexpr + \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}% + \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox + \box\@tempboxa + \else + \tabu@thevrule + \fi \endgroup +}% \tabu@thevline +\def\tabu@savels #1{% + \expandafter\let\csname\string#1\endcsname #1% + \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset + \tabu@resetls#1}}% +\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}% +%% \multicolumn inside tabu environment ----------------------------- +\tabu@newcolumntype \tabu@rewritemulticolumn{% + \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group + \NC@list{\NC@do *}\tabu@textbar \tabu@lines + \tabu@savedecl + \tabu@privatecolumns + \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}% + \let\tabu@savels \relax + \NC@find +}% \tabu@rewritemulticolumn +\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup} +\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI} +\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup + \tabu@everyrowtrue + \NC@list{\NC@do \tabu@rewritemulticolumn}% + \expandafter\@gobbletwo % gobbles \multispan{#1} + \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}% + {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi + {#3}}% +}% \tabu@multic@lumn +%% The X column(s): rewriting process ----------------------------- +\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}} +\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten } +\def\tabu@siunitx #1{\@ifnextchar \bgroup + {\tabu@rewriteX@Ss{#1}} + {\tabu@nosiunitx{#1}}} +\def\tabu@rewriteX@Ss #1#2{\@temptokena{}% + \@defaultunits \let\tabu@temp =#2\relax\@nnil + \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi + \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}% + }\expandafter\NC@find \the\@temptokena \relax + }\expandafter\NC@rewrite@S \@gobble #2\relax + \else \tabu@siunitxerror + \fi + \expandafter \NC@find \tabu@rewritten +}% \tabu@rewriteX@Ss +\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column ! + \MessageBreak X column can only embed siunitx S or s columns}\@ehd +}% \tabu@siunitxerror +\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}% + \iftabu@measuring + \else \tabu@measuringtrue % first X column found in the preamble + \let\@halignto \relax \let\tabu@halignto \relax + \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@ + \else \tabu@spreadtarget \z@ \fi + \ifdim \tabu@target=\z@ + \setlength\tabu@target \tabu@thetarget + \tabu@message{\tabu@message@defaulttarget}% + \else \tabu@message{\tabu@message@target}\fi + \fi +}% \tabu@rewriteX +\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax + \def\tabu@rewritten{l}} +\def\tabu@Xarg #1#2#3{% + \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty + \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty + \ifx\\#1\\% + \def\tabu@rewritten{p}\tabucolX \p@ % + \else + \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@ + \tabu@Xparse {}#1\relax + \fi + \tabu@Xrewritten{#2}{#3}% +}% \tabu@Xarg +\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest} +\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}} +\def\tabu@Xtest{% + \ifcase \ifx \relax\@let@token \z@ \else + \if ,\@let@token \m@ne\else + \if p\@let@token 1\else + \if m\@let@token 2\else + \if b\@let@token 3\else + \if l\@let@token 4\else + \if c\@let@token 5\else + \if r\@let@token 6\else + \if j\@let@token 7\else + \if L\@let@token 8\else + \if C\@let@token 9\else + \if R\@let@token 10\else + \if J\@let@token 11\else + \ifx \@sptoken\@let@token 12\else + \if .\@let@token 13\else + \if -\@let@token 13\else + \ifcat $\@let@token 14\else + 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax + \or \tabu@Xtype {p}% + \or \tabu@Xtype {m}% + \or \tabu@Xtype {b}% + \or \tabu@Xalign \raggedright\relax + \or \tabu@Xalign \centering\relax + \or \tabu@Xalign \raggedleft\relax + \or \tabu@Xalign \tabu@justify\relax + \or \tabu@Xalign \RaggedRight\raggedright + \or \tabu@Xalign \Centering\centering + \or \tabu@Xalign \RaggedLeft\raggedleft + \or \tabu@Xalign \justifying\tabu@justify + \or \expandafter \tabu@Xparsespace + \or \expandafter \tabu@Xcoef + \or \expandafter \tabu@Xm@th + \or \tabu@Xcoef{}% + \else\expandafter \tabu@Xparse + \fi +}% \tabu@Xtest +\def\tabu@Xalign #1#2{% + \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu} + {Duplicate horizontal alignment specification}\fi + \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax + \else \def\tabu@Xlcr{#2}\let#2\relax\fi + \expandafter\tabu@Xparse +}% \tabu@Xalign +\def\tabu@Xtype #1{% + \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu} + {Duplicate vertical alignment specification}\fi + \def\tabu@rewritten{#1}\expandafter\tabu@Xparse +}% \tabu@Xtype +\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}% + \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi +}% \tabu@Xcoef +\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@ + \tabu@Xparse{}% +}% \tabu@Xc@ef +\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp} +\def\tabu@Xd@sp{\let\tabu@Xmath=$% + \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}% + \expandafter\tabu@Xparse + \else \expandafter\tabu@Xparse\expandafter{\expandafter}% + \fi +}% \tabu@Xd@sp +\def\tabu@Xrewritten {% + \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi + \ifdim \tabucolX<\z@ \tabu@negcoeftrue + \else\ifdim \tabucolX=\z@ \tabucolX \p@ + \fi\fi + \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}% + \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}% + \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{% + >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}% + \tabu@rewritten {\tabu@hsize \tabu@temp}% + <{##2\ifx$\tabu@Xmath$\fi}}% + }\tabu@rewritten +}% \tabu@Xrewritten +\def\tabu@hsize #1#2{% + \ifdim #2\p@<\z@ + \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else + \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi + \fi + \else #2\tabucolX + \fi +}% \tabu@hsize +%% \usetabu and \preamble: rewriting process --------------------- +\tabu@privatecolumntype \usetabu [1]{% + \ifx\\#1\\\tabu@saveerr{}\else + \@ifundefined{tabu@saved@\string#1} + {\tabu@saveerr{#1}} + {\let\tabu@rewriteX \tabu@rewriteXrestore + \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}% + \fi +}% \NC@rewrite@\usetabu +\tabu@privatecolumntype \preamble [1]{% + \ifx\\#1\\\tabu@saveerr{}\else + \@ifundefined{tabu@saved@\string#1} + {\tabu@saveerr{#1}} + {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}% + \fi +}% \NC@rewrite@\preamble +%% Controlling the rewriting process ------------------------------- +\tabu@newcolumntype \tabu@rewritefirst{% + \iftabu@long \aftergroup \tabu@longpream % + \else \aftergroup \tabu@pream + \fi + \let\tabu@ \relax \let\tabu@hsize \relax + \let\tabu@Xcoefs \@empty \let\tabu@savels \relax + \tabu@Xcol \z@ \tabu@cnt \tw@ + \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse + \global\setbox\@arstrutbox \box\@arstrutbox + \NC@list{\NC@do *}\tabu@textbar \tabu@lines + \NC@list\expandafter{\the\NC@list \NC@do X}% + \iftabu@siunitx % + \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi + \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}% + \expandafter\def\expandafter\tabu@NC@list\expandafter{% + \the\expandafter\NC@list \tabu@NC@list}% % * | X S + \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu + \expandafter \NC@do \expandafter\preamble + \the\NC@list \NC@do \tabu@rewritemiddle + \NC@do \tabu@rewritelast}% + \tabu@savedecl + \tabu@privatecolumns + \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle +}% NC@rewrite@\tabu@rewritefirst +\tabu@newcolumntype \tabu@rewritemiddle{% + \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast +}% \NC@rewrite@\tabu@rewritemiddle +\tabu@newcolumntype \tabu@rewritelast{% + \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne + \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle + \NC@do \tabu@rewritelast}% + \else \let\tabu@prev\tabu@temp + \fi + \ifcase \tabu@cnt \expandafter\tabu@endrewrite + \else \expandafter\NC@find \expandafter\tabu@rewritemiddle + \fi +}% \NC@rewrite@\tabu@rewritelast +%% Choosing the strategy -------------------------------------------- +\def\tabu@endrewrite {% + \let\tabu@temp \NC@find + \ifx \@arrayright\relax \let\@arrayright \@empty \fi + \count@=% + \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print + \iftabu@measuring + \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer + \tabu@target \csname tabu@\the\tabu@nested.T\endcsname + \tabucolX \csname tabu@\the\tabu@nested.X\endcsname + \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}% + \fi + \else\iftabu@measuring 4 % X columns + \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer + \tabu@target \the\tabu@target + \tabu@spreadtarget \the\tabu@spreadtarget}% + \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}% + \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}% + \let\tabu@Xcoefs \relax + \else\ifcase\tabu@nested \thr@@ % outer, no X + \global\let\tabu@afterendpar \relax + \else \@ne % inner, no X, outer in mode 1 or 2 + \fi + \ifdefined\tabu@usetabu + \else \ifdim\tabu@target=\z@ + \else \let\tabu@temp \tabu@extracolsep + \fi\fi + \fi + \fi + \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}% + \tabu@temp +}% \tabu@endrewrite +\def\tabu@extracolsep{\@defaultunits \expandafter\let + \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil + \ifx \tabu@temp\@sptoken + \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep + \else + \edef\tabu@temp{\noexpand\NC@find + \if |\noexpand\tabu@temp @% + \else\if !\noexpand\tabu@temp @% + \else !% + \fi\fi + {\noexpand\extracolsep\noexpand\@flushglue}}% + \fi + \tabu@temp +}% \tabu@extrac@lsep +%% Implementing the strategy ---------------------------------------- +\long\def\tabu@pream #1\@preamble {% + \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup + \NC@list\expandafter {\tabu@NC@list}% in case of nesting... + \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi + \let\tabu@savedpreamble \@preamble + \global\let\tabu@elapsedtime \relax + \tabu@thebody ={#1\tabu@aftergroupcleanup}% + \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody + \@preamble}% + \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) + \tabu@select +}% \tabu@pream +\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{% + \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup + \NC@list\expandafter {\tabu@NC@list}% in case of nesting... + \let\tabu@savedpreamble \@preamble + \global\let\tabu@elapsedtime \relax + \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}% + \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) + \tabu@select +}% \tabu@longpream +\def\tabu@select {% + \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi + \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi + \ifcase \count@ + \global\let\tabu@elapsedtime \relax + \tabu@seteverycr + \expandafter \tabuthepreamble % vertical adjustment (inherited from outer) + \or % exit in vertical measure + struts per cell because no X and outer in mode 3 + \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \tabu@seteverycr + \expandafter \tabuthepreamble + \or % exit without measure because no X and outer in mode 4 + \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty + \tabu@seteverycr + \expandafter \tabuthepreamble + \else % needs trials + \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty + \tabu@savecounters + \expandafter \tabu@setstrategy + \fi +}% \tabu@select +\def\tabu@@ {\gdef\tabu@mkpreambuffer} +%% Protections to set up before trials ------------------------------ +\def\tabu@setstrategy {\begingroup % + \tabu@trialh@@k \tabu@cnt \z@ % number of trials + \hbadness \@M \let\hbadness \@tempcnta + \hfuzz \maxdimen \let\hfuzz \@tempdima + \let\write \tabu@nowrite\let\GenericError \tabu@GenericError + \let\savetabu \@gobble \let\tabudefaulttarget \linewidth + \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote + \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor + \let\tabu@aftergroupcleanup \relax % only after the last trial + \tabu@mkpreambuffer + \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init + \def\tabu@lasttry{\m@ne\p@}\fi + \begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi % + \tabu@collectbody \tabu@strategy % +}% \tabu@setstrategy +\def\tabu@savecounters{% + \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}% + \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax +}% \tabu@savecounters +\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0) + \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs + \ifdim \dimen@>\z@ + \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax + \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi + \fi +}% \tabucolX@init +\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum + \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@ + \else -#2\p@ \tabu@negcoeftrue + \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax + \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi + \tabu@wddef{#1}{0pt}% + \fi +}% \tabu@Xinit +%% Collecting the environment body ---------------------------------- +\long\def\tabu@collectbody #1#2\end #3{% + \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}% + \ifx \tabu@stack\@empty + \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}% + \def\tabu@end@envir{\end{#3}}% + \iftabuscantokens + \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}% + \else \def\tabu@endenvir {\let\endarray \@empty + \end{#3}\tabu@gobbleX}% + \fi + \else \def\tabu@endenvir {\end{#3}}\fi}% + \let\tabu@collectbody \tabu@endofcollect + \else\def\tabu@temp{#3}% + \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }% + \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}% + \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}% + \else \toks@\expandafter{\the\toks@ #2\end{#3}}% + \fi\fi\fi + \fi + \tabu@collectbody{#1}% +}% \tabu@collectbody +\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}% +\def\tabu@endofcollect #1{\ifnum0=`{}\fi + \expandafter\endgroup \the\toks@ #1% +}% \tabu@endofcollect +%% The trials: switching between strategies ------------------------- +\def\tabu@strategy {\relax % stops \count@ assignment ! + \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished) + \expandafter \tabu@endoftrials + \or % case 1 = exit in vertical measure (outer in mode 3) + \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}% + \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}% + \expandafter \tabu@endoftrials + \or % case 2 = exit with a rule replacing the table (outer in mode 4) + \expandafter \tabu@quickend + \or % case 3 = outer is in mode 3 because of no X + \begingroup + \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \expandafter \tabu@measuring + \else % case 4 = horizontal measure + \begingroup + \global\let\tabu@elapsedtime \tabu@message@etime + \long\def\multicolumn##1##2##3{\multispan{##1}}% + \let\tabu@startpboxORI \@startpbox + \iftabu@spread + \def\tabu@naturalXmax {\z@}% + \let\tabu@naturalXmin \tabu@naturalXmax + \tabu@evr{\global\tabu@naturalX \z@}% + \let\@startpbox \tabu@startpboxmeasure + \else\iftabu@negcoef + \let\@startpbox \tabu@startpboxmeasure + \else \let\@startpbox \tabu@startpboxquick + \fi\fi + \expandafter \tabu@measuring + \fi +}% \tabu@strategy +\def\tabu@measuring{\expandafter \tabu@trial \expandafter + \count@ \the\count@ \tabu@endtrial +}% \tabu@measuring +\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi} +\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr + \ifx \tabu@savecounters\relax \else + \let\tabu@savecounters \relax \tabu@clckpt \fi + $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi + \expandafter{\expandafter \tabuthepreamble + \the\tabu@thebody + \csname tabu@adl@endtrial\endcsname + \endarray}$\egroup % got \tabu@box +}% \tabu@shorttrial +\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr + \ifx \tabu@savecounters\relax \else + \let\tabu@savecounters \relax \tabu@clckpt \fi + \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi + \expandafter{\expandafter \tabuthepreamble + \the\tabu@thebody + \tabuendlongtrial}\egroup % got \tabu@box +}% \tabu@longtrial +\def\tabuendlongtrial{% no @ allowed for \scantokens + \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne + \LT@get@widths +}% \tabuendlongtrial +\def\tabu@adl@endtrial{% + \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails ! +\def\tabu@seteverycr {\tabu@reset + \everycr \expandafter{\the\everycr \tabu@everycr}% + \let\everycr \tabu@noeverycr % +}% \tabu@seteverycr +\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@} +\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr} +\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi} +\def\tabu@endoftrials {% + \iftabuscantokens \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi + {\expandafter \tabu@closetrialsgroup \expandafter + \tabu@rescan \expandafter{% + \expandafter\tabuthepreamble + \the\expandafter\tabu@thebody + \iftabu@long \else \endarray \fi}} + {\expandafter\tabu@closetrialsgroup \expandafter + \tabuthepreamble + \the\tabu@thebody}% + \tabu@endenvir % Finish ! +}% \tabu@endoftrials +\def\tabu@closetrialsgroup {% + \toks@\expandafter{\tabu@endenvir}% + \edef\tabu@bufferX{\endgroup + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target + \tabu@cnt \the\tabu@cnt + \def\noexpand\tabu@endenvir{\the\toks@}% + %Quid de \@halignto = \tabu@halignto ?? + }% \tabu@bufferX + \tabu@bufferX + \ifcase\tabu@nested % print out (outer in mode 0) + \global\tabu@cnt \tabu@cnt + \tabu@evr{\tabu@verticaldynamicadjustment}% + \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty + \let\@finalstrut \tabu@finalstrut + \else % vertical measure of nested tabu + \tabu@evr{\tabu@verticalinit}% + \tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \fi + \tabu@clckpt \let\@halignto \tabu@halignto + \let\@halignto \@empty + \tabu@seteverycr + \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@ + \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts) + \fi\fi +}% \tabu@closetrialsgroup +\def\tabu@quickend {\expandafter \endgroup \expandafter + \tabu@target \the\tabu@target \tabu@quickrule + \let\endarray \relax \tabu@endenvir +}% \tabu@quickend +\def\tabu@endtrial {\relax % stops \count@ assignment ! + \ifcase \count@ \tabu@err % case 0 = impossible here + \or \tabu@err % case 1 = impossible here + \or \tabu@err % case 2 = impossible here + \or % case 3 = outer goes into mode 0 + \def\tabu@bufferX{\endgroup}\count@ \z@ + \else % case 4 = outer goes into mode 3 + \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3) + \else \tabu@arith % or 2 (outer in mode 4) + \fi + \count@=% + \ifcase\tabu@nested \thr@@ % outer goes into mode 3 + \else\iftabu@measuring \tw@ % outer is in mode 4 + \else \@ne % outer is in mode 3 + \fi\fi + \edef\tabu@bufferX{\endgroup + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target}% + \fi + \expandafter \tabu@bufferX \expandafter + \count@ \the\count@ \tabu@strategy +}% \tabu@endtrial +\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}} +%% The algorithms: compute the widths / stop or go on --------------- +\def\tabu@arithnegcoef {% + \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs +}% \tabu@arithnegcoef +\def\tabu@arith@negcoef #1#2{% + \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition + \advance\@tempdima #2\tabucolX + \else + \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated + \advance\dimen@ -#2\p@ + \advance\@tempdima -#2\tabucolX + \else + \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised + \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised + \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target) + \fi + \fi + \fi +}% \tabu@arith@negcoef +\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@ + \ifdim \@tempdima=\z@ + \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}% + \else + \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2} + *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}% + \fi +}% \tabu@givespace +\def\tabu@arith {\advance\tabu@cnt \@ne + \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi + \tabu@arithnegcoef + \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % + \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax + \tabu@message{\tabu@message@arith}% + \ifdim \tabu@DELTA <\tabu@hfuzz + \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ? + \let\tabu@ \tabu@givespace \tabu@Xcoefs + \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message + \else % already converged: nothing to do but nearly impossible... + \fi + \tabucolX \maxdimen + \tabu@measuringfalse + \else % need for narrower X columns + \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax + \tabu@measuringtrue + \@whilesw \iftabu@measuring\fi {% + \advance\tabu@cnt \@ne + \tabu@arithnegcoef + \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here + \tabu@message{\tabu@header + \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ + \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@ + \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ + \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ + \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else + \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@ + \fi}% + \ifdim -\tabu@DELTA<\tabu@hfuzz + \advance\@tempdima \@tempdimb % for message + \tabu@measuringfalse + \else + \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax + \fi + }% + \fi + \tabu@message{\tabu@message@reached}% + \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target}% +}% \tabu@arith +\def\tabu@spreadarith {% + \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs + \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}% + \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax + \iftabu@measuring + \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax + \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}% + \else + \tabu@message{\tabu@message@spreadarith}% + \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target + \tabu@message{(tabu) spread + \ifdim \@tempdimc>\tabu@target useless here: default target used% + \else too large: reduced to fit default target\fi.}% + \else + \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax + \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}% + \fi + \begingroup \let\tabu@wddef \@gobbletwo + \@tempdimb \@tempdima + \tabucolX@init + \tabu@arithnegcoef + \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax + \expandafter\endgroup \expandafter\tabucolX \the\tabucolX + \tabu@arith + \fi +}% \tabu@spreadarith +\def\tabu@spread@arith #1#2{% + \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ + \else \advance\@tempdima \tabu@wd{#1}\relax + \fi +}% \tabu@spread@arith +%% Reporting in the .log file --------------------------------------- +\def\tabu@message@defaulttarget{% + \ifnum\tabu@nested=\z@^^J(tabu) Default target: + \ifx\tabudefaulttarget\linewidth \string\linewidth + \ifdim \tabu@thetarget=\linewidth \else + -\the\dimexpr\linewidth-\tabu@thetarget\fi = + \else\ifx\tabudefaulttarget\linegoal\string\linegoal= + \fi\fi + \else (tabu) Default target (nested): \fi + \the\tabu@target \on@line + \ifnum\tabu@nested=\z@ , page \the\c@page\fi} +\def\tabu@message@target {^^J(tabu) Target specified: + \the\tabu@target \on@line, page \the\c@page} +\def\tabu@message@arith {\tabu@header + \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ + \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@ + \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ + \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ + \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else + \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@ + \fi +}% \tabu@message@arith +\def\tabu@message@spreadarith {\tabu@spreadheader + \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@ + \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@ + \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@ + \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@ + \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target + \else \@tempdimc+\tabu@spreadtarget \fi + {}{}{}{}{}\@@} +\def\tabu@message@negcoef #1#2{ + \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]: + \space width = \tabu@wd {#1} + \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname + \ifdim -\tabu@pt#2\tabucolX<\tabu@target + < \number-\rem@pt#2 X + = \the\dimexpr -\tabu@pt#2\tabucolX \relax + \else + <= \the\tabu@target\space < \number-\rem@pt#2 X\fi} +\def\tabu@message@reached{\tabu@header + ******* Reached Target: + hfuzz = \tabu@hfuzz\on@line\space *******} +\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}% + \tabu@message{(tabu)\tabu@spaces Time elapsed during measure: + \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec + \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime) + -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax + *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space + cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}} +\def\tabu@message@verticalsp {% + \ifdim \@tempdima>\tabu@ht + \ifdim \@tempdimb>\tabu@dp + \expandafter\expandafter\expandafter\string\tabu@ht = + \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@ + \expandafter\expandafter\expandafter\string\tabu@dp = + \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J% + \else + \expandafter\expandafter\expandafter\string\tabu@ht = + \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J% + \fi + \else\ifdim \@tempdimb>\tabu@dp + \tabu@spaces\tabu@spaces\tabu@spaces + \expandafter\expandafter\expandafter\string\tabu@dp = + \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi + \fi +}% \tabu@message@verticalsp +\edef\tabu@spaces{\@spaces} +\def\tabu@strippt{\expandafter\tabu@pt\the} +{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}} +\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr} +\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt} +\def\do #1{% + \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{% + \ifnum##1<10 #1 #1\else + \ifnum##1<100 #1 \else + \ifnum##1<\@m #1\fi\fi\fi + ##1.##2##3##4##5##6##7##8#1}% + \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }% + \def\tabu@titles{\ifnum \tabu@nested=\z@ + (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target + #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}% + \def\tabu@spreadheader{% + (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min. + #1 New Target^^J% + (tabu) sprd} + \def\tabu@message@save {\begingroup + \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@} + \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt + \dimexpr####1\p@{ }{ }}}% + \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}% + \let\CT@arc@ \relax \let\@preamble \@gobble + \let\tabu@savedpream \@firstofone + \let\tabu@savedparams \@firstofone + \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}% + \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}% + \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}% + \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}% + \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}% + \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}% + \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}% + \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}% + \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}% + \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}% + \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }% + \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}% + \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}% + \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}% + \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}% + \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}% + \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}% + \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}% + \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}% + \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}% + \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo + \tabu@message{% + (tabu) \string\savetabu{\tabu@temp}: \on@line^^J% + \tabu@usetabu \@nil^^J}% + \endgroup} +}\do{ } +%% Measuring the natural width (varwidth) - store the results ------- +\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop + \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}% + \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ? + \iftabu@spread \else % if spread -> measure + \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure + \let\@startpbox \tabu@startpboxORI % restore immediately (nesting) + \tabu@measuringtrue % for the quick option... + \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi + \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target + \tabu@target=\tabu@temp\tabucolX \fi\fi + \setbox\tabu@box \hbox \bgroup + \begin{varwidth}\tabu@target + \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... + \narrowragged \arraybackslash \parfillskip \@flushglue + \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi + \bgroup \aftergroup\tabu@endpboxmeasure + \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi + \else \expandafter\@gobble + \tabu@startpboxquick{#1}% \@gobble \bgroup + \fi +}% \tabu@startpboxmeasure +\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty + \bgroup\color@begingroup} +\def\tabu@endpboxmeasure {% + \@finalstrut \@arstrutbox + \end{varwidth}\egroup % + \ifdim \tabu@temp\p@ <\z@ % neg coef + \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box + \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}% + \tabu@debug{\tabu@message@endpboxmeasure}% + \fi + \else % spread coef>0 + \global\advance \tabu@naturalX \wd\tabu@box + \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax + \ifdim \tabu@naturalXmax <\tabu@naturalX + \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi + \ifdim \tabu@naturalXmin <\@tempdima + \xdef\tabu@naturalXmin {\the\@tempdima}\fi + \fi + \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target +}% \tabu@endpboxmeasure +\def\tabu@wddef #1{\expandafter\xdef + \csname tabu@\the\tabu@nested.W\number#1\endcsname} +\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname} +\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd + \the\tabu@Xcol. X[\tabu@temp]: + target = \the\tabucolX \space + \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol + =\tabu@wd\tabu@Xcol +}% \tabu@message@endpboxmeasure +\def\tabu@startpboxquick {\bgroup + \let\@startpbox \tabu@startpboxORI % restore immediately + \let\tabu \tabu@quick % \begin is expanded before... + \expandafter\@gobble \@startpbox % gobbles \bgroup +}% \tabu@startpboxquick +\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick +}% \tabu@quick +\def\tabu@endquick {% + \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else + \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax + \endgroup + \else \let\endtabu \relax + \tabu@end@envir + \fi +}% \tabu@quick +\def\tabu@endtabu {\end{tabu}} +\def\tabu@endtabus {\end{tabu*}} +%% Measuring the heights and depths - store the results ------------- +\def\tabu@verticalmeasure{\everypar{}% + \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group + \setbox\tabu@box =\hbox\bgroup + \let\tabu@verticalspacing \tabu@verticalsp@lcr + \d@llarbegin % after \hbox ... + \else + \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop + \else\ifnum\currentgrouptype=12\vcenter + \else\vbox\fi\fi}% + \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup + \let\tabu@verticalspacing \tabu@verticalsp@pmb + \fi +}% \tabu@verticalmeasure +\def\tabu@verticalsp@lcr{% + \d@llarend \egroup % + \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep + \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax + \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi + \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi + \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi + \noindent\vrule height\@tempdima depth\@tempdimb +}% \tabu@verticalsp@lcr +\def\tabu@verticalsp@pmb{% inserts struts as needed + \par \expandafter\egroup + \expandafter$\expandafter + \egroup \expandafter + \@tempdimc \the\prevdepth + \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep + \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax + \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi + \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi + \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi + \let\@finalstrut \@gobble + \hrule height\@tempdima depth\@tempdimb width\hsize +%% \box\tabu@box +}% \tabu@verticalsp@pmb + +\def\tabu@verticalinit{% + \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset ! + \advance\c@taburow \@ne + \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}% + \advance\c@taburow \m@ne +}% \tabu@verticalinit +\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} +\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} +\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} +\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} +\def\tabu@verticaldynamicadjustment {% + \advance\c@taburow \@ne + \extrarowheight \dimexpr\tabu@ht - \ht\strutbox + \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox + \let\arraystretch \@empty + \advance\c@taburow \m@ne +}% \tabu@verticaldynamicadjustment +\def\tabuphantomline{\crcr \noalign{% + {\globaldefs \@ne + \setbox\@arstrutbox \box\voidb@x + \let\tabu@@celllalign \tabu@celllalign + \let\tabu@@cellralign \tabu@cellralign + \let\tabu@@cellleft \tabu@cellleft + \let\tabu@@cellright \tabu@cellright + \let\tabu@@thevline \tabu@thevline + \let\tabu@celllalign \@empty + \let\tabu@cellralign \@empty + \let\tabu@cellright \@empty + \let\tabu@cellleft \@empty + \let\tabu@thevline \relax}% + \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}% + \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr + \noalign{\tabu@rearstrut + {\globaldefs\@ne + \let\tabu@celllalign \tabu@@celllalign + \let\tabu@cellralign \tabu@@cellralign + \let\tabu@cellleft \tabu@@cellleft + \let\tabu@cellright \tabu@@cellright + \let\tabu@thevline \tabu@@thevline}}}% + \expandafter}\the\toks@ +}% \tabuphantomline +%% \firsthline and \lasthline corrections --------------------------- +\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}} +\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline} +\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}} +\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline} +\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument) + \noalign{\ifnum0=`}\fi + {\CT@arc@\hrule height\arrayrulewidth}% + \futurelet \tabu@temp \tabu@xhline +}% \tabu@hline +\def\tabu@xhline{% + \ifx \tabu@temp \hline + {\ifx \CT@drsc@\relax \vskip + \else\ifx \CT@drsc@\@empty \vskip + \else \CT@drsc@\hrule height + \fi\fi + \doublerulesep}% + \fi + \ifnum0=`{\fi}% +}% \tabu@xhline +\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@ + \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}% + \tabu@hlineAZsurround +}% \tabu@hlineAZ +\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{% + \extratabsurround #1\let\tabucline \tabucline@scan + \let\hline \tabu@hlinescan \let\firsthline \hline + \let\cline \tabu@clinescan \let\lasthline \hline + \expandafter \futurelet \expandafter \tabu@temp + \expandafter \tabu@nexthlineAZ \tabu@temp +}% \tabu@hlineAZsurround +\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline} +\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}} +\def\tabucline@scan{\@testopt \tabucline@sc@n {}} +\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}} +\def\tabu@nexthlineAZ{% + \ifx \tabu@temp\hline \else + \ifx \tabu@temp\cline \else + \ifx \tabu@temp\tabucline \else + \tabu@hlinecorrection + \fi\fi\fi +}% \tabu@nexthlineAZ +\def\tabu@xhlineAZ #1{% + \toks@\expandafter{\the\toks@ #1}% + \@tempdimc \tabu@thick % The last line width + \ifcase\count@ \@tempdimb \tabu@thick % The first line width + \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax + \fi + \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ +}% \tabu@xhlineAZ +\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1 + \@tempdima \dimexpr \ht\@arstrutbox+\dimen@ + \edef\firsthline{% + \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule + height \the\dimexpr\@tempdima+\extratabsurround + depth \dp\@arstrutbox + width \tabustrutrule}\hss}\cr + \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb + +\dp\@arstrutbox \relax}% + \the\toks@ + }\ifnum0=`{\fi + \expandafter}\firsthline % we are then ! +}% \tabu@firsthlinecorrection +\def\tabu@lasthlinecorrection{% + \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc + \edef\lasthline{% + \the\toks@ + \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}% + \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule + depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@ + +\extratabsurround-\@tempdimc + height \z@ + width \tabustrutrule}\hss}\cr + }\ifnum0=`{\fi + \expandafter}\lasthline % we are then ! +}% \tabu@lasthlinecorrection +\def\tabu@LT@@hline{% + \ifx\LT@next\hline + \global\let\LT@next \@gobble + \ifx \CT@drsc@\relax + \gdef\CT@LT@sep{% + \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}% + \else + \gdef\CT@LT@sep{% + \multispan\LT@cols{% + \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}% + \fi + \else + \global\let\LT@next\empty + \gdef\CT@LT@sep{% + \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}% + \fi + \ifnum0=`{\fi}% + \multispan\LT@cols + {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr + \CT@LT@sep + \multispan\LT@cols + {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr + \noalign{\penalty\@M}% + \LT@next +}% \tabu@LT@@hline +%% Horizontal lines : \tabucline ------------------------------------ +\let\tabu@start \@tempcnta +\let\tabu@stop \@tempcntb +\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline} +\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}% + \ifnum \tabu@stop<\z@ \toks@{}% + \else \tabu@clinearg{#1}\tabu@thestyle + \edef\tabucline{\toks@{% + \ifnum \tabu@start>\z@ \omit + \tabu@multispan\tabu@start {\span\omit}&\fi + \omit \tabu@multispan\tabu@stop {\span\omit}% + \tabu@thehline\cr + }}\tabucline + \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}% + \fi + \futurelet \tabu@temp \tabu@xcline +}% \tabu@cline +\def\tabu@clinearg #1{% + \ifx\\#1\\\let\tabu@thestyle \tabu@ls@ + \else \@defaultunits \expandafter\let\expandafter\@tempa + \romannumeral-`\0#1\relax \@nnil + \ifx \hbox\@tempa \tabu@clinebox{#1}% + \else\ifx \box\@tempa \tabu@clinebox{#1}% + \else\ifx \vbox\@tempa \tabu@clinebox{#1}% + \else\ifx \vtop\@tempa \tabu@clinebox{#1}% + \else\ifx \copy\@tempa \tabu@clinebox{#1}% + \else\ifx \leaders\@tempa \tabu@clineleads{#1}% + \else\ifx \cleaders\@tempa \tabu@clineleads{#1}% + \else\ifx \xleaders\@tempa \tabu@clineleads{#1}% + \else\tabu@getline {#1}% + \fi\fi\fi\fi\fi\fi\fi\fi + \fi +}% \tabu@clinearg +\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}} +\def\tabu@clineleads #1{% + \let\tabu@thestyle \relax \let\tabu@leaders \@undefined + \gdef\tabu@thehrule{#1}} +\def\tabu@thehline{\begingroup + \ifdefined\tabu@leaders + \noexpand\tabu@thehleaders + \else \noexpand\tabu@thehrule + \fi \endgroup +}% \tabu@thehline +\def\tabu@xcline{% + \ifx \tabu@temp\tabucline + \toks@\expandafter{\the\toks@ \noalign + {\ifx\CT@drsc@\relax \vskip + \else \CT@drsc@\hrule height + \fi + \doublerulesep}}% + \fi + \tabu@docline +}% \tabu@xcline +\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@} +\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}% + \ifnum0=`{\fi}\aftergroup\tabu@doclineafter} +\def\tabu@multispan #1#2{% + \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan + \else \expandafter\@gobbletwo + \fi {#1-1}{#2}% +}% \tabu@multispan +\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil} +\def\tabu@start@stop #1-#2\@nnil{% + \@defaultunits \tabu@start\number 0#1\relax \@nnil + \@defaultunits \tabu@stop \number 0#2\relax \@nnil + \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne + \else\ifnum \tabu@stop=\z@ \tabu@nbcols + \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols + \else \tabu@stop + \fi\fi\fi + \advance\tabu@start \m@ne + \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi +}% \tabu@start@stop +%% Numbers: siunitx S columns (and \tabudecimal) ------------------- +\def\tabu@tabudecimal #1{% + \def\tabu@decimal{#1}\@temptokena{}% + \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces + \tabu@scandecimal +}% \tabu@tabudecimal +\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@} +\def\tabu@skipdecimal#1{#1\tabu@scandecimal} +\def\tabu@getdecimal@ignorespaces{% + \ifcase 0\ifx\tabu@temp\ignorespaces\else + \ifx\tabu@temp\@sptoken1\else + 2\fi\fi\relax + \let\tabu@getdecimal@ \tabu@getdecimal + \expandafter\tabu@skipdecimal + \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal + \else \expandafter\tabu@skipdecimal + \fi +}% \tabu@getdecimal@ignorespaces +\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}% + \tabu@scandecimal} +\def\do#1{% + \def\tabu@get@decimalspace#1{% + \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}% +}\do{ } +\let\tabu@@tabudecimal \tabu@tabudecimal +\def\tabu@getdecimal{% + \ifcase 0\ifx 0\tabu@temp\else + \ifx 1\tabu@temp\else + \ifx 2\tabu@temp\else + \ifx 3\tabu@temp\else + \ifx 4\tabu@temp\else + \ifx 5\tabu@temp\else + \ifx 6\tabu@temp\else + \ifx 7\tabu@temp\else + \ifx 8\tabu@temp\else + \ifx 9\tabu@temp\else + \ifx .\tabu@temp\else + \ifx ,\tabu@temp\else + \ifx -\tabu@temp\else + \ifx +\tabu@temp\else + \ifx e\tabu@temp\else + \ifx E\tabu@temp\else + \ifx\tabu@cellleft\tabu@temp1\else + \ifx\ignorespaces\tabu@temp1\else + \ifx\@sptoken\tabu@temp2\else + 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax + \expandafter\tabu@get@decimal + \or \expandafter\tabu@skipdecimal + \or \expandafter\tabu@get@decimalspace + \else\expandafter\tabu@printdecimal + \fi +}% \tabu@getdecimal +\def\tabu@printdecimal{% + \edef\tabu@temp{\the\@temptokena}% + \ifx\tabu@temp\@empty\else + \ifx\tabu@temp\space\else + \expandafter\tabu@decimal\expandafter{\the\@temptokena}% + \fi\fi +}% \tabu@printdecimal +%% Verbatim inside X columns ---------------------------------------- +\def\tabu@verbatim{% + \let\verb \tabu@verb + \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd +}% \tabu@verbatim +\let\tabu@ltx@verb \verb +\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb} +\def\tabu@fancyvrb {% + \def\tabu@FV@DefineCheckEnd ##1{% + \def\tabu@FV@DefineCheckEnd{% + ##1% + \let\FV@CheckEnd \tabu@FV@CheckEnd + \let\FV@@CheckEnd \tabu@FV@@CheckEnd + \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd + \edef\FV@EndScanning{% + \def\noexpand\next{\noexpand\end{\FV@EnvironName}}% + \global\let\noexpand\FV@EnvironName\relax + \noexpand\next}% + \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}% + }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd} +}% \tabu@fancyvrb +\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil} +\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}} +\begingroup +\catcode`\[1 \catcode`\]2 +\@makeother\{ \@makeother\} + \edef\x[\endgroup + \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3% + ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}} +\def\tabu@FV@ListProcessLine #1{% + \hbox {%to \hsize{% + \kern\leftmargin + \hbox {%to \linewidth{% + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{#1}\hss +%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) +%% \FV@RightListFrame}% + \FV@RightListFrame + \FV@RightListNumber}% +%% DG/SR modification end + \hss}} +%% \savetabu -------------------------------------------------------- +\newcommand*\savetabu[1]{\noalign{% + \tabu@sanitizearg{#1}\tabu@temp + \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else + \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}% + \ifdefined\tabu@restored \expandafter\let + \csname tabu@saved@\tabu@temp \endcsname \tabu@restored + \else {\tabu@save}% + \fi + \fi}% +}% \savetabu +\def\tabu@save {% + \toks0\expandafter{\tabu@saved@}% + \iftabu@negcoef + \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}% + \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi + \toks1\expandafter{\tabu@savedpream}% + \toks2\expandafter{\tabu@savedpreamble}% + \let\@preamble \relax + \let\tabu@savedpream \relax \let\tabu@savedparams \relax + \edef\tabu@preamble{% + \def\noexpand\tabu@aligndefault{\tabu@align}% + \def\tabu@savedparams {\noexpand\the\toks0}% + \def\tabu@savedpream {\noexpand\the\toks1}}% + \edef\tabu@usetabu{% + \def\@preamble {\noexpand\the\toks2}% + \tabu@target \the\tabu@target \relax + \tabucolX \the\tabucolX \relax + \tabu@nbcols \the\tabu@nbcols \relax + \def\noexpand\tabu@aligndefault{\tabu@align}% + \def\tabu@savedparams {\noexpand\the\toks0}% + \def\tabu@savedpream {\noexpand\the\toks1}}% + \let\tabu@aligndefault \relax \let\@sharp \relax + \edef\@tempa{\noexpand\tabu@s@ved + {\tabu@usetabu} + {\tabu@preamble} + {\the\toks1}}\@tempa + \tabu@message@save +}% \tabu@save +\long\def\tabu@s@ved #1#2#3{% + \def\tabu@usetabu{#1}% + \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{% + \ifodd ##1% \usetabu + \tabu@measuringfalse \tabu@spreadfalse % Just in case... + \gdef\tabu@usetabu {% + \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi + \global\let\tabu@usetabu \@undefined + \def\@halignto {to\tabu@target}% + #1% + \ifx \tabu@align\tabu@aligndefault@text + \ifnum \tabu@nested=\z@ + \let\tabu@align \tabu@aligndefault \fi\fi}% + \else % \preamble + \gdef\tabu@preamble {% + \global\let\tabu@preamble \@undefined + #2% + \ifx \tabu@align\tabu@aligndefault@text + \ifnum \tabu@nested=\z@ + \let\tabu@align \tabu@aligndefault \fi\fi}% + \fi + #3}% +}% \tabu@s@ved +\def\tabu@aligndefault@text {\tabu@aligndefault}% +\def\tabu@warn@usetabu {\PackageWarning{tabu} + {Specifying a target with \string\usetabu\space is useless + \MessageBreak The target cannot be changed!}} +\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi} +\def\tabu@savewarn#1#2{\PackageInfo{tabu} + {User-name `#1' already used for \string\savetabu + \MessageBreak #2}}% +\def\tabu@saveerr#1{\PackageError{tabu} + {User-name `#1' is unknown for \string\usetabu + \MessageBreak I cannot restore an unknown preamble!}\@ehd} +%% \rowfont --------------------------------------------------------- +\newskip \tabu@cellskip +\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi + {\ifnum0=`}\fi \tabu@row@font} +\newcommand*\tabu@row@font[2][]{% + \ifnum7=\currentgrouptype + \global\let\tabu@@cellleft \tabu@cellleft + \global\let\tabu@@cellright \tabu@cellright + \global\let\tabu@@celllalign \tabu@celllalign + \global\let\tabu@@cellralign \tabu@cellralign + \global\let\tabu@@rowfontreset\tabu@rowfontreset + \fi + \global\let\tabu@rowfontreset \tabu@rowfont@reset + \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}% + \ifcsname tabu@cell@#1\endcsname % row alignment + \csname tabu@cell@#1\endcsname \fi + \ifnum0=`{\fi}% end of group / noalign group +}% \rowfont +\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}% +\def\tabu@rowfont@reset{% + \global\let\tabu@rowfontreset \tabu@@rowfontreset + \global\let\tabu@cellleft \tabu@@cellleft + \global\let\tabu@cellright \tabu@@cellright + \global\let\tabu@cellfont \@empty + \global\let\tabu@celllalign \tabu@@celllalign + \global\let\tabu@cellralign \tabu@@cellralign +}% \tabu@@rowfontreset +\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl +%% \tabu@prepnext@tok ----------------------------------------------- +\newif \iftabu@cellright +\def\tabu@prepnext@tok{% + \ifnum \count@<\z@ % + \@tempcnta \@M % + \tabu@nbcols\z@ + \let\tabu@fornoopORI \@fornoop + \tabu@cellrightfalse + \else + \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left + \advance \tabu@nbcols \@ne + \iftabu@cellright % before-previous token is right and is finished + \tabu@cellrightfalse % + \tabu@righttok + \fi + \tabu@lefttok + \or % (case 1) previous token is right + \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop + \else % special column: do not change the token + \iftabu@cellright % before-previous token is right + \tabu@cellrightfalse + \tabu@righttok + \fi + \fi % \ifcase + \fi + \tabu@prepnext@tokORI +}% \tabu@prepnext@tok +\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@} +\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{% + \ifx \in@#2\else + \let\@fornoop \tabu@fornoopORI + \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}% + \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}% + \expandafter\prepnext@tok + \fi +}% \tabu@lastnoop +\def\tabu@righttok{% + \advance \count@ \m@ne + \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}% + \advance \count@ \@ne +}% \tabu@righttok +\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign + \the\toks\count@ \tabu@cellleft}% after because of $ +}% \tabu@lefttok +%% Neutralisation of glues ------------------------------------------ +\let\tabu@cellleft \@empty +\let\tabu@cellright \@empty +\tabu@celllalign@def{\tabu@cellleft}% +\let\tabu@cellralign \@empty +\def\tabu@cell@align #1#2#3{% + \let\tabu@maybesiunitx \toks@ \tabu@celllalign + \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}% + \toks@\expandafter{\tabu@cellralign #2}% + \xdef\tabu@cellralign{\the\toks@}% + \toks@\expandafter{\tabu@cellleft #3}% + \xdef\tabu@cellleft{\the\toks@}% +}% \tabu@cell@align +\def\tabu@cell@l{% force alignment to left + \tabu@cell@align + {\tabu@removehfil \raggedright \tabu@cellleft}% left + {\tabu@flush1\tabu@ignorehfil}% right + \raggedright +}% \tabu@cell@l +\def\tabu@cell@c{% force alignment to center + \tabu@cell@align + {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft} + {\tabu@flush{.5}\tabu@ignorehfil} + \centering +}% \tabu@cell@c +\def\tabu@cell@r{% force alignment to right + \tabu@cell@align + {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft} + \tabu@ignorehfil + \raggedleft +}% \tabu@cell@r +\def\tabu@cell@j{% force justification (for p, m, b columns) + \tabu@cell@align + {\tabu@justify\tabu@cellleft} + {} + \tabu@justify +}% \tabu@cell@j +\def\tabu@justify{% + \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip + \parfillskip\@flushglue +}% \tabu@justify +%% ragged2e settings +\def\tabu@cell@L{% force alignment to left (ragged2e) + \tabu@cell@align + {\tabu@removehfil \RaggedRight \tabu@cellleft} + {\tabu@flush 1\tabu@ignorehfil} + \RaggedRight +}% \tabu@cell@L +\def\tabu@cell@C{% force alignment to center (ragged2e) + \tabu@cell@align + {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft} + {\tabu@flush{.5}\tabu@ignorehfil} + \Centering +}% \tabu@cell@C +\def\tabu@cell@R{% force alignment to right (ragged2e) + \tabu@cell@align + {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft} + \tabu@ignorehfil + \RaggedLeft +}% \tabu@cell@R +\def\tabu@cell@J{% force justification (ragged2e) + \tabu@cell@align + {\justifying \tabu@cellleft} + {} + \justifying +}% \tabu@cell@J +\def\tabu@flush#1{% + \iftabu@colortbl % colortbl uses \hfill rather than \hfil + \hskip \ifnum13<\currentgrouptype \stretch{#1}% + \else \ifdim#1pt<\p@ \tabu@cellskip + \else \stretch{#1} + \fi\fi \relax + \else % array.sty + \ifnum 13<\currentgrouptype + \hfil \hskip1sp \relax \fi + \fi +}% \tabu@flush +\let\tabu@hfil \hfil +\let\tabu@hfill \hfill +\let\tabu@hskip \hskip +\def\tabu@removehfil{% + \iftabu@colortbl + \unkern \tabu@cellskip =\lastskip + \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip + \else \tabu@cellskip \z@skip + \fi + \else + \ifdim\lastskip=1sp\unskip\fi + \ifnum\gluestretchorder\lastskip =\@ne + \hfilneg % \hfilneg for array.sty but not for colortbl... + \fi + \fi +}% \tabu@removehfil +\def\tabu@ignorehfil{\aftergroup \tabu@nohfil} +\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil + \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group +}% \tabu@nohfil +\def\tabu@colortblalignments {% if colortbl + \def\tabu@nohfil{% + \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group + \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff... + \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local +}% \tabu@colortblalignments +%% Taking care of footnotes and hyperfootnotes ---------------------- +\long\def\tabu@footnotetext #1{% + \edef\@tempa{\the\tabu@footnotes + \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}% + \global\tabu@footnotes\expandafter{\@tempa {#1}}}% +\long\def\tabu@xfootnotetext [#1]#2{% + \global\tabu@footnotes\expandafter{\the\tabu@footnotes + \footnotetext [{#1}]{#2}}} +\let\tabu@xfootnote \@xfootnote +\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }} +\long\def\tabu@Hy@xfootnote [#1]{% + \begingroup + \value\@mpfn #1\relax + \protected@xdef \@thefnmark {\thempfn}% + \endgroup + \@footnotemark \tabu@Hy@ftntxt {#1}% +}% \tabu@Hy@xfootnote +\long\def\tabu@Hy@ftntxt #1#2{% + \edef\@tempa{% + \the\tabu@footnotes + \begingroup + \value\@mpfn #1\relax + \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}% + \expandafter \noexpand \expandafter + \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}% + }% + \global\tabu@footnotes\expandafter{\@tempa {#2}% + \endgroup}% +}% \tabu@Hy@ftntxt +\long\def\tabu@Hy@footnotetext #1#2{% + \H@@footnotetext{% + \ifHy@nesting + \hyper@@anchor {#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor {#1}{\relax}% + }% + \def\@currentHref {#1}% + \let\@currentlabelname \@empty + #2% + \fi + }% +}% \tabu@Hy@footnotetext +%% No need for \arraybackslash ! ------------------------------------ +\def\tabu@latextwoe {% +\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} +\tabu@temp \tabu@centering \centering \arraybackslash +\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash +\tabu@temp \tabu@raggedright \raggedright \arraybackslash +}% \tabu@latextwoe +\def\tabu@raggedtwoe {% +\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} +\tabu@temp \tabu@Centering \Centering \arraybackslash +\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash +\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash +\tabu@temp \tabu@justifying \justifying \arraybackslash +}% \tabu@raggedtwoe +\def\tabu@normalcrbackslash{\let\\\@normalcr} +\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{% + \expandafter\tabu@normalcrbackslash \@trivlist}} +%% Utilities: \fbox \fcolorbox and \tabudecimal ------------------- +\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox} +\def\tabu@beginfbox {\bgroup \kern\fboxsep + \bgroup\aftergroup\tabu@endfbox} +\def\tabu@endfbox {\kern\fboxsep\egroup\egroup + \@frameb@x\relax} +\def\tabu@color@b@x #1#2{\leavevmode \bgroup + \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}% + \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox +}% \tabu@color@b@x +\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup + \aftergroup\tabu@endcolor@b@x \set@color} +\def\tabu@endcolor@b@x {\kern\fboxsep \egroup + \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@ + \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@ + \tabu@docolor@b@x \egroup +}% \tabu@endcolor@b@x +%% Corrections (arydshln, delarray, colortbl) ----------------------- +\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray + \iftabu@colortbl + \ifdefined\adl@array % + \def\tabu@endarray{% + \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup % + \@arrayright % + \gdef\@preamble{}}% + \else % + \def\tabu@endarray{% + \crcr \egroup \egroup % + \@arrayright % + \gdef\@preamble{}\CT@end}% + \fi + \else + \ifdefined\adl@array % + \def\tabu@endarray{% + \adl@endarray \egroup \adl@arrayrestore \egroup % + \@arrayright % + \gdef\@preamble{}}% + \else % + \PackageWarning{tabu} + {\string\@arrayright\space is missing from the + \MessageBreak definition of \string\endarray. + \MessageBreak Compatibility with delarray.sty is broken.}% + \fi\fi +}% \tabu@fix@arrayright +\def\tabu@adl@xarraydashrule #1#2#3{% + \ifnum\@lastchclass=\adl@class@start\else + \ifnum\@lastchclass=\@ne\else + \ifnum\@lastchclass=5 \else % @-arg (class 5) and !-arg (class 1) + \adl@leftrulefalse \fi\fi % must be treated the same + \fi + \ifadl@zwvrule\else \ifadl@inactive\else + \@addtopreamble{\vrule\@width\arrayrulewidth + \@height\z@ \@depth\z@}\fi \fi + \ifadl@leftrule + \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}% + {\number#1}#3}% + \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}% + {\number#2}#3} + \fi +}% \tabu@adl@xarraydashrule +\def\tabu@adl@act@endpbox {% + \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox + \egroup \egroup + \adl@colhtdp \box\adl@box \hfil +}% \tabu@adl@act@endpbox +\def\tabu@adl@fix {% + \let\adl@xarraydashrule \tabu@adl@xarraydashrule % arydshln + \let\adl@act@endpbox \tabu@adl@act@endpbox % arydshln + \let\adl@act@@endpbox \tabu@adl@act@endpbox % arydshln + \let\@preamerror \@preamerr % arydshln +}% \tabu@adl@fix +%% Correction for longtable' \@startbox definition ------------------ +%% => \everypar is ``missing'' : TeX should be in vertical mode +\def\tabu@LT@startpbox #1{% + \bgroup + \let\@footnotetext\LT@p@ftntext + \setlength\hsize{#1}% + \@arrayparboxrestore + \everypar{% + \vrule \@height \ht\@arstrutbox \@width \z@ + \everypar{}}% +}% \tabu@LT@startpbox +%% \tracingtabu and the package options ------------------ +\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}} +\DeclareOption{linegoal}{% + \AtEndOfPackage{% + \RequirePackage{linegoal}[2010/12/07]% + \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX +}} +\DeclareOption{scantokens}{\tabuscantokenstrue} +\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}} +\def\tracingtabu {\begingroup\@ifnextchar=% + {\afterassignment\tabu@tracing\count@} + {\afterassignment\tabu@tracing\count@1\relax}} +\def\tabu@tracing{\expandafter\endgroup + \expandafter\tabu@tr@cing \the\count@ \relax +}% \tabu@tracing +\def\tabu@tr@cing #1\relax {% + \ifnum#1>\thr@@ \let\tabu@tracinglines\message + \else \let\tabu@tracinglines\@gobble + \fi + \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG + \def\tabu@mkarstrut {\tabu@DBG@arstrut}% + \tabustrutrule 1.5\p@ + \else \let\tabu@DBG \@gobble + \def\tabu@mkarstrut {\tabu@arstrut}% + \tabustrutrule \z@ + \fi + \ifnum#1>\@ne \let\tabu@debug \message + \else \let\tabu@debug \@gobble + \fi + \ifnum#1>\z@ + \let\tabu@message \message + \let\tabu@tracing@save \tabu@message@save + \let\tabu@starttimer \tabu@pdftimer + \else + \let\tabu@message \@gobble + \let\tabu@tracing@save \@gobble + \let\tabu@starttimer \relax + \fi +}% \tabu@tr@cing +%% Setup \AtBeginDocument +\AtBeginDocument{\tabu@AtBeginDocument} +\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined + \ifdefined\arrayrulecolor \tabu@colortbltrue % + \tabu@colortblalignments % different glues are used + \else \tabu@colortblfalse \fi + \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi + \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi + \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@ + \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % + \expandafter\ifx + \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax + \tabu@siunitxtrue + \else \let\tabu@maybesiunitx \@firstofone % + \let\tabu@siunitx \tabu@nosiunitx + \tabu@siunitxfalse + \fi + \ifdefined\adl@array % + \else \let\tabu@adl@fix \relax + \let\tabu@adl@endtrial \@empty \fi + \ifdefined\longtable % + \else \let\longtabu \tabu@nolongtabu \fi + \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi + \csname\ifcsname ifHy@hyperfootnotes\endcsname % + ifHy@hyperfootnotes\else iffalse\fi\endcsname + \let\tabu@footnotetext \tabu@Hy@ftntext + \let\tabu@xfootnote \tabu@Hy@xfootnote \fi + \ifdefined\FV@DefineCheckEnd% + \tabu@fancyvrb \fi + \ifdefined\color % + \let\tabu@color \color + \def\tabu@leavevmodecolor ##1{% + \def\tabu@leavevmodecolor {\leavevmode ##1}% + }\expandafter\tabu@leavevmodecolor\expandafter{\color}% + \else + \let\tabu@color \tabu@nocolor + \let\tabu@leavevmodecolor \@firstofone \fi + \tabu@latextwoe + \ifdefined\@raggedtwoe@everyselectfont % + \tabu@raggedtwoe + \else + \let\tabu@cell@L \tabu@cell@l + \let\tabu@cell@R \tabu@cell@r + \let\tabu@cell@C \tabu@cell@c + \let\tabu@cell@J \tabu@cell@j \fi + \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}% + \ifin@ \let\tabu@endarray \endarray + \else \tabu@fix@arrayright \fi% + \everyrow{}% +}% \tabu@AtBeginDocument +\def\tabu@warn@cellspace{% + \PackageWarning{tabu}{% + Package cellspace has some limitations + \MessageBreak And redefines some macros of array.sty. + \MessageBreak Please use \string\tabulinesep\space to control + \MessageBreak vertical spacing of lines inside tabu environment}% +}% \tabu@warn@cellspace +%% tabu Package initialisation +\tabuscantokensfalse +\let\tabu@arc@G \relax +\let\tabu@drsc@G \relax +\let\tabu@evr@G \@empty +\let\tabu@rc@G \@empty +\def\tabu@ls@G {\tabu@linestyle@}% +\let\tabu@@rowfontreset \@empty % +\let\tabu@@celllalign \@empty +\let\tabu@@cellralign \@empty +\let\tabu@@cellleft \@empty +\let\tabu@@cellright \@empty +\def\tabu@naturalXmin {\z@} +\def\tabu@naturalXmax {\z@} +\let\tabu@rowfontreset \@empty +\def\tabulineon {4pt}\let\tabulineoff \tabulineon +\tabu@everyrowtrue +\ifdefined\pdfelapsedtime % + \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}% +\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax +\fi +\tracingtabu=\z@ +\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@ +\tabulinestyle{} +\taburowcolors{} +\let\tabudefaulttarget \linewidth +\ProcessOptions* % \ProcessOptions* is quicker ! +\endinput +%% +%% End of file `tabu.sty'. diff --git a/docs/latex/vector_8cpp.tex b/docs/latex/vector_8cpp.tex new file mode 100644 index 0000000..df9e495 --- /dev/null +++ b/docs/latex/vector_8cpp.tex @@ -0,0 +1,8 @@ +\doxysection{src/vector/vector.cpp File Reference} +\hypertarget{vector_8cpp}{}\label{vector_8cpp}\index{src/vector/vector.cpp@{src/vector/vector.cpp}} +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} diff --git a/docs/latex/vector_8cpp__incl.md5 b/docs/latex/vector_8cpp__incl.md5 new file mode 100644 index 0000000..bd456db --- /dev/null +++ b/docs/latex/vector_8cpp__incl.md5 @@ -0,0 +1 @@ +4a8b338566625de853e809bb35ea82a9 \ No newline at end of file diff --git a/docs/latex/vector_8cpp__incl.pdf b/docs/latex/vector_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..56b70c40fb2edde66302a29fc7a6d1de54bdbf89 GIT binary patch literal 11087 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 literal 0 HcmV?d00001 diff --git a/docs/latex/vector_8hpp.tex b/docs/latex/vector_8hpp.tex new file mode 100644 index 0000000..f64edd9 --- /dev/null +++ b/docs/latex/vector_8hpp.tex @@ -0,0 +1,32 @@ +\doxysection{headers/firefly/vector.hpp File Reference} +\hypertarget{vector_8hpp}{}\label{vector_8hpp}\index{headers/firefly/vector.hpp@{headers/firefly/vector.hpp}} +{\ttfamily \#include $<$cstddef$>$}\newline +{\ttfamily \#include $<$memory$>$}\newline +{\ttfamily \#include $<$ostream$>$}\newline +{\ttfamily \#include $<$vector$>$}\newline +\doxysubsubsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} +\begin{DoxyCompactList}\small\item\em Represents a mathematical vector in n-\/dimensional space. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +using \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} = float +\item +using \mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{Firefly\+::\+Vector\+Type}} = std\+::vector$<$ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} $>$ +\end{DoxyCompactItemize} + + +\doxysubsection{Typedef Documentation} +\Hypertarget{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}\label{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e} +\index{vector.hpp@{vector.hpp}!Real@{Real}} +\index{Real@{Real}!vector.hpp@{vector.hpp}} +\doxysubsubsection{\texorpdfstring{Real}{Real}} +{\footnotesize\ttfamily using \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} = float} + diff --git a/docs/latex/vector_8hpp__dep__incl.md5 b/docs/latex/vector_8hpp__dep__incl.md5 new file mode 100644 index 0000000..0c71062 --- /dev/null +++ b/docs/latex/vector_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +0a2a67507d2f05050752a2b8ca69a83e \ No newline at end of file diff --git a/docs/latex/vector_8hpp__dep__incl.pdf b/docs/latex/vector_8hpp__dep__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..57bda6d7ed088bfb7e6a4315787e728a90f80753 GIT binary patch literal 15346 zcmd6OWn3K1w1-{cQO_>HncS|hUephcXV~6&Lfr5a?Kh^GBQw(K*C|@>5MFpo;(MeB=yn_kOFAK;VEAGZ@zgBrg`Ta&c`{ zE9cWRqJKz7ZBrQ7+4*!UXSif`SAJbSdRxm@?$ckedinP8ZY=h8TK$5z&D-4j1~pUj zqKL#&7sugCJq=EbnnPS>TGHvM?Pzu1!8^CZ>f-#GyhIFxl`bIZ`!pWn2E?6%Pn_-C z)uwLm8=EY>=YO;qw>PdR&THF-v6t5o9Gv}3{d0^wOD5TicK&@t^O;s=E1GAXU}4pr(O4y`X$KA= zoUtT2&pQnt#`s-DuPx2!&%ojO{0x;+AaAiXr)mF-UGZo^dUZ9ogATIHc_<4`%nM&f z5sPY;&RVcLx`7pL&a}x7vCewb=5or0&Xh&Gw}jG($j*z6+*D z2V&rdlWu)tqSrHC4WV)l6X_c|*DEX(xK@H0jqLpF7w)bwF?ZxrEz71z4Ejj=AlcUA zfhCvPL#j#kG=D+cUS3_gpp$yju^CSOjsA+;8eXYX_PftxA#~?&YAXEA!otsr+!V8o zdA)pj=X>@vvD3qFLu2(F(6cKUfP8*tl?-la46xWq8c0mWhg$u*!F=~jXrquLlkc!S z(4Y>D4F~fxpair5o4EC4oo>civHzkwPy_B~zSuD4d1}pOTG~9%L^f`G&1z9z;0iA#D=MwIG5Wz9Owe zO<;;ZrxDIq0b0VXrXY^R%J5M2P$vN6HSJ5H?rC()4(8Bg^iO7_j5uZ7%7n=`G4 z6Sx}$&8?j%#+zIKBqY>^Juw7%YM8B!$LMaUtzg$Mu{weZ0d~TEbBTgy7G}OpYRPFX z!v2xD;5=nVU5ND7scB(P;zwhsPhA>b#2?P$SYrubv!vQ4Oi^a0M0DTb0nA9$=FBE6 zAKexsU)jUGuA;A!Qqs{)&o>F(fSXj7c+orzSracyUsDHx zp_mJ6yrvbIiUW)b`6h>7*1KYEqC^L)!-iZ#r^1BBO$dgP8&UVP1@YmkPX#1G_9eKp zL{4QZ_GnI+!Z^SlTB1tjmUF-jacM-vme@GSodTF1(3Q zJj%IyXu&;lM?HdCI3U^mekYsQ{&JPO@ZO+0;BCDmAXAcaOo*iOC~nwd3l7c{FC-NexL!e= zRhzS{50kEIcwjfLXUyJn3z4^lx6=i}m$g|#U9|EQd$rwt)pRxeVxQZ~y^M=iF1hw% zytfXk_8l@$5p^k$*pKI+8Ws}1M3xRw)PYf_0QH-^SJ>&x>f>B*uq`w%gN3@H?`+H_ zC*cRfWp)Vw zm_>6s6oc}XQid|7^aVHBMVr$b&HT2}r(Jc~#9uw8lLQe8I@CznRA#U`ZTc8`Vs!9! zi@C3He<)`0&IID%rsi(GbPCRKh)ZOkG*^~-6)}wyIj}h}aH!>tFjkdYgXi~N`K~IL zT){A^CEZxpO4X*jnyvLjE#v-aDPR zy~21M7u*!-xmHzGD8vN^!%eR|5#=ZW2 zF)<^+C)QX;Tg=cXY@^Y1=R>|SiqT2^T<~U^4q}iI8eV#5l%}FkZP#i?%*8UD!O7o+ zA>X+@iQLAa(g_1q5hEeI=ryW*y?|LU5*P3K{Zi2!PSOd2#6pd;jCq!WFGI5_UHw=Fw!G__h!;bM&Qn<2@BP}!#MVOg}S zz)QsI$Jw$dzUtv4*NbR)6tKBa%WIT@q~^8^O4nC%;-r+L9`m!D&0??5Ufvq?!(-uV zlCKNl6C0``t7;OopvI4ehC_%Bvv$NZDw;X22CRL9eHd&Re+$REfOc_sC=w+= zJ!);#_<@lF(iUpVWZ}ORQZqA;436;zmS=To0FK5(-SHK@bEkvo<2>7U{ZFsGX^lp8CWPeS^w(LpWu=8 zxzZotQ5L`q{IyHe+`-Wa0AgeQv-E$)l(p(w5nsU=-q+<5La&b_$oBV4aIjqJD(Gu~ zqeqh=#;|2%CL@$C73r-%?}#)MH>YV6n}YouXDZv}`X>kNWX$>yH?mlCQ4|IcsJ{pr zcZlmtL#F|esQrK&Rstzlv3}%f%pd(o)9BLuD79aXLs*)>S3}7XH1S7+uwd?l70+Yt zgu@B;2KZZ~!wEpyCC0;kj)+A6bZ+nJYIO0iG#Ed6m~S2uiBjdx^T-)l_V#cm;TmD3 z5szqS3=FwxSGG33{qU(Y^%E8GIo!>ADNn}_j_x^hJG=t!c-XeqY&XW?`q`v6vwYt^ zF0XL*?r*dfeX>d2^B_+}UUK~+nDpaPsB!I7+L>#csr&q_I->O*8&|1EXt*$ZR_lzJ>!N{ZU$>E$)2tD<@LCEhT*rnJf@#yYwg35MXwm zos{=_5JJ%}tOkP+oa(d@xyZS6Fy14*4}Y69vCEfs;H<#W@%1BxZ*kf2{R~P3r-AvN zvrm#=yWEWv@aV9`Tif{XZ`%$^qyjSN7S+k_;LM*E@S zB_fDT1hS6+vB79#ZX#*4;5&|ZWMG;>_gg@gzWvO-EQ-XTQoVJ5x)GIurH-u-~u>f48v2dfDE*?(H# zBOn5R8wDQ$A0t^ZXrO>qT&14e+eD9LQptRslu4;|A@E!FRqRozS+TFQD9iY#QiG%(Mc+ogIN+f>1=dVWETr=^dydP*J&Y|p!&C6`Y>!JDlU z-k*4x`lQ)~_D$YVP^C+ee7;axShw@J=od>Q5FE4@bPL*~0&Tg_yxJa5Jj+x|>symxw2p|E7f711#KUx? zbZRy>7UneG)(fAftX$`i7oyX-Wlv6uRDS4iV=4b28kI?eES2Q+`gP55u zIuu@qz+{lUGx3aI+SJZW!_c#MLy_=doP`lLs9|B%&|R|} zbl5({tJ@w>U^Wqw?v#6v`$Lq7>CWimcFeYnd+?5vw=^MYo#{#)7JIYp)gVj#nzvgA zfGh2QHF%Z6XR2;{Z-cN-cBXJjZ(4$iWYWTzDi_!OV=6(YlIF6Bo%Q1RR`N(_Bj1?B zCSbMB60h*V{-=DYD^tzxZmLM3y3JB;YC8K;Yk>lL^#Fa9vj+zg1rr++15?WTjQ1eQ zCCN&~QdT;%JT2Tjn!L|>=6Riymy?l`M@2_$G_{{=&1*XsFWGSMtMIFBjS8+9jkZ|T!_UUVQsME$?EdTUIM5GmWGwH3@{?7v`ZY?Ug%A^e_x!D~m zSJu4vLN5td5H~3!sVGw25ArzXAvC`?pd|_KA>2=~OIU1kqgO=uVN6G=83M1(D3y?1 zyd34Ve_ROhdPF6&pjLPF2xV5DI21~=go&{urlZ6xU82McJ2i!RIW#*7xqb}(gx!oV zDutl%nrd0Jc<$KY;Nwf-?{+a8-*r=#OWw=as1Bc`&j=zIATnhxA2C&zH?I-tuFeKW zSMi2TEJeIp3opE?TeUnF(dHYnT9FTx$3)bwe3v$SIOK%cBzf6BRnTB!S^Zt)U8!ZQ zWzKK`Iz|_YY`3-BrkSsMqgv0tclW8Z6V&%!S|yrFZLyoRG?8xKmXY_R?20P|)`}s9RKmWi!`l?ccl6S4T?cDJ>vS zZ|520Gk1fOTE&{hGWAF7lADKl^Gqm8jb49;Sw?p2GO2A^Ze3Oq%b1k zePvx;xzIS;I$FInf6TMRw`C4qV=w=>vhxywdLtjwoJ4dSNAfkRW(Qbyp~m5Bfa`nA z+~K&>iTgdTQ+l5Jp1Ls0;hV%UnKQj|rpl9rHst{ZI(%tH4i*~pE4UOv3=6bu3>JVb zoCrjYKe|{<`vh<9xJp7Qq{3QUVY`*>cHQpddz-4(i)G=uP?c)Dy5v$5e#7Pu7X0Fn zh%7vB&`IL1$$pw4ZJlLlh9(oeAal#$%7`qWknie`2n){}BWE$^OuSI6jaQz8S%2Z( zu3i{8W4xuHi8$l=!A(#@Xm*0D@T;>y>Es){J*+y!x^JZh5mj%Gls?YX&lFqKzk^w1 z>;vPB608_f-gYAqozMs5YegyGlZbXZ_vAw{_elyOX!fsI>Kr=Z2W+AQpb_$6f7l~_ zzjxe{ytWF%$!dx1BdRC!6VAdYMPV zKhIJi4nTsXqCW3<8=Mr3OecBBq9etnK^x z$8i=+Pe1$fFX1zmh^)dpDS;M>rPCZ1(|Dz#<)ET;wlX}|sDeH%L)CjcbQ|)Nwc-X? zzlGa6>v!}$$u<^THSUH=Q+@c;RP8P2Ft;8ST{DO6H@)9|cs+KikH3{zy?+akpb=!; zEa=X;YK(jv5+*#tvIdX?eSEXYDQTQaVyi9yxcCM`EFRWGAjY#4)ilp`gGBea99nGo za39W0rt^-QL^G^^Nri*IU98yB%XohB-NBjI=d>|6FRkzL7QvKxyd}UQbe(X_vzY@| z3D@i9newU)^|0#&Yo9rN5q@=$THTQCnOV9N|0!LM0&n&*#&!gW&|`dR-NW4Sr6w^u zFCJ10v7XPUEaW4yOStg@Wx<|d&G1oS%zaJ_3wj#OM_X%Ys|Xm)J7du*ty-+{u%1M3 zIALd5dC#`>27>0BtI5PVOI~3S-I@>Ps8vZXieXrhDi(&WrO|ec_t%nJztp_%y0My+ zSBGf6vRbV%9nT;2AXRi3vHr;A++Q;ngGH!ut82RJK^KD|GQU@?R+h%=xIMJ{&G1%3 z^1w0xI?e5H_4Z;97Cvzb^UZ+ANKaS!eBz%K(4t$bXjgr^U>ZohX$_1Y+ zi%2=L8NM;9y>(`NikHhr)$ImHOgS)i)=>Egsp%Y@#>gJ+-5ahs96azVsMqy$`CccD zHF1qv73x@Y%$I_#fk~m~O?hj>Czvdkia+(QDhj9702bvaY}v`J9d+R{@8~QsPb*o@ z+Qd<%A%pM*)esTo#vr78)ibE$r^!ccq0&gu1Zm?C_j$;f6A{G3M`x=poyev%poDJa zYX?5;5{*-Kx!Ig=t{!lz;upuT(bsR+oqJQ#Z7cP%8h^}DPA^N+-%gXG-FsOFi*+Vq z5LY#DUICtKSZkbbjik?^o2OMDQ`09bRLHQK=14B4tHCSP^chj#E-^k7ZuNM*Ajn=B zRgvCKT}P`$$W*9m6X00j!L%UdTD@WyN{j}R2pKJOV6#hiGPh7{=ig34x~O#mzCvml ze$*%losA~9c>E$AU@{i@<77&z{hpPS>Fr%NF_S)~xvz*z^9(FvdIYebEkXna*Q_xq z;fKoP5R?ihZaJy)wcUX%f^>JWhURCi*&^02=*cNfE@q;nJf6i0=RUI$h|w4$Ul5p= z4hn8++>jL%30|05OQMiUl)~v6oe-(0NXpD8eIzKSj2^G?%dW1j=Dmadzzx4as)=sZ zQDN|{O0v4B3T(u-d9FG;Q*uI&$N~<>@jJ~K@bOPbv$y5H9U4p)OP)EkcHcTTy{@Z? zG}k@vAt}_lomV4XTK|T;WNoLd#@{hGV=F9h^StMqjv=bkKOrWIYu43qIiUB- zBr^4A-Z@!zcVI7Wo0(VUe1tx#KjuIKxxCsb6F9Bvd#z+oy$p3yA?Ht~1)ZSJ^^rq~ zoh^NlN~m9XR$6+?V5O5rEsm^ml`fZctgYw!<&H6H5QsDB6jhr-GKKLHsLieRs9N-3 zidCz!t1Y+nqBWE6<68ds`Zb5ie$t)cCEP>GSB0M%54jI7*9Pl3GUnL#JoaBaz^{FE z)3BXRa9)2|IVc|J3u_i8igbxiV(p9S6qO|clwLl;DZ<2cFGIs&>N8J37*?^VW>7`C z2G}x)t#T>Ru}kVi=nR`j9f~v!+J~OFur{x{>Nq<$JAkNIlRqo`5Yp_W+ltxml={}d z;~myUN!%#xXoiIBs&mXGLgql4+GDVdrfGYxht=k&D@ts(MM0;)h6}9tQl-xOMsveg z-VaR{bH$@qlpp`%=X1xb3?kx_X!pPEmho2)T0>9&4~* z+(*;-WiRc-=C!<4$nAreNFZXhBu;#6XPtS+4zACF^GUy@}4T|QsIzvR*a#dXCX-#o#p$rGZ zBL#3W`p|pP53!^75q?8&LbkPG^-T#&1WbOED4xzkYZ1WcXL9V^G=3H8pRNZST22*YQpJ=agSnH@dyzePwyB08b3P^_`H!0b2Q)LSr_Z{xg?|8UJ%b@OGUHFsv z%k1N>tX!Q&=Elk9=(n^NU3(*}GTmK0tUbtk_F*|Ocbw}Ur)EF&*Lhus08d{Q%Rx?#0l0Kwc)P?{DgU_C znn;3P-te>0JXkuU4W%0ez9_L9XYUMzuTr<}L_1P6Xa*pqqh3`gep9}0uj55YFKIO- zqq|MzAxb^zT@#A!h>+st&S?m)`Na+fZ4{%bZuSin1IkyX?6x8~)s(*tAXQ1zrFZ@lH6h36m0tKrzh#>(@Kay z3Eq>|QQaJ6#gd^fIg6|5ykp&$fZNCr!VA08%q6@HmY6E@LIn!*-m8X9k#x~XHu;eF zMOUQ(_kQw>h(mjre%k4evAy!*SQ{#AoYK*;ofB^k>2WZIC#Q|n+=4ZjpDSK_%Jt!{ zd#rh7dlB=9)GMqkw9Ju*TnW~GxSane<$&>&@bM%e5LJ`LbBn{4O6ta0k>Q6CoOIX2 zn<|_O-!oNau0>jV9`u}BrK&()A;zyQU$3}4_~=LrIQDJSGDujCE&ChyTDu!;$e94u zH)VS*Ut7lsB1$oXmV6~QaEB^tNz9D(iv`2PKEdl-t)XP|N`^-7Ef{T)7N(Cb)ww&CQz2^P7FyO)ezgSkRi}jd<6L=M6UhkNg*9;tfXu zkInFmt#IwhXC$(Zc9_~NKml#-SJ;#tFzu3P#Nsz9Xg`SI+7r*(0a@Gbt7RJS8h*WS>Z~jBY7sPSbj&X1c zjW?yf&`*NO4Vn3hk8}LkXx|;PRyW6k)-~V`GjU00rQA$ld7>=%yr`y2S%lMxXL02t zAZsxzuo!B=P?pj+9&mEJ=HUh8Jmy_;6eY>>WSs{OgGDNvRA{QD{z;hfI#?((ByNIT z@NmN`XAS5?Q~DnQ#klp%VR$BANO5IJb{W7SOSu6Fz3KJiH0ZHpLSV@0wO?Hu7ASVT zgu_JJkxHS`KY@jH?eLOKA=}V}tENaCpA>P28JXP3n1`~L;~Pl?LT2*h;0(P4roZdG zbW7O@`J75iAJHDvgZ$n*2mt_ z0F6Vp!3b7go_W!0+m)Ws84ncgBFypHMBJDigJr)!vbKMLvd#uVAC7WlR-G|(nEya?(TR& z0;+fky>-*$i?Vf-<>MlL*^XW%G{IyP>P-ZT8%sf=Bp3`csW9$D3`GYhg;Z1snuZs* z7hu)|Y6vRAkYfqGbU`EUQF}w6Nh>Qz&loP_>kHK$hy%x$ww`d~&90u(yRP#p1Kv)` zj?*wm${*d7+pse>%R?X`Ym-&QzZ+Tdm0imq=;ce_96%+W+bev8>DR(9qb9=H#wYzA z@%gqM>meSGskZqcG+Wua|HC@`^V<5K>+o!xK-Rz3;n{%yUWaFUPG0`c6lFT`Qnmp= zg#Oc83{IDja51SWNm%m(MuMw}dA>K|(jlyZ7<+!U{M=<+<}hbWV{6I8gJZ{zhy5xh zr}lM(B@Q^P5fvkIW&&4sxUJNZ`=ZUOvir7F=)%FBD|IEnTJIDQo#7)$ruS?%4%b^d zL_~p!%pMU)n|n+S*Ul&NGde;yesDi%9lx+ncKYt?O1rV45756l)e5=(+H?#$k~?pF z6>H3etsS3ENZ+X*+V}R&wEOD7I~=?ht3R9RFhec_eu5RI4^Z>mqoErO%0gf7_}>h8 z3eOrFunxfNKss=eiv~QP-^=xcYbX%S(oI^9eWoecR2QkFup27g zWfGxnpFum*ftSvz9h3bo(aSxjHI@=62v7r{~o+w1M=tKv9L1#J$ApV0sqMGJ|~TZjU5dg z%T-f&!g6%{WFjJDoUCLV!ek<%WCEOIoNRwr6xFvjw{i#Y zh>D1c0)Ze75f-4Zr~n(=uf+7TuF%vG!18Be_^Dk%L0dO~7JvZ+WCj8lSi#Hy5IZLe z0L09~4AA-2sDzWgmARpSjj5F};E(jOfTN-DQ)Zi!nd4W5=iWY-8JJoA=!THKow%{N zso7Hs`l*>;b(EZptyKXWe;of@5dW+2e7#S(B4cL2uY{7~@A>cNRQa>ho|EkVc;}A> zoei9RWyF;ooQ z#0q@!{C`*b|Bamu_}mT{#LURf$;=7n1b|ss8QH;X;3xF~8!IOx2apxa!STBl3}Rzs zW?^Mvf0ifwRvXO1!pP3S`P^k@_NNPBVFt212OKtbPDT(A^wi?-c20IyMiBF_YyIs& zFbKrR0Rlf=_wOwO0jy7U5DPO0i22FoKt@hZ@GmEEGBW}>I5}8ZpKAYoayHH+hS)tc;w%r>kN8V_H8=C|ea9^JjrA;8z6wed4h_3v&OOcz>og+5XmT z{6~@Q@2O2@_WwP#scfmNJcqgJ+U8*b9gKSt2^k(LIDqpu6p1uEB^vteO(8txL^6i4 zut9A$4sjk7UW6!GfGP{0VPPfMz<{z3HdH3Hu#)Cese-ml!mJtVmt;H{^r)N_Bjm-T zva*?n;{#5|G2Z*7a@$kR>v&ONRAm`Jj@!bd@H=vS@;C{q$%b63)vn&|D)AHZFfUU#?ePfn>11Mh{~>YX+wF{2%wBE?0*2x|2d z&aJ{)CANr2@n4&kQ%?<#M2MVFIT$R&HyY>A&utY_4$)GeC)vGWQfLlJ4|;c(eW_*C zmZzbTgd)xB(qu@DTfi;rim<;U?eH!>O@e}Jg;DIsaRfmHN81mpu*UWtaZEl=6ZT$t zg3(LPul-7{mR2=d^_r;o<{6Vy4e8D!9@5}|YVz!H<6d3nS&nxtMEBu_j!=XOnijMD zt8|{dvHOIZ)y{o${pB&`(d?T^s)d{h6dqM9oV*NP^Jfa0(%*P@pk$;XBxW5yE=&?2 zv|U;_R=5?pR5xlcHL1iT)GOIn*=T+p)+%_9WeLM5MfVtF7|hgk?>1T_CaO^yeBvM- zhIr8|#56KSWW9v{sr=LESSXo`QVNc17@Ro4W^G7q(N%OWeS~GsaEDWeZSyJa2%Q5-6UdIq` zS&Oo%*$-t(_*I|zllIhd=e8)}QP?y`Bts-}1j0lowmxhj-x~$!58?(>o*&W_i*j=E$4MN#FA7$p)CzD;`@WKYy^dT1 zc@LYtUQeH0Js=ddwEfW+QIBgo!!e`PYR7}sk0XX_%e<=hBm7*d?=bQ$FdC?d6OwMG zd#o@Tncs&s(__Y?T!^PNphKKwiv z=8UMW=wo|}5aOkJTni6^I^21@Fowv{7tMD$W!UiE&rgTc-Nn!bbp1v=x|=*~qdD~nQmx%moFUpDWO zWZBZItiCW}7FFI8{I(U; zvBJb~rG%)F^(9~)KZC`arvzu%=DY4*8S>I3^ zE-DMj7)rANgFqUr3AmgI2uV|j31~+a@qS@0(t44|dfE^RkucIU2Yx7hb$TO4H#lp0 z%lwOZC$5H0sx^4Wg0s}kL*JZ54HF4JM8-v;;@Ys021afK57`;IHOU~d$J%sPtcq86 zb5G~DM1BGzNYs8Namif-a!?2&f@9JA1auJy))gRs;!LdNLAy9Z0^!@R3|5qrJP2(-ULb*JBd(gyrogl?~(&MdojkDrjOc z=%oQ8fe_ep@VhCX8H1H9oTGyj!p!&y5ImGis#vmnxM;D!qPc#s!73vq2od-u{7wo7 z4v+=_YW24KVCK9xEN>7>B`)Slrl24A5$@ii-;|SW(D9-kB>e}N{uknWdYpqeS=s)^ z>CXu0e+LBr2rvJW*6B&c`S)8pI`RTG-2jx9i*VljkkFKBrayPZB~`XaaJ!f?n&OoU$#;Avt+! zi1i@Hb*IReIzW4hHnX*zTfKb``wNI~0rc_6=mg$l-4CoKG`x0wu^Z$~Nc3Dpt~2}j zrcfHA{j1DRatouS%uNp|*rH977^Cc73iE*6?!atbd*=zRGFiQfN4MH$QPY!;MNKpZ zaatl4Vny#Vi8}f85dY=jKWMCx{u3R2^6xW)V|yMC#Xnf^Z*1WYvGzYQZPtI!X}N#Nw88(p zO+hV}kM6Q%lO>jc#Ko*z( zS8yeQ2GQMBo^YHfywjF}j^gys0mJ=ulw2TNBnG^;$EQyeuhA(>Dk{i>0>~J6c-$3o zOt8oW;!6Q9LIwc^<_C4$#L%(orTJ8C>1$o# z=h1<9@1rOL3gYz@KkF%d-cU4OS29;9U``Xr=SmAuBpmDdfCkkB2$00(l1!@1(Z%Hn zPyUkQfXg@Z{#+l?)LT7AslLGJq;R@>BD21Gckar1a_7a&+|P|`<#K(;5Q|o!RTpPs zjMkc)hy7v79}hoXWq^ZcXtl!~JU8VvWYamc6LX9<3#$ku33QUX!wiQUlsD(A2+}#q z==;f|nT9LFl-_R}@n=;9XE6rL&!Q^3K+#&lacR9w`VN)O>o@e#e=Prvv5tVLT2@tE zRyD(fkLO0E?UKwKVx{R+eTX@HzV{rD4Tnnv77G8w&25h>cbgkXX~f<@7R@m@WvV+3 zf2Rj%8pKI4a;ql`{hp!x{^YjB+JnAswC(hb+Ey747E`w!kB-_5Yx801*I{purh~f` z2iyeZHE?$u_cEJMMDGfll`e>H?5Pf#@ zR;5ql;otH2*Zg~af<4{bY-}8V#bfYa54?YtSkx7bO@2+!KZ!30%=zbR{r77G&yhmO z{GBlX{Kv}A)1ChGHUoh9k9$VZ*4F9iR{uK=Jjb1<1&Cke-ye?@V~vPi@)*Kju3K$A zZQu9`hrfYBQa4t6gR3lr9SS`FD-K8PpGXNi+8j#|#o8Gedf7@A6-tKwSpunH-4FRi zAc_D2TyAV91pSu$8#v5q%C-oc!K9mPdM@L7wfGbMhi+d;Mz?h#2ohlwp_ep9K#13z z81jO~M*+3<25*OsAjFJ`I+Qh56K60phVF8#N~&}mN;fpggm60NYpAT3st2%vA=tA2 ccB-S3zJrsS!;`;2Ppd0ncnS&;IZ^ok1>dD1%m4rY literal 0 HcmV?d00001 diff --git a/docs/latex/vector_8hpp__incl.md5 b/docs/latex/vector_8hpp__incl.md5 new file mode 100644 index 0000000..7d0c9e2 --- /dev/null +++ b/docs/latex/vector_8hpp__incl.md5 @@ -0,0 +1 @@ +9af0abec8d05ecc690a24e5d4de4eba7 \ No newline at end of file diff --git a/docs/latex/vector_8hpp__incl.pdf b/docs/latex/vector_8hpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b155f0745c87f398f837ac546eda2f25eb0566a4 GIT binary patch literal 10704 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 WxQ8=xv_KwSFb_5(qqM3F_WuByQCEEc literal 0 HcmV?d00001 diff --git a/docs/latex/vector_8hpp_source.tex b/docs/latex/vector_8hpp_source.tex new file mode 100644 index 0000000..1d5927f --- /dev/null +++ b/docs/latex/vector_8hpp_source.tex @@ -0,0 +1,86 @@ +\doxysection{vector.\+hpp} +\hypertarget{vector_8hpp_source}{}\label{vector_8hpp_source}\index{headers/firefly/vector.hpp@{headers/firefly/vector.hpp}} +\mbox{\hyperlink{vector_8hpp}{Go to the documentation of this file.}} +\begin{DoxyCode}{0} +\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} +\DoxyCodeLine{00002\ } +\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} +\DoxyCodeLine{00007\ } +\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#ifdef\ DOUBLE\_PRECISION}} +\DoxyCodeLine{00009\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ double;} +\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#else}} +\DoxyCodeLine{00011\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ float;} +\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#endif}} +\DoxyCodeLine{00013\ } +\DoxyCodeLine{00014\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceFirefly}{Firefly}}\ \{} +\DoxyCodeLine{00015\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{VectorType}}\ =\ std::vector;} +\DoxyCodeLine{00016\ } +\DoxyCodeLine{00025\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \{} +\DoxyCodeLine{00026\ \ \ std::shared\_ptr\ m\_vec;} +\DoxyCodeLine{00027\ } +\DoxyCodeLine{00028\ \textcolor{keyword}{public}:} +\DoxyCodeLine{00029\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_ad3fd719be77f22f323d2fbc2b416b5b0}{Vector}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \&\&)\ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00030\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}()\ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00031\ } +\DoxyCodeLine{00032\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a2b82096ed53c0c6fe1d5ec785857a59f}{\string~Vector}}()\ =\ \textcolor{keywordflow}{default};} +\DoxyCodeLine{00033\ } +\DoxyCodeLine{00038\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(std::size\_t\ \_size);} +\DoxyCodeLine{00043\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(\mbox{\hyperlink{namespaceFirefly_a94ef67810f9929b1bc65cbd86a31342e}{VectorType}}\ \textcolor{keyword}{const}\ \&\_vec);} +\DoxyCodeLine{00048\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00049\ } +\DoxyCodeLine{00054\ \ \ [[nodiscard]]\ std::string\ \mbox{\hyperlink{classFirefly_1_1Vector_ad6a52dd32633a7e2cc0638470c336f39}{View}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00062\ \ \ \textcolor{keyword}{friend}\ std::ostream\ \&\mbox{\hyperlink{classFirefly_1_1Vector_a539f1696d6f351e845d078ade6b4d551}{operator<<}}(std::ostream\ \&os,\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00063\ } +\DoxyCodeLine{00070\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}}(std::size\_t\ idx)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00077\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \&\mbox{\hyperlink{classFirefly_1_1Vector_aafcf2e6a2a012a41a1532560f79d0325}{At}}(std::size\_t\ idx);} +\DoxyCodeLine{00084\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator[]}}(std::size\_t\ idx)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00091\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \&\mbox{\hyperlink{classFirefly_1_1Vector_a7bcbc09f6d3c0867d73685c21d9a2e28}{operator[]}}(std::size\_t\ idx);} +\DoxyCodeLine{00092\ } +\DoxyCodeLine{00097\ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{classFirefly_1_1Vector_ac99a32e3699a60ffc12d1d7673e1c3ba}{Size}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00098\ } +\DoxyCodeLine{00104\ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{classFirefly_1_1Vector_a0de7465369122c27ed8042d6a41b4b5a}{Rank}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00105\ } +\DoxyCodeLine{00113\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00121\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a29d6bcdb921231252013512244ea5ff9}{Add}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00128\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00135\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a8b7617eab47edc3c36ea582842c35332}{operator+}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00141\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a9934daf558c4caa56f5f8607955e86e7}{operator++}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00142\ } +\DoxyCodeLine{00149\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_aedcb2ad43705440c473f1e73c02654df}{Scale}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00150\ } +\DoxyCodeLine{00156\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0d7cb8a7f620cc27e064a99e64ec981f}{operator*}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00157\ } +\DoxyCodeLine{00165\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00173\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a0cf2e63094bf72c996e53aa9831e8e4c}{Subtract}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00180\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00187\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_abc1800eef8cd8c2a743564940412405a}{operator-\/}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00193\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a4fa4235235de944eb35e5fe878b59f09}{operator-\/-\/}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00194\ } +\DoxyCodeLine{00200\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_acd893969cc1e4d0f3e3cda55dbace649}{Dot}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00201\ } +\DoxyCodeLine{00209\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a7901d0f6bca04092071da0aec158affb}{Cross}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00210\ } +\DoxyCodeLine{00215\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}{ElemSum}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00216\ } +\DoxyCodeLine{00221\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}{Magnitude}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00222\ } +\DoxyCodeLine{00227\ \ \ [[nodiscard]]\ std::unique\_ptr\ \mbox{\hyperlink{classFirefly_1_1Vector_a16f0cdaab79786ad4b4a901ce8f1d7f3}{Normalize}}()\ \textcolor{keyword}{const};} +\DoxyCodeLine{00228\ } +\DoxyCodeLine{00235\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a1f27be5b4d8f2d41ba4fcc3fcde91a7d}{AngleWith}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00236\ } +\DoxyCodeLine{00241\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}{IsZero}}();} +\DoxyCodeLine{00242\ } +\DoxyCodeLine{00248\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}{IsNormalized}}();} +\DoxyCodeLine{00260\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}{IsParallel}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00271\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}{IsOrthogonal}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} +\DoxyCodeLine{00272\ } +\DoxyCodeLine{00279\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_ae7a2b40012d900c6a8eaffd11023d22e}{ParallelogramArea}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00286\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a2f6bd9be6aa613bb7b44419cad7717ff}{TriangleArea}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} +\DoxyCodeLine{00287\ \};} +\DoxyCodeLine{00288\ } +\DoxyCodeLine{00289\ \}\ \textcolor{comment}{//\ namespace\ Firefly}} + +\end{DoxyCode} diff --git a/docs/latex/view_8cpp.tex b/docs/latex/view_8cpp.tex new file mode 100644 index 0000000..89ea09c --- /dev/null +++ b/docs/latex/view_8cpp.tex @@ -0,0 +1,14 @@ +\doxysection{src/vector/view.cpp File Reference} +\hypertarget{view_8cpp}{}\label{view_8cpp}\index{src/vector/view.cpp@{src/vector/view.cpp}} +{\ttfamily \#include $<$sstream$>$}\newline +{\ttfamily \#include \"{}firefly/vector.\+hpp\"{}}\newline +\doxysubsubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +std\+::ostream \& \mbox{\hyperlink{namespaceFirefly_af4dee382a43cae9641950a0ff06d487d}{Firefly\+::operator$<$$<$}} (std\+::ostream \&os, \mbox{\hyperlink{classFirefly_1_1Vector}{Firefly\+::\+Vector}} const \&\+\_\+fvec) +\end{DoxyCompactItemize} diff --git a/docs/latex/view_8cpp__incl.md5 b/docs/latex/view_8cpp__incl.md5 new file mode 100644 index 0000000..9c9c7ec --- /dev/null +++ b/docs/latex/view_8cpp__incl.md5 @@ -0,0 +1 @@ +6868618c749fac61fc427188b3a3e2a5 \ No newline at end of file diff --git a/docs/latex/view_8cpp__incl.pdf b/docs/latex/view_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c92e0c099e4b9aa4d975bc45698ac4ec25c086e9 GIT binary patch literal 11702 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 literal 0 HcmV?d00001 diff --git a/docs/magnitude_8cpp.html b/docs/magnitude_8cpp.html new file mode 100644 index 0000000..a110477 --- /dev/null +++ b/docs/magnitude_8cpp.html @@ -0,0 +1,96 @@ + + + + + + + +Firefly: src/vector/magnitude.cpp File Reference + + + + + + + + + + +
+ +
magnitude.cpp File Reference
+
+
+
#include <cmath>
+#include "firefly/vector.hpp"
+
+ + + +

+Namespaces

namespace  Firefly
 
+
+ + + + diff --git a/docs/magnitude_8cpp__incl.map b/docs/magnitude_8cpp__incl.map new file mode 100644 index 0000000..7f9099f --- /dev/null +++ b/docs/magnitude_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/magnitude_8cpp__incl.md5 b/docs/magnitude_8cpp__incl.md5 new file mode 100644 index 0000000..c66faf1 --- /dev/null +++ b/docs/magnitude_8cpp__incl.md5 @@ -0,0 +1 @@ +0e6f225384bc113ac992cc32c25ee34d \ No newline at end of file diff --git a/docs/magnitude_8cpp__incl.png b/docs/magnitude_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..95a39a7ebafdda9c5074722d050b11a3ab163053 GIT binary patch literal 15467 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'+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+''; + } + result+=''; + } + return result; + } + var searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/docs/menudata.js b/docs/menudata.js new file mode 100644 index 0000000..11d7638 --- /dev/null +++ b/docs/menudata.js @@ -0,0 +1,72 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}, +{text:"Namespace Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html"}, +{text:"Functions",url:"namespacemembers_func.html"}, +{text:"Typedefs",url:"namespacemembers_type.html"}]}]}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"e",url:"functions.html#index_e"}, +{text:"i",url:"functions.html#index_i"}, +{text:"m",url:"functions.html#index_m"}, +{text:"n",url:"functions.html#index_n"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"t",url:"functions.html#index_t"}, +{text:"v",url:"functions.html#index_v"}, +{text:"~",url:"functions.html#index__7E"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"c",url:"functions_func.html#index_c"}, +{text:"d",url:"functions_func.html#index_d"}, +{text:"e",url:"functions_func.html#index_e"}, +{text:"i",url:"functions_func.html#index_i"}, +{text:"m",url:"functions_func.html#index_m"}, +{text:"n",url:"functions_func.html#index_n"}, +{text:"o",url:"functions_func.html#index_o"}, +{text:"p",url:"functions_func.html#index_p"}, +{text:"r",url:"functions_func.html#index_r"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"t",url:"functions_func.html#index_t"}, +{text:"v",url:"functions_func.html#index_v"}, +{text:"~",url:"functions_func.html#index__7E"}]}, +{text:"Related Symbols",url:"functions_rela.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Typedefs",url:"globals_type.html"}]}]}]} diff --git a/docs/namespaceFirefly.html b/docs/namespaceFirefly.html new file mode 100644 index 0000000..43b6f7e --- /dev/null +++ b/docs/namespaceFirefly.html @@ -0,0 +1,155 @@ + + + + + + + +Firefly: Firefly Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    Firefly Namespace Reference
    +
    +
    + + + + + +

    +Classes

    class  Vector
     Represents a mathematical vector in n-dimensional space. More...
     
    + + + +

    +Typedefs

    using VectorType = std::vector< Real >
     
    + + + +

    +Functions

    std::ostream & operator<< (std::ostream &os, Firefly::Vector const &_fvec)
     
    +

    Typedef Documentation

    + +

    ◆ VectorType

    + +
    +
    + + + + +
    using Firefly::VectorType = typedef std::vector<Real>
    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ operator<<()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    std::ostream & Firefly::operator<< (std::ostream & os,
    Firefly::Vector const & _fvec 
    )
    +
    +
    Parameters
    + + + +
    osThe output stream.
    _fvecThe vector to print.
    +
    +
    +
    Returns
    The output stream after printing the vector.
    + +
    +
    +
    + + + + diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html new file mode 100644 index 0000000..5a1effb --- /dev/null +++ b/docs/namespacemembers.html @@ -0,0 +1,83 @@ + + + + + + + +Firefly: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    +
    + + + + diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html new file mode 100644 index 0000000..584839d --- /dev/null +++ b/docs/namespacemembers_func.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    +
    + + + + diff --git a/docs/namespacemembers_type.html b/docs/namespacemembers_type.html new file mode 100644 index 0000000..ab3fd49 --- /dev/null +++ b/docs/namespacemembers_type.html @@ -0,0 +1,82 @@ + + + + + + + +Firefly: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace typedefs with links to the namespace documentation for each typedef:
    +
    + + + + diff --git a/docs/namespaces.html b/docs/namespaces.html new file mode 100644 index 0000000..bcb0ed8 --- /dev/null +++ b/docs/namespaces.html @@ -0,0 +1,88 @@ + + + + + + + +Firefly: Namespace List + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    +
    [detail level 12]
    + + +
     NFirefly
     CVectorRepresents a mathematical vector in n-dimensional space
    +
    +
    + + + + diff --git a/docs/nav_f.png b/docs/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/docs/nav_fd.png b/docs/nav_fd.png new file mode 100644 index 0000000000000000000000000000000000000000..032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQU#tajv*C{Z|C~*H7f|XvG1G8 zt7aS*L7xwMeS}!z6R#{C5tIw-s~AJ==F^i}x3XyJseHR@yF& zerFf(Zf;Dd{+(0lDIROL@Sj-Ju2JQ8&-n%4%q?>|^bShc&lR?}7HeMo@BDl5N(aHY Uj$gdr1MOz;boFyt=akR{0D!zeaR2}S literal 0 HcmV?d00001 diff --git a/docs/nav_g.png b/docs/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL6W-eg#Jd_@e6*DPn)w;=|1H}Zvm9l6xXXB%>yL=NQU;mg M>FVdQ&MBb@0Bdt1Qvd(} literal 0 HcmV?d00001 diff --git a/docs/normalize_8cpp.html b/docs/normalize_8cpp.html new file mode 100644 index 0000000..fbc5c51 --- /dev/null +++ b/docs/normalize_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +Firefly: src/vector/normalize.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    normalize.cpp File Reference
    +
    +
    +
    #include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    +
    + + + + diff --git a/docs/normalize_8cpp__incl.map b/docs/normalize_8cpp__incl.map new file mode 100644 index 0000000..849c1ba --- /dev/null +++ b/docs/normalize_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/normalize_8cpp__incl.md5 b/docs/normalize_8cpp__incl.md5 new file mode 100644 index 0000000..7299426 --- /dev/null +++ b/docs/normalize_8cpp__incl.md5 @@ -0,0 +1 @@ +4806591674110c5a8219ba077e81383c \ No newline at end of file diff --git a/docs/normalize_8cpp__incl.png b/docs/normalize_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..76a4e4d47cc86238ef758e6b8f23fb3aa2730713 GIT binary patch literal 12973 zcmchebyU?|)aQu@Q2J3yQc#pexNF&`K zF#Epm%&d22&CH*(p0#*fz&*d;IcJ}}zh{3xgg#S|C&H)3$H2fKQg|Yxj)8$`5C3ku zh6`WMSl_Y1|8UKeX>I4Pg7s|`$1 zO3RYIPdvT6e0Wbz+tq~XM4W+yfkb3Bar>BWrNz6?r$5p8;Wfq}QtAKkC6_8Diy*g0 zE{cA7*sOHO-GxqiY_c_&Ku5GLB&@G}07uh`B7DgcHS|z^lu?HD{SKGqjTz$Q-@hM6 z-&3YVgpj&@`1rB)!yS2AgdEDm!37gWwo3`BCY2Uuyl&4JeFPWo6S zk`f+qur-|=LPVo)eBR)>-__UGVa>m=vLat>)R?PRZWS>3(}H(*#(Vo;YU;44D3V$K zD+w|8t)AnW(3|(o9#DlLwny1*#1@-o}?LOMzaw&BT74 zA8~_LzV<(Ocm`Lsb#)(8QxTbmM$cx0ZQo3d);r8gQ}bItjORj(HTjAu#dB5aF$7nJ z@5vrDq;{R|uY56XmYlA0#r}k-ceAjx92Z}PC`3W@JnS<%{2qNjQN;NkJv}|f-%We} za!El}*6ZBd+&;d(UyK?>(|wO_DJUrX^UpsHOFzhuwx+v3D@0?ARogSW6zJ8| z)nUyoEw%40b=Sfi6kt7E3LxIFNl8gfrfH@dy@lW;E-u9zcl7o~9&JuWLp+We`zzPG zZQ}b#V7wt=s2cHsu`%eq|M0*v%j5CG})eM6cU%SOMe_fm|@u+he0dlmjcIX zXGlXeBL=-$Hj`D6=AG~Ka-^J&mofFL?Rs~AcaGP)bGy&_x|dE?LI4cqX%W2IZoW#} zU+L$2@#}7k`d`=;*`nhO@=7`>MAjL<-H!&A(x&^3!K6nC|S%85?E# z@h+(P=GsIhJ03Bu$#PF3KXN1jMjfbgMJ9I+6<>{#TdAgrD>Ql?7WjXA?_9#6BQ5<} z;2WH4>CSg_E+fx`nK6cTUb6`H4&kJVm$JoT_&Yf2E$ zCcD?J`NGW*fe>-uqCH$6W-mju*86bscG+R~C`DiiAyX=yA7p~}mtLIa`Y{`7wHD2Wc(Ufbnn332hA-CaguVPRt_xvbK$ z(xR35dDEMI7;9^59$sD(9QA%hhi6Gj<`J(KaorygGf4Kl#v!;yOq>mySyNkEYSl}< zQSn59R>CWWSt;&;-IVal(IVS@>M(ss7~kExy1Gg(rNqRNVF{B<~Oy1VB{VZ?Sf{Ggg$06wfuTQ^UFT%KU#iw)mq|HUu(C=3 zIYMY}Z;zfQ>`wthD&|DRi?(0_N=UQ(_A@EVy~!HIMiP))0>7HDIB^IG2^kt1+DN0| zM5c(khRyn&6Lpk{gX!{2H-kWM%)Qq{Jg@>~;3t?-jBxEWA42-TgW{+x%@a)91Z} z{eAUDFIOferV?EaIB|O`>HfSnVHk!Wpg#la z36=Mjgcm;-7gu`~3N@{(Xwt&E|h*JcgXK zc>b6#@o9>fJ24D`%exzniDslD#L9t`30+kk_jFI`I2%}wy~^72%& zj*?%ysQh{V$D}01NNRxsTRlC!6cJ}!c>83H4SX+&(NV*n<}eWv?;{R4z#~m|77?%G zP@g})|M21KX7#L{?-ocBSeL3pqCOiz=eO1euJ)#z} zi^$JMHl?ekipuKi>o>Vh7wGYAxG1Y_Ty%Z7qnWSWyIe_LL04p0+X~U*xlvf{;OICH z0_o)Z++d|Q9LXIzmCPd}C#P5y!|N&L%B#qljO|iOi2FFh_%Hlw25ibmIv*dOh|kG` z`T6-%`i-?Uy+z6=gt&pdUmF%WesqtH3e7rCPfy$S#rKJ+%!uOW)qWcN1E=`rln}3+ zX*a}Wl}~@KMBu&n0qf6?0&z#u_wBManq!kM#PARowR1E*)sUxkGr^)JIUnuU}k` z{Ca-;_~EXnW9nabVa_?Uo0{`P#A$q>5;P`D#!srk$7Tm6pdN!7yHft|y72$?@c*Nb z{QvlY&$NhFq(>CgS@GDLMFvxHZH_qcdmP=`6!iK-s;Mk(dqE`xl=76fWmttV#QiR$ zaSp$qKKD)er`kcA*OrNmHY<4P71y%qxZ5g3Z5SR-;r>hWQo zNu*0@@XVhP_b%VuyZI0qK^-SjcaQPUBX~RO4`0{A9_`K|3US3}Hrcauf=wB5^X}Y3@TEw<$0@<|kgzISE46M6rzBwwSMZCGQ zIomw@F*df6VQ~^g9uVZt%wzrY_WDTS#wu?RwsNYd!1>?P{dZiC$3lDl-=TipUhNa8 zGL0M+x)^mx7?Y^}<5_>NP_NpK4urE?p5nC?=D~Zd9nDu4_PE5fT>;p5Hp|)jeX6Pn4+0={?0&nc zI=8XWoxo%MQ@`BgE7n%cZ(?}YwV^LJp)hfl^n>2*wCaJY03D=ksHx@%t5RL-u@c7a zxC__QO^~Sb%gea0l9OpXn>lkUvmJkTaOjnNJ99QYTs)HUzw`l_r#zgewKiQZB>#?< zk%{TG`;6zCD5=Y_vpUFw-~0NkpbYcdO(no}Z!k-q1VqX6&Eik4PK`rDnsO0Tk2WVN zcR}tMU!CbRt&q@(#v}j%|`Tn)%A}cNn`B>GJ|`0 zK^0&8j*@y=SV=GC*PyMq1`pLWu62?{79M(UH|AhtVYwI@rl_c@j)H7XEYdDalJxuQ z5qj2eb$NaWx3?Fz2IW?fN4vWNw{G1Uu^h}+9{k-AIjE1EhKeQeypI++31Y()X6NeV zF4Kn_6wyHTom2V5yeo9Ff=@Pp6;7H`0LjJ6ywV9@bH;x`}9h>p9B;fKfiqW z;ssBc=WPH1Xptdiu+xK!4_7Qf4*%`RVfKs>w$Xf~!m2@sk|hJ74h* z;rgREv;wly1*(7LxJ{Mh@%Z!fN>3k1zurJg^3j)dsH_1Q5&e7{qqYcU}+6@yDet$S5mxx6}%MMxvqW0hnHn+v+JLgs>q>cK0}A0x%a z{iWuey3KwPAO*^*(#1VL2I7%8&H5f=K5$um1~;>DxTC~#8!v+>ynpxZXPHCmLiBB! zQ@?^m%~l_&0s4gznxJG+zzQ^pFztBN_l&DfF>}#5V?K3CA$%ndy24Q zCTKP%$caL-td{#%@QOR_l*YQM*gY4=ePY`&xl)vrlyZ^OvNAINeE9IeWos(2%63wJ zvib5137cq}x(^Xz+VTn$Ez=4NYd^vWKP!==H-@7p{ot~Wh2){Kx#EaX{|~{z%&Zrm z*lYEUUP2KTl)&)5&~FeHf>QUHnbqJPexo}42W0rMcISSH&Tj7J9(WY!=i6{~hMQlx z=l=4ICT;7B2J4$!+dUkbhA~{ z`yfUYl$6Y2O?uKKXfXW!{fTLXA9{J!RW|3Od4&nhcm$rDcyJjtbU|*y^ng$y@Zs!^ z<7{hR>QGspfJ+ff8#2t4VcLF&Lsz~YRZ1+#nB)k{a*1i`Z>QC15i|umL z&@Bdj>RV!N93VVDLGBqT7fSP3xZd=4PYG@l%5rkJa0s8KijtR)_q35nJylf1hjeKM zqk}5jw9?U&jFLQKNfxqSj@2>BcsZO0lTDWNJ&UP9TvH2}>cLc!ht5Mfi2I7(va5@2 z|5M@-E&kt~QKO)+g{F;eIJK0SeUPwMvqQHeh-d^$+_#OAmvEF5uc?hgEp}pLVR_5o zcM`BRm@|mJPgZqxJ;BprmN{jf=ll_zkU%9LKljXerLPg?rgqvje(!&2bN%n?q)+h6 zT_gVsSNZt&QEtT{(vL@$3^uyvuqdK^!|H~c#F4GTE)Ogxa_G;?w&?_e9xHh0IDl3Y zNlQ#TO~~5lQW~{ceq8^EWP_T>i<;~5-?nAFZu`1ox#^9KqsKW^zvG)TqAor5;?~d3 zl>#f|dzW9f<@3e1XWD0zD9!D2vqn*K9-PjO=1wb_568yr#VwrEAzqb48PpRdkqVhS zEhvgE^rZLDew_5$T|*v%@XjjwnwFl~>+ff2 zH;_)tH~RDW2Kk`!+1%4GjWEk%t(unDwq>LW>~?<#lUChrkp0q4WQ+3X%dGXu&q!sr zY4lTOH{wmGb)FAo8=$W=+Hfwz6y+pT7ix?b^@%Q8i|Z}d=lQn_Yo@dlNx>8!RLvrQ zBA>v>5?m#wAP|dPZkP2P7WW<^7(H4pKY0|8pF!a+@1{Op{mb}-8qvMbDqNV5%Q%>} z@lez5#!TzhUP#r*XDsJGw{-i92Dfg>`Te3$-`Jj;88y&~dm`K0ien?IE-wis z)-)VZ8JsVVkN$}1=tj`zn--Ok*5sy#mFqO$8C{#e#pYf_$fr>-&1~nC{SgSsrM=tG z&Pj7Ce}mma?L}+Aev6ouyCg?sWZ7iF(I!o7NwDAKRlU@uyoxt@Uf_2Ti|T zu=S=*uZVbv(F^C0@vYbXdogkGLuExgEKH@w_s4Wld5+9m&sC`Rd?cl026<s=ta`d=Nlvm6k|nUH)nZDu)Q5dNz8KpkODEK>UrJvRf+D! zs}URZB-8M-Jk@S5pJaWr16raxJcE+!j}GPa-bpy6Hno||S9!obkMek5( zs}_z%65`&Ai|1nqDI6Tmqk4jIB!}|_^Ia|@_eOjmKc$97?d-oAR9R*&$Z#{!q<|J~ z>zNqR;uJU^D%Nf6qsuy~!lD(jig^-^uG#WG|z$c@t9 zT=m++4;?6GOUUMT=UmUfL93@U<~6NCli+2mDo)(aaeep4qt^Nxbz4tEoX96kBeO=GXLQ>z#uV?Ai#JL!-!OoUH)S4Bp<5Kg2 zH~6qeKT#`feyGkb@k&tb5nKDfA=zCHZK07QkHSQTX`RM}RWGODf>DH8LlVt`{;vPP zqjdxMQRY9Y@c3)vpRv2F%G85CiDVNtAm|^{+_q@+d&1iEE6HExSnJBwMMCy^=s*^k zj4p?GNlp61I(lBypX$x$T|eO^*;4ez>}hA!2;7(NnPHyw-0W;f^O&1r$!pQgO-|U}CBI~rQBaAYi z-er^h6!LSZo8NdyUN&xY4!5L+*O;|u>zU0boPQ5Lmx+n?Z z79fluR!0A#?Xid2TlyJ!yp*3r*ln*)$b9cgtG-E1o@HQQ!aK^P{n@mNZ}Y_p`HieM?79W~ z5)_A82DFI&!Wy@bPVK^5bkjPrB6Vpux@(co{P~NqH`RQKIR6^E7`wI%ph8;}Jj6ag z@Cp%KIgR|p-AH|TgsB9p`H%dlIY|c3nXO5|cuOk7p*9{JqCe7OQ@~buCKhj?0kcAO zxAyC|pYE+{fJaKgJ4{S8KrJf4nP_q@%Q9)xWU(#3SAu5>kTtpK9w%#J|!smuIiT zU!POpeA%W$L`fjTUNtDO8bMGrF0FdmX{V9;-?Szyc%bhgQI;Y_x8g-x0#^8xVcE67$K|`SgowFr!&3t(_u=5T{jo_0zz8wQ3*}CQKAd0 z6Ks6fx1GK%^QMy@>i6pB|D-Z|HY8L(Sjw^Gzjkeu%c%1Djdi`OyCPsrgRvlYt1G6Vvo7V5kk7^{f zj;wi2JbWFpx_bLCGi#$XUYzlg+M#~LC+NdymUq6!yP`r~=rn)YkQT%2jR+&1fMUQA z$nIR+9MD?HzRPT#aFgzHwn$!68CjW;6pBnuaR8~tP$^vpE_P`$n#W>nb2)=5kVU~g1{`T(RXo9LtAdn#Eqp9QkA0*4e! zYH{5Thcvg?NJd+@*fUDKn3Ia^?oC|eG}mE>P!jPa=oJaLBRx3WB}B5ONJo>_9=aC3 z<)up0GuragR8#PX&j_Q1WHh?L*y2RU!ogx`QaR72YG8OP!!%Ca1u-PQ>Ex1X$$I=U z6km`7U;U2s$i_2N!kbntBq6@!JACzwcSZZ!!NmhO^XFR6vJ$R%h%%S27Q&$xxZige&xFcx};gaXub5GQx|<(dzNswZ-4R+^8J;tbg^$M>5a zWo#UzvZO_<=cjT1;SsFPe9ge#t!&yhx^~YBTh^DL|1%jYg$G+*l)kZ5u*lEKFG1A- zj<15T+!DwvknM}Pk}p*fDRptvPPM(CTk^!ED2Z94JZI-xQ@V`S)gMKXL=NAq#ED;R zS~s>d_~QIwrwJ4NK&ml(4=m2&t2&37pCcs*)|os)5QiMvZ;-uMExKdo{MI;DfeYIN z=ee7fx<-jK73$ua`5h{sls}LR=~gUEuHGIlw_$URcwg+IwbaMA*b|x@yBtW^TkpC3 zkgQ40J84=tWLXeJRh}Ca=3>~slH^-F4`1<*u!Cp6J~4epDr}89VyR#M zVRX>8?gW~I#yXRq!MZ(&4VU;$$LjZaWX1hg*gNc=L%3m zx;lpk*ecFveO;O`3s)Dn8xa5Conr^}ZXD~X4{3pcaYGx;0*H-Pvj4gW%`Op9CMeOW zeNa)BD($vurd5n=zl$0ms~G(J=+H zoucYwMJTSW=N^H7XC4u>6ImC~-s)EPrOnmfW;CIapf}4q?{isEVZ-&vVQwtG0sq4L zIQNLYQ&CY38`wIVcrJA$=pt6~tVDi3MqC}|C_ohI3up6odMz7lrn<)7w9Z>WYFeXs z49G~d;;^Tg8J%Z>sX#p^E8DO$)nIbq-qh$WD{?9jiWA3U6QCd}eTcli)hu(Mwvu`N z)8MNN>H(%dV%uQA$D*KUyJnqsF#j^_8c}VkkZ3zCT5~6Y(i*(APJ8!ia8(Ctr##Y`>(G zN8_7m;;W)g1#PnIv_epEV!XCaz34DY4lSexl7J~xAwccw5cfH5U&iTUc0UaV%{Db` zS|0Xy*@%T0zM0~m^pH^P330W#*Rw8vuj;3aYtXpxWd*ASJZBrMXn|E-)rvji!o{k% zharoRgi-jShz#?+GpWW3ZA}l;{pzWJeK`UI`-biKUa-4`#iB{!;q!Ma9coW;g@}jN zI<>MWx0d%E6;-Rq<7Z|8qK2O;y&*i&xvMp^G6$Yki{?c z?(10AYToHau_YEsTGVRFX1wq`LQXv;U$`8W_4Ebspm+%}r{0DAVzz1TDQjXyfY`7a z;b{~7s^g|H-NNtRk7Bp*$lcxDHK4abFnw>yAdr`i6Sx-ef@98vq2urkJZvPZmX~}K zJ+pv7xJ3-qMLw{Tid<<64sKa7u3Q z9^XqxSx}Dpq1(1+2WxH6Owy}!`68i2F8!AG_s_v!ey2;6fB*gk8_q2;^7L@j_&0Q( z!^oX%-5J02o|DLX-;-=Smgo)_7jbxd>p+&g0uVwLypF3s z8Q;;0nECdl`(G-6?c220I+&x19u^#5Vd!QynLqM87k8M$P*Ctkd>0lGNrX<^uU{!w z`OB=VtbhMHUv6Yw98KCom$KDL&vb*=-njYiUbw3_MOC8{dDTVuM4C_=*Wf)o5_*fj zC%f>@8s%2X6(bymHSg#-%=_35 zy6GLz?EVg>`z<~z!s=-^8l57;4CrJDnv;+E!5q?jkMzLu11>@H zmUuuP*eKe|-6;Q^G4rT#b8=xB=-aLi=TpKveY58On3B>1yV48Kb98lG8Y?wF_%j|2 z7C`4&N+gZY9t4s`y_+pBAK&iIjtMxaL-{&U5J3}_NcT41BHhy0=>8-?OHRu@x6tl{ z(82>BV3+oQya;dXHC$e9u3=f8PR)NkBcU!0>q3mo^Pu zPXLGJpcU@n?R}G$wg>F&ME(~yCaY|-Oxr>LG2#K}0iZb|^al$%ozU>XNRn(g#Xy6n zGe#VTUMu+AwGQ)Gz{;%b%(wl6gEIi|mUgjGWPChjj%vEq>E05+2nWjB-Fy&2?-?Jz zjf|{Ru?47u$79EYf_dx6=N_Y!`CyrxR91|16 zRPFz0l8=MqPqy)I&NtQLHdcSeO3`px!{ylqRiqryRx;2$MR(B8x0{~>MF5j>K3vxV zvkI@}WcT-Y#fzJF z>6-+Rl;(H#B1zEp2W(FQ*l1vJ%x(Mk*D`*Wx;j;b2DXZ(=8*DXVoc1pp)VSt@7^uL z4ln(PWd{c#0sxZ90&_5~{Z8ibV${(HiczDN!T(!ZTOcHk!DfH|I=4+lAf#4jo2Agrc*(12_gPDLqR-#m z&Jj!hzq@#F=-Osy(~bR3gMm*&n{lw-JXC~$R0O|$dkw-m@RyM#DjRU6Dd3^dU>h7+ zY*HGUaNs~(FPb3_$QE@2r{@Sr9oPbL00Ai|E2Hs5;C(1-8p9?p-}`&dgc+m>LjV67 zFj;7ykSbCnp3!cif^~DUx^s4x0SXX=T`zR89i5%an+V7kA((-S`Eh0k-o4FCVi;1& z>wpEF1>uz57jye_8=e4%DRx{og4VR_J>$sLtmjH906Smn;+M9!qkz&wPY}bP$|eKe z9^g6ysjbSF!(o7YWmGnOk%Y0llZ5R18joiP7K0An{(I--$YAoEhlD|r)^)Sh2$+rq z!0f8%`DYqD`5;$|!(zB0ge+~LQUbd&x3xw5@Yyp`*NqX&$*Pq47WCi%cqV}{WLB!H zc<_b$!GoX6B);INxUBsOh8()EupsQYcNaXNl6ROQl$&P|m*b`8cu-|6z<4`7J2*bZ z`vfmoQ&aN*jA6o%6yepe(k$0=(Q>pe3YEbi$5E$Hzr7^@yRf*t#`V_Cn{8l|<{C+? zR3(Asm*u`a6Z}qR>gdhi$$jmqy|iPX33;d^H9;d98^Dxw!Gwj~W(MPU30RS!kPu#v zojI)YI-gVCt*xyQN)i$Fg3p_f=UGs1BO)r+s$qUYF7!2gUp_jA3Sa=#3S^hyrd-y* zS$8r}wJ?4m!=Y29{p^gD-TOF#xjYzGJnVZ*O0ovx39-{l^a`9-e`^ocQB#{`N{C z+X*sYE}?iS0ESx7T@2>iHf0s>%YjTBSUL`aDngynW;?Q&w6u3QIV;Kt@*;5jIE)$+ zfZRl$Y|S**k7?x6d(2^GD<^k=|9T2hSTOjaPmxvj;X@24?xmN|*T{B)8kofY!c5|m z0MzUdV!9uY#;+3+F2b*8Ll{5|jnN*k*+fuq>OTMmE6rz5VZ*7g^03z(AU8mO+eBT< zY$pYwidpS{&np8C2<;c5k2o4m1T&eMzpK{8(Q!kaRTfxNkP=xybd4NEL=cLLi|^SM zFI4$|X=pOoZ0YQLv$Nv>?q4Sugl~$Axq(R)0Q?l9F4q5I!z(52Q&ud70w2(ynE>E9-{P?lJc}ge`)&Q*vc+5K<*o-}Z@9I`q z{|ggg-}98q`T!qD0Y^LcC^I}d-%X4qw76T!LYuqzQ@y@u(E5A zM9~Z>R0vv8m$x7;^;e|9tk(JK+><){CljL>XdP|!bU=~CyiW=1r#FmeBBLd(J0 zAew%KtzH6S-DmIn{gERun*Rk7H!6P90iIHtD4hp3DmsmMJ_R$qfZ>7=7aKl+vY%~2 z>o>2%muS|~7n`3tQfMkCJe)F>vkS zlxCs>+jHji*`Hsi@Lqv3@TRLAZnh@HdP(FaoHhe(4`QLwba#L zz!FaXfl7Z*CFL4fLu1&)<+Gi-X7b<}+(OlKNjI9$Ody$LS+(-2AMNk#c$|Vt=uLMb zAA-Y@2(ki5_KLpoI8A+hYLIR0hm)Tmks8@`Ji~&sfxZ`M+6Cg0-nuoek8CXVKHiGm zvLXcN0HG}>*I~fiM3h8|V&>$GL<7xm?Dv2UpK)*?U`&~7)y!NF@jc^5>lUEW%|PJ1 z1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +Firefly: src/vector/rank.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    rank.cpp File Reference
    +
    +
    +
    #include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    +
    + + + + diff --git a/docs/rank_8cpp__incl.map b/docs/rank_8cpp__incl.map new file mode 100644 index 0000000..ca279a6 --- /dev/null +++ b/docs/rank_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/rank_8cpp__incl.md5 b/docs/rank_8cpp__incl.md5 new file mode 100644 index 0000000..c6b8a27 --- /dev/null +++ b/docs/rank_8cpp__incl.md5 @@ -0,0 +1 @@ +c009c462f3d1dfe1b5f4dd518d0450f0 \ No newline at end of file diff --git a/docs/rank_8cpp__incl.png b/docs/rank_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..7489af734d0d13513204556b9135e5b8ecebe820 GIT binary patch literal 12641 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
    eT~&{$%K5U*S6&`tT$?AVl_YiJ|8e z2N21XFAtc@{%4%7snv{^L9bpN+tV(=GvU6kByIneBh{q0`@@U7{J#aKYm)Xe|+ZEBQW5(st=bWK4`G;6?-L6*dbZS5B>czhFC< z<$&DW0Vkk-uZ!sxr9cAojjyar08PfBi3+{Lr6Ro_Nr0!^Q8x z7ITfC198ctK7DG2+h4iZXh`Rs>eOyN=k5FI<_{k}1bdec4KOYvu)j6y9D<=uX}dZ8 z z5@u%WvPXteQrOTtUY@dU%7IP)dvUhYlPZ`DX6rSb5_s0^p98jE2e)qCtle65X0!Gg`@JQg?17;Bhfq}se-CS<#*`D2nR#IM@ z2WVH^3G~9R-?+hH)I$QU4_o7LrlW>fl?F4>k8lcUn3(HYPW)@Bt9~i1OhU8soM(Hs zWb`XpSsKUzU>#=H-mnn^pL4alXy3kl`$#36dU?L{p3{0Z1#qRsot^%Qej#ay20+nn zft_yr%@_0U`3@h?A-EmTjSVcNiC%hN(~L!13)cRV;{;htwdU>Tsl3{c7qsKcTX68kMUYyH-EbDl?9Mm-7N=+Zp&w4l5-m3f`JLF4_Z zcwWU2#*NzsQ`MFv&?S;jl~GkC0Tk_>=}x)gn+hY@E2ra%^n!&%`w$%bZFqRN?sCp` z^>gxew_1gf?Me@6we_4_mD%VkIXPNx?kg99_}Go`;PmAMYF}>pcWLMErFK4#V|KQt zzfZ;W`#8UY9g^dDb_g8A{L0FY0;R9K?uX3a+KoA9_yST9!(rT~ItM)~zh3?~3R`q? zDf4i^OhX0PoUV&g&Crk0KZauf8$0z7MIJ1vTJmIIK>nOa&@@4Py{;O*q{YPhAZudj{0J;noe_D=x!m3zAPY0ZNl*al81pWX65M4>sV zX{W#eT3!tBSd4q8rBOlk2b3lXD63E+mcl9T6iMW5N`a26S~y-x4VYLbDmNkm4-Jl( zHiM^EuJEnE6kedOvJMU$4Z!}ub^m?PC#4M9}_8-C?oe340PfeL=}_HCox`EQtq zjtA>X)6>(1@|1Q?s` z!(5WLL&5m;hiHg8*?QN?HT)%I+6+OD_ylr#RVD`CeRiTa{+D#|Q zX#ix?g#-Kf;F+Si?0<+Gwz2Av{ZkB@XD@$J1UW;>D@c{OA6eBotm$b%5eje9%K#Tt z;B2$vdEd=eAREWKGRq*Q|8FECmDvtjv{bz(Xqq2NR@M;R4dQKlLG7 zh8qA+iO(DvrQ?_vAdIVS=khV;5HvP6Zq6W4r_O-K_P}Xv3P$RI{}?cRq+mZoZD^gF zOLO08h=<(Mf0}3^=SEl^M#Q4dZqR|B>bB0XVOLaj(CZ8qR8PW_)@Kgoo@Y*QS{Utj z7G%PFZh_SaZu1ow_{@1*#t)0{4KZ;QTdd+$U4(r5`}c3*7WiENORl;%gt(nc|2&y7 zy#Z3rKQQpA)26Dn%K~P7LxURNjpt`axl*x=e>Ze4^}yf6xd-4K40M`kh|G9T%W+G=}m6`HJC-pZ9xK8MMXt- zA(ZC+*otRG(xtliB4*t}0dXBFH|(C8^m6@o2JTy20J7x)R0r%E;EVoeJ56a&NUtjB z)fouH9iQ7DdJve^;Q^yje;es(3>MvT*CSCZ5KrW5BverO|`*|3q18~h??V*lP88<1Yi(KynRam zXq6sRgajGB9nzBeJ!~N%A^(5?wRT~^0y~8-e&byLdU2PEsy~Rz>qA;v8kb9`8I`b? z03?9^T%#wmTDd>ej{UXVH1#QRE;Ij<5^G5TOXU9keg&yWfd+#0UzQ;kWXD*97nYw7 zjda`qfV`mKRIAJg;S?xuL?;XTp|L$|@bovJT?55h{BdkLeUXnOR4YyHz*)vv*{=y@ z?I9e=pf}^1XG@!4ED7Le0|nh2Ldf)MtcV=O(5}n=I$x0{j#W!aQSmNh(c;y~2Lfo? z^JoU`DrT=ZXfR%{WFIi%z<~4|A=lvyhfM&nwFq43LbDHsOfq*EWHLJY`wNc(l@d8o z(d$rk-;EWj!OE$%yW*@5_xJZ3g>M3|I0U4?(6o}_7Z5>UV@H5nJe(V`)$loVG9LIG zVKCI^fj6Ir`ql z0sK>*kFLsem=?gCet1Zsesx=HR8$M>n)Erh36# + + + + + + +Firefly: src/vector/scale.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    scale.cpp File Reference
    +
    +
    +
    #include <algorithm>
    +#include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    +
    + + + + diff --git a/docs/scale_8cpp__incl.map b/docs/scale_8cpp__incl.map new file mode 100644 index 0000000..7087522 --- /dev/null +++ b/docs/scale_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/scale_8cpp__incl.md5 b/docs/scale_8cpp__incl.md5 new file mode 100644 index 0000000..bdf1070 --- /dev/null +++ b/docs/scale_8cpp__incl.md5 @@ -0,0 +1 @@ +95907ad3dffd3dfe200bef555e6a755c \ No newline at end of file diff --git a/docs/scale_8cpp__incl.png b/docs/scale_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5681bea987b89dad6db5b26193b93a519538caf0 GIT binary patch literal 15093 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 + + + + + diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js new file mode 100644 index 0000000..d202772 --- /dev/null +++ b/docs/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_5fhas_5finclude_0',['__has_include',['../d6/d83/CMakeCXXCompilerId_8cpp.html#ae5510d82e4946f1656f4969911c54736',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_1.js b/docs/search/defines_1.js new file mode 100644 index 0000000..e41a6a3 --- /dev/null +++ b/docs/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['architecture_5fid_0',['ARCHITECTURE_ID',['../d6/d83/CMakeCXXCompilerId_8cpp.html#aba35d0d200deaeb06aee95ca297acb28',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_2.js b/docs/search/defines_2.js new file mode 100644 index 0000000..b98883e --- /dev/null +++ b/docs/search/defines_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['compiler_5fid_0',['COMPILER_ID',['../d6/d83/CMakeCXXCompilerId_8cpp.html#a81dee0709ded976b2e0319239f72d174',1,'CMakeCXXCompilerId.cpp']]], + ['cxx_5fstd_1',['CXX_STD',['../d6/d83/CMakeCXXCompilerId_8cpp.html#a34cc889e576a1ae6c84ae9e0a851ba21',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_3.js b/docs/search/defines_3.js new file mode 100644 index 0000000..ca692bb --- /dev/null +++ b/docs/search/defines_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dec_0',['DEC',['../d6/d83/CMakeCXXCompilerId_8cpp.html#ad1280362da42492bbc11aa78cbf776ad',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_4.js b/docs/search/defines_4.js new file mode 100644 index 0000000..1ad3a18 --- /dev/null +++ b/docs/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hex_0',['HEX',['../d6/d83/CMakeCXXCompilerId_8cpp.html#a46d5d95daa1bef867bd0179594310ed5',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_5.js b/docs/search/defines_5.js new file mode 100644 index 0000000..c782ae4 --- /dev/null +++ b/docs/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['platform_5fid_0',['PLATFORM_ID',['../d6/d83/CMakeCXXCompilerId_8cpp.html#adbc5372f40838899018fadbc89bd588b',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/defines_6.js b/docs/search/defines_6.js new file mode 100644 index 0000000..c0b2397 --- /dev/null +++ b/docs/search/defines_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['stringify_0',['STRINGIFY',['../d6/d83/CMakeCXXCompilerId_8cpp.html#a43e1cad902b6477bec893cb6430bd6c8',1,'CMakeCXXCompilerId.cpp']]], + ['stringify_5fhelper_1',['STRINGIFY_HELPER',['../d6/d83/CMakeCXXCompilerId_8cpp.html#a2ae9b72bb13abaabfcf2ee0ba7d3fa1d',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/docs/search/files_0.js b/docs/search/files_0.js new file mode 100644 index 0000000..da76afd --- /dev/null +++ b/docs/search/files_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['add_2ecpp_0',['add.cpp',['../add_8cpp.html',1,'']]], + ['angle_5fwith_2ecpp_1',['angle_with.cpp',['../angle__with_8cpp.html',1,'']]], + ['area_2ecpp_2',['area.cpp',['../area_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_1.js b/docs/search/files_1.js new file mode 100644 index 0000000..bc8f84b --- /dev/null +++ b/docs/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cross_2ecpp_0',['cross.cpp',['../cross_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_2.js b/docs/search/files_2.js new file mode 100644 index 0000000..56ed5f6 --- /dev/null +++ b/docs/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dot_2ecpp_0',['dot.cpp',['../dot_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_3.js b/docs/search/files_3.js new file mode 100644 index 0000000..b205e4d --- /dev/null +++ b/docs/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['elem_5fsum_2ecpp_0',['elem_sum.cpp',['../elem__sum_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_4.js b/docs/search/files_4.js new file mode 100644 index 0000000..a24d179 --- /dev/null +++ b/docs/search/files_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['indexers_2ecpp_0',['indexers.cpp',['../indexers_8cpp.html',1,'']]], + ['is_5fnormalized_2ecpp_1',['is_normalized.cpp',['../is__normalized_8cpp.html',1,'']]], + ['is_5forthogonal_2ecpp_2',['is_orthogonal.cpp',['../is__orthogonal_8cpp.html',1,'']]], + ['is_5fparallel_2ecpp_3',['is_parallel.cpp',['../is__parallel_8cpp.html',1,'']]], + ['is_5fzero_2ecpp_4',['is_zero.cpp',['../is__zero_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_5.js b/docs/search/files_5.js new file mode 100644 index 0000000..c7fc2de --- /dev/null +++ b/docs/search/files_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['magnitude_2ecpp_0',['magnitude.cpp',['../magnitude_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_6.js b/docs/search/files_6.js new file mode 100644 index 0000000..bc47d96 --- /dev/null +++ b/docs/search/files_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['normalize_2ecpp_0',['normalize.cpp',['../normalize_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_7.js b/docs/search/files_7.js new file mode 100644 index 0000000..6327256 --- /dev/null +++ b/docs/search/files_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rank_2ecpp_0',['rank.cpp',['../rank_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_8.js b/docs/search/files_8.js new file mode 100644 index 0000000..3396024 --- /dev/null +++ b/docs/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['scale_2ecpp_0',['scale.cpp',['../scale_8cpp.html',1,'']]], + ['subtract_2ecpp_1',['subtract.cpp',['../subtract_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_9.js b/docs/search/files_9.js new file mode 100644 index 0000000..0b75636 --- /dev/null +++ b/docs/search/files_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['vector_2ecpp_0',['vector.cpp',['../vector_8cpp.html',1,'']]], + ['vector_2ehpp_1',['vector.hpp',['../vector_8hpp.html',1,'']]], + ['view_2ecpp_2',['view.cpp',['../view_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_a.js b/docs/search/files_a.js new file mode 100644 index 0000000..b623c4a --- /dev/null +++ b/docs/search/files_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['vector_2ecpp_0',['vector.cpp',['../d4/d1b/vector_8cpp.html',1,'']]], + ['vector_2ehpp_1',['vector.hpp',['../da/d16/vector_8hpp.html',1,'']]], + ['view_2ecpp_2',['view.cpp',['../dd/dc2/view_8cpp.html',1,'']]] +]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js new file mode 100644 index 0000000..0ec300e --- /dev/null +++ b/docs/search/functions_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['add_0',['Add',['../classFirefly_1_1Vector.html#a29d6bcdb921231252013512244ea5ff9',1,'Firefly::Vector::Add(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#ad6434f7839970ec09edd9a5b9fd01253',1,'Firefly::Vector::Add(Real const &_scalar) const']]], + ['anglewith_1',['AngleWith',['../classFirefly_1_1Vector.html#a1f27be5b4d8f2d41ba4fcc3fcde91a7d',1,'Firefly::Vector']]], + ['at_2',['At',['../classFirefly_1_1Vector.html#aafcf2e6a2a012a41a1532560f79d0325',1,'Firefly::Vector::At(std::size_t idx) const'],['../classFirefly_1_1Vector.html#ad256e126e16073c0383cd39c1d48bd9d',1,'Firefly::Vector::At(std::size_t idx)']]] +]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js new file mode 100644 index 0000000..c35c84d --- /dev/null +++ b/docs/search/functions_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cross_0',['Cross',['../classFirefly_1_1Vector.html#a7901d0f6bca04092071da0aec158affb',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js new file mode 100644 index 0000000..75cda10 --- /dev/null +++ b/docs/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dot_0',['Dot',['../classFirefly_1_1Vector.html#acd893969cc1e4d0f3e3cda55dbace649',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js new file mode 100644 index 0000000..0c4e253 --- /dev/null +++ b/docs/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['elemsum_0',['ElemSum',['../classFirefly_1_1Vector.html#a91561630255fe0fa7157d3a1b53cb77c',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js new file mode 100644 index 0000000..4a1911e --- /dev/null +++ b/docs/search/functions_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['isnormalized_0',['IsNormalized',['../classFirefly_1_1Vector.html#a744f4a93c3c35a1d5bf86abda8b2405c',1,'Firefly::Vector']]], + ['isorthogonal_1',['IsOrthogonal',['../classFirefly_1_1Vector.html#abb15777d3b6b9f87640245dac39144f0',1,'Firefly::Vector']]], + ['isparallel_2',['IsParallel',['../classFirefly_1_1Vector.html#aea4a8b7cd46343f3270c4994829fe3bc',1,'Firefly::Vector']]], + ['iszero_3',['IsZero',['../classFirefly_1_1Vector.html#a8a3ba8dc777081c231f00e2b979b75bd',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js new file mode 100644 index 0000000..69b8aed --- /dev/null +++ b/docs/search/functions_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['magnitude_0',['Magnitude',['../classFirefly_1_1Vector.html#af8ffbd82ae9988937590365cd385717d',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js new file mode 100644 index 0000000..fd746be --- /dev/null +++ b/docs/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['normalize_0',['Normalize',['../classFirefly_1_1Vector.html#a16f0cdaab79786ad4b4a901ce8f1d7f3',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js new file mode 100644 index 0000000..a5790cd --- /dev/null +++ b/docs/search/functions_7.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['operator_2a_0',['operator*',['../classFirefly_1_1Vector.html#a0d7cb8a7f620cc27e064a99e64ec981f',1,'Firefly::Vector']]], + ['operator_2b_1',['operator+',['../classFirefly_1_1Vector.html#a8b7617eab47edc3c36ea582842c35332',1,'Firefly::Vector::operator+(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a7f7f0c88abd88d8e6fcff8c721e87363',1,'Firefly::Vector::operator+(Real const &_scalar) const']]], + ['operator_2b_2b_2',['operator++',['../classFirefly_1_1Vector.html#a9934daf558c4caa56f5f8607955e86e7',1,'Firefly::Vector']]], + ['operator_2d_3',['operator-',['../classFirefly_1_1Vector.html#abc1800eef8cd8c2a743564940412405a',1,'Firefly::Vector::operator-(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a9caa2d41c1fc528d894c0239bb09cc27',1,'Firefly::Vector::operator-(Real const &_scalar) const']]], + ['operator_2d_2d_4',['operator--',['../classFirefly_1_1Vector.html#a4fa4235235de944eb35e5fe878b59f09',1,'Firefly::Vector']]], + ['operator_3c_3c_5',['operator<<',['../namespaceFirefly.html#af4dee382a43cae9641950a0ff06d487d',1,'Firefly']]], + ['operator_5b_5d_6',['operator[]',['../classFirefly_1_1Vector.html#a7bcbc09f6d3c0867d73685c21d9a2e28',1,'Firefly::Vector::operator[](std::size_t idx) const'],['../classFirefly_1_1Vector.html#ae08c41e663255c40d45b2831f7ed6b17',1,'Firefly::Vector::operator[](std::size_t idx)']]] +]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js new file mode 100644 index 0000000..5d460ef --- /dev/null +++ b/docs/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parallelogramarea_0',['ParallelogramArea',['../classFirefly_1_1Vector.html#ae7a2b40012d900c6a8eaffd11023d22e',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js new file mode 100644 index 0000000..c4d40d3 --- /dev/null +++ b/docs/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rank_0',['Rank',['../classFirefly_1_1Vector.html#a0de7465369122c27ed8042d6a41b4b5a',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js new file mode 100644 index 0000000..0081f40 --- /dev/null +++ b/docs/search/functions_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['scale_0',['Scale',['../classFirefly_1_1Vector.html#aedcb2ad43705440c473f1e73c02654df',1,'Firefly::Vector']]], + ['size_1',['Size',['../classFirefly_1_1Vector.html#ac99a32e3699a60ffc12d1d7673e1c3ba',1,'Firefly::Vector']]], + ['subtract_2',['Subtract',['../classFirefly_1_1Vector.html#a0cf2e63094bf72c996e53aa9831e8e4c',1,'Firefly::Vector::Subtract(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a631fa5fef44c0941bdf534e26152ace1',1,'Firefly::Vector::Subtract(Real const &_scalar) const']]] +]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js new file mode 100644 index 0000000..a7c667f --- /dev/null +++ b/docs/search/functions_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['trianglearea_0',['TriangleArea',['../classFirefly_1_1Vector.html#a2f6bd9be6aa613bb7b44419cad7717ff',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js new file mode 100644 index 0000000..89544d3 --- /dev/null +++ b/docs/search/functions_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['vector_0',['Vector',['../classFirefly_1_1Vector.html#ad3fd719be77f22f323d2fbc2b416b5b0',1,'Firefly::Vector::Vector(Vector &&)=delete'],['../classFirefly_1_1Vector.html#a9d891d28b999dd8c714b5bb5a7524546',1,'Firefly::Vector::Vector()=delete'],['../classFirefly_1_1Vector.html#a976a83a550e77ea492860a454d6211ac',1,'Firefly::Vector::Vector(std::size_t _size)'],['../classFirefly_1_1Vector.html#a80f50f08df05019810e20b44e5a2759b',1,'Firefly::Vector::Vector(VectorType const &_vec)'],['../classFirefly_1_1Vector.html#ae2972c768e49388623216a7742519827',1,'Firefly::Vector::Vector(Vector const &_fvec)']]], + ['view_1',['View',['../classFirefly_1_1Vector.html#ad6a52dd32633a7e2cc0638470c336f39',1,'Firefly::Vector']]] +]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js new file mode 100644 index 0000000..1575dd4 --- /dev/null +++ b/docs/search/functions_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7evector_0',['~Vector',['../classFirefly_1_1Vector.html#a2b82096ed53c0c6fe1d5ec785857a59f',1,'Firefly::Vector']]] +]; diff --git a/docs/search/mag.svg b/docs/search/mag.svg new file mode 100644 index 0000000..ffb6cf0 --- /dev/null +++ b/docs/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/docs/search/mag_d.svg b/docs/search/mag_d.svg new file mode 100644 index 0000000..4122773 --- /dev/null +++ b/docs/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/docs/search/mag_sel.svg b/docs/search/mag_sel.svg new file mode 100644 index 0000000..553dba8 --- /dev/null +++ b/docs/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/docs/search/mag_seld.svg b/docs/search/mag_seld.svg new file mode 100644 index 0000000..c906f84 --- /dev/null +++ b/docs/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js new file mode 100644 index 0000000..a432104 --- /dev/null +++ b/docs/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['firefly_0',['Firefly',['../namespaceFirefly.html',1,'']]] +]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js new file mode 100644 index 0000000..c3861a7 --- /dev/null +++ b/docs/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['operator_3c_3c_0',['operator<<',['../classFirefly_1_1Vector.html#a539f1696d6f351e845d078ade6b4d551',1,'Firefly::Vector']]] +]; diff --git a/docs/search/search.css b/docs/search/search.css new file mode 100644 index 0000000..19f76f9 --- /dev/null +++ b/docs/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/search/search.js b/docs/search/search.js new file mode 100644 index 0000000..9b7a52a --- /dev/null +++ b/docs/search/search.js @@ -0,0 +1,820 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var jsFile; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + var loadJS = function(url, impl, loc){ + var scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + var domSearchBox = this.DOMSearchBox(); + var domPopupSearchResults = this.DOMPopupSearchResults(); + var domSearchClose = this.DOMSearchClose(); + var resultsPath = this.resultsPath; + + var handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') + { + domSearchClose.style.display = 'inline-block'; + var left = getXPos(domSearchBox) + 150; + var top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var maxHeight = document.body.clientHeight; + var width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + var height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults(resultsPath) +{ + var results = document.getElementById("SRResults"); + results.innerHTML = ''; + for (var e=0; e-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/docs/splitbard.png b/docs/splitbard.png new file mode 100644 index 0000000000000000000000000000000000000000..8367416d757fd7b6dc4272b6432dc75a75abd068 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhhFKy35^fiT zT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQzjeE= zueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx`J||4O V@QB{^CqU0Kc)I$ztaD0e0svEzbJzd? literal 0 HcmV?d00001 diff --git a/docs/subtract_8cpp.html b/docs/subtract_8cpp.html new file mode 100644 index 0000000..e25d043 --- /dev/null +++ b/docs/subtract_8cpp.html @@ -0,0 +1,96 @@ + + + + + + + +Firefly: src/vector/subtract.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    subtract.cpp File Reference
    +
    +
    +
    #include <iostream>
    +#include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    +
    + + + + diff --git a/docs/subtract_8cpp__incl.map b/docs/subtract_8cpp__incl.map new file mode 100644 index 0000000..01f994e --- /dev/null +++ b/docs/subtract_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/subtract_8cpp__incl.md5 b/docs/subtract_8cpp__incl.md5 new file mode 100644 index 0000000..6a887f6 --- /dev/null +++ b/docs/subtract_8cpp__incl.md5 @@ -0,0 +1 @@ +bcf5229226fd653443c7fb568bcf8181 \ No newline at end of file diff --git a/docs/subtract_8cpp__incl.png b/docs/subtract_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4cb601b5cbc65c0d90b30b28cb60e2ebb79c7260 GIT binary patch literal 15140 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 literal 0 HcmV?d00001 diff --git a/docs/sync_on.png b/docs/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/docs/tab_a.png b/docs/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/docs/tab_ad.png b/docs/tab_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..e34850acfc24be58da6d2fd1ccc6b29cc84fe34d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( literal 0 HcmV?d00001 diff --git a/docs/tab_s.png b/docs/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/docs/tab_sd.png b/docs/tab_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..757a565ced4730f85c833fb2547d8e199ae68f19 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% literal 0 HcmV?d00001 diff --git a/docs/tabs.css b/docs/tabs.css new file mode 100644 index 0000000..71c8a47 --- /dev/null +++ b/docs/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/docs/vector_8cpp.html b/docs/vector_8cpp.html new file mode 100644 index 0000000..fe85f05 --- /dev/null +++ b/docs/vector_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +Firefly: src/vector/vector.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    vector.cpp File Reference
    +
    +
    +
    #include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    +
    + + + + diff --git a/docs/vector_8cpp__incl.map b/docs/vector_8cpp__incl.map new file mode 100644 index 0000000..10e20b8 --- /dev/null +++ b/docs/vector_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/vector_8cpp__incl.md5 b/docs/vector_8cpp__incl.md5 new file mode 100644 index 0000000..7a5f890 --- /dev/null +++ b/docs/vector_8cpp__incl.md5 @@ -0,0 +1 @@ +99a330f63ff7bc18f0516520ec4315a9 \ No newline at end of file diff --git a/docs/vector_8cpp__incl.png b/docs/vector_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..521e5e2cf69bd5a17ef7ad69ac2d88c698d42818 GIT binary patch literal 12131 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 ATL1t6 literal 0 HcmV?d00001 diff --git a/docs/vector_8hpp.html b/docs/vector_8hpp.html new file mode 100644 index 0000000..0490304 --- /dev/null +++ b/docs/vector_8hpp.html @@ -0,0 +1,130 @@ + + + + + + + +Firefly: headers/firefly/vector.hpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    vector.hpp File Reference
    +
    +
    +
    #include <cstddef>
    +#include <memory>
    +#include <ostream>
    +#include <vector>
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  Firefly::Vector
     Represents a mathematical vector in n-dimensional space. More...
     
    + + + +

    +Namespaces

    namespace  Firefly
     
    + + + + + +

    +Typedefs

    using Real = float
     
    using Firefly::VectorType = std::vector< Real >
     
    +

    Typedef Documentation

    + +

    ◆ Real

    + +
    +
    + + + + +
    using Real = float
    +
    + +
    +
    +
    + + + + diff --git a/docs/vector_8hpp__dep__incl.map b/docs/vector_8hpp__dep__incl.map new file mode 100644 index 0000000..e5f1d66 --- /dev/null +++ b/docs/vector_8hpp__dep__incl.map @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/vector_8hpp__dep__incl.md5 b/docs/vector_8hpp__dep__incl.md5 new file mode 100644 index 0000000..3ab4e4f --- /dev/null +++ b/docs/vector_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +44563d4c64af46913e7f0bd06338c077 \ No newline at end of file diff --git a/docs/vector_8hpp__dep__incl.png b/docs/vector_8hpp__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4efaf46204f172aa1ceef22211210491b978af GIT binary patch literal 61666 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

    kk@bqejcPwJYY(>SJLOx2sN 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 literal 0 HcmV?d00001 diff --git a/docs/vector_8hpp__incl.map b/docs/vector_8hpp__incl.map new file mode 100644 index 0000000..4481748 --- /dev/null +++ b/docs/vector_8hpp__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/vector_8hpp__incl.md5 b/docs/vector_8hpp__incl.md5 new file mode 100644 index 0000000..5c73aef --- /dev/null +++ b/docs/vector_8hpp__incl.md5 @@ -0,0 +1 @@ +4a6eaef038d8b0e5824695ab79e1618d \ No newline at end of file diff --git a/docs/vector_8hpp__incl.png b/docs/vector_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..95b9c67c558f754ad022a7dfb79b50248f1ddb35 GIT binary patch literal 10354 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 literal 0 HcmV?d00001 diff --git a/docs/vector_8hpp_source.html b/docs/vector_8hpp_source.html new file mode 100644 index 0000000..babf4ec --- /dev/null +++ b/docs/vector_8hpp_source.html @@ -0,0 +1,199 @@ + + + + + + + +Firefly: headers/firefly/vector.hpp Source File + + + + + + + + + +

    +
    +
    vector.hpp
    +
    +
    +Go to the documentation of this file.
    1#pragma once
    +
    2
    +
    3#include <cstddef>
    +
    4#include <memory>
    +
    5#include <ostream>
    +
    6#include <vector>
    +
    7
    +
    8#ifdef DOUBLE_PRECISION
    +
    9using Real = double;
    +
    10#else
    +
    11using Real = float;
    +
    12#endif
    +
    13
    +
    14namespace Firefly {
    +
    15using VectorType = std::vector<Real>;
    +
    16
    +
    25class Vector {
    +
    26 std::shared_ptr<VectorType> m_vec;
    +
    27
    +
    28public:
    +
    29 Vector(Vector &&) = delete;
    +
    30 Vector() = delete;
    +
    31
    +
    32 ~Vector() = default;
    +
    33
    +
    38 Vector(std::size_t _size);
    +
    43 Vector(VectorType const &_vec);
    +
    48 Vector(Vector const &_fvec);
    +
    49
    +
    54 [[nodiscard]] std::string View() const;
    +
    62 friend std::ostream &operator<<(std::ostream &os, Vector const &_fvec);
    +
    63
    +
    70 [[nodiscard]] Real At(std::size_t idx) const;
    +
    77 [[nodiscard]] Real &At(std::size_t idx);
    +
    84 [[nodiscard]] Real operator[](std::size_t idx) const;
    +
    91 [[nodiscard]] Real &operator[](std::size_t idx);
    +
    92
    +
    97 [[nodiscard]] std::size_t Size() const;
    +
    98
    +
    104 [[nodiscard]] std::size_t Rank() const;
    +
    105
    +
    113 [[nodiscard]] std::unique_ptr<Vector> Add(Vector const &_fvec) const;
    +
    121 [[nodiscard]] std::unique_ptr<Vector> Add(Real const &_scalar) const;
    +
    128 [[nodiscard]] std::unique_ptr<Vector> operator+(Vector const &_fvec) const;
    +
    135 [[nodiscard]] std::unique_ptr<Vector> operator+(Real const &_scalar) const;
    +
    141 [[nodiscard]] std::unique_ptr<Vector> operator++() const;
    +
    142
    +
    149 [[nodiscard]] std::unique_ptr<Vector> Scale(Real const &_fvec) const;
    +
    150
    +
    156 [[nodiscard]] std::unique_ptr<Vector> operator*(Real const &_scalar) const;
    +
    157
    +
    165 [[nodiscard]] std::unique_ptr<Vector> Subtract(Vector const &_fvec) const;
    +
    173 [[nodiscard]] std::unique_ptr<Vector> Subtract(Real const &_scalar) const;
    +
    180 [[nodiscard]] std::unique_ptr<Vector> operator-(Vector const &_fvec) const;
    +
    187 [[nodiscard]] std::unique_ptr<Vector> operator-(Real const &_scalar) const;
    +
    193 [[nodiscard]] std::unique_ptr<Vector> operator--() const;
    +
    194
    +
    200 [[nodiscard]] Real Dot(Vector const &_fvec) const;
    +
    201
    +
    209 [[nodiscard]] std::unique_ptr<Vector> Cross(Vector const &_fvec) const;
    +
    210
    +
    215 [[nodiscard]] Real ElemSum() const;
    +
    216
    +
    221 [[nodiscard]] Real Magnitude() const;
    +
    222
    +
    227 [[nodiscard]] std::unique_ptr<Vector> Normalize() const;
    +
    228
    +
    235 [[nodiscard]] Real AngleWith(Vector const &_fvec) const;
    +
    236
    +
    241 [[nodiscard]] bool IsZero();
    +
    242
    +
    248 [[nodiscard]] bool IsNormalized();
    +
    260 [[nodiscard]] bool IsParallel(Vector const &_fvec);
    +
    271 [[nodiscard]] bool IsOrthogonal(Vector const &_fvec);
    +
    272
    +
    279 [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const;
    +
    286 [[nodiscard]] Real TriangleArea(Vector const &_fvec) const;
    +
    287};
    +
    288
    +
    289} // namespace Firefly
    +
    Represents a mathematical vector in n-dimensional space.
    Definition vector.hpp:25
    +
    std::unique_ptr< Vector > Subtract(Vector const &_fvec) const
    Performs vector subtraction with another vector and returns the result as a new vector.
    Definition subtract.cpp:6
    +
    std::unique_ptr< Vector > operator*(Real const &_scalar) const
    Overloaded operator to perform vector scaling.
    Definition scale.cpp:16
    +
    std::size_t Rank() const
    Returns the rank (dimensionality) of the vector. It is same as Size() method.
    Definition rank.cpp:7
    +
    std::unique_ptr< Vector > Normalize() const
    Returns a new vector that is the normalized version of this vector.
    Definition normalize.cpp:4
    +
    Real AngleWith(Vector const &_fvec) const
    Calculates the angle between this vector and another vector in radians.
    Definition angle_with.cpp:7
    +
    std::unique_ptr< Vector > Add(Vector const &_fvec) const
    Performs vector addition with another vector and returns the result as a new vector.
    Definition add.cpp:8
    +
    ~Vector()=default
    +
    Real TriangleArea(Vector const &_fvec) const
    Calculates the area of the triangle formed by this vector and another vector.
    Definition area.cpp:8
    +
    std::unique_ptr< Vector > operator--() const
    Overloaded prefix decrement operator to decrement all elements of the vector by one.
    Definition subtract.cpp:20
    +
    friend std::ostream & operator<<(std::ostream &os, Vector const &_fvec)
    Overloaded stream insertion operator to print the vector to an output stream.
    Definition view.cpp:15
    +
    bool IsNormalized()
    Checks if the vector is a unit vector (normalized with a magnitude of 1).
    Definition is_normalized.cpp:4
    +
    std::unique_ptr< Vector > Cross(Vector const &_fvec) const
    Calculates the cross product between this vector and another vector. Both vectors must have three dim...
    Definition cross.cpp:4
    +
    Real operator[](std::size_t idx) const
    Overloaded subscript operator to access the value at a specific index (const version).
    Definition indexers.cpp:25
    +
    bool IsZero()
    Checks if the vector is a zero vector (all elements are zero).
    Definition is_zero.cpp:7
    +
    std::unique_ptr< Vector > operator+(Vector const &_fvec) const
    Overloaded operator to perform vector addition.
    Definition add.cpp:35
    +
    Real ElemSum() const
    Calculates the sum of all elements in the vector.
    Definition elem_sum.cpp:8
    +
    std::unique_ptr< Vector > operator++() const
    Overloaded prefix increment operator to increment all elements of the vector by one.
    Definition add.cpp:39
    + +
    Real At(std::size_t idx) const
    Retrieves the value at a specific index in the vector (const version).
    Definition indexers.cpp:7
    +
    bool IsOrthogonal(Vector const &_fvec)
    Checks if this vector is orthogonal (perpendicular) to another vector.
    Definition is_orthogonal.cpp:4
    +
    std::unique_ptr< Vector > operator-(Vector const &_fvec) const
    Overloaded operator to perform vector subtraction.
    Definition subtract.cpp:13
    +
    std::size_t Size() const
    Returns the size (number of elements) of the vector.
    Definition rank.cpp:5
    +
    Real Dot(Vector const &_fvec) const
    Calculates the dot product between this vector and another vector.
    Definition dot.cpp:4
    +
    Vector(Vector &&)=delete
    +
    std::string View() const
    Returns a string representation of the vector.
    Definition view.cpp:5
    +
    Real ParallelogramArea(Vector const &_fvec) const
    Calculates the area of the parallelogram spanned by this vector and another vector.
    Definition area.cpp:4
    +
    bool IsParallel(Vector const &_fvec)
    Checks if this vector is parallel to another vector.
    Definition is_parallel.cpp:6
    +
    std::unique_ptr< Vector > Scale(Real const &_fvec) const
    Performs vector scaling by a real value and returns the result as a new vector.
    Definition scale.cpp:6
    +
    Real Magnitude() const
    Calculates the magnitude (Euclidean norm) of the vector.
    Definition magnitude.cpp:6
    +
    Definition vector.hpp:14
    +
    std::vector< Real > VectorType
    Definition vector.hpp:15
    +
    float Real
    Definition vector.hpp:11
    +
    + + + + diff --git a/docs/view_8cpp.html b/docs/view_8cpp.html new file mode 100644 index 0000000..18c7299 --- /dev/null +++ b/docs/view_8cpp.html @@ -0,0 +1,102 @@ + + + + + + + +Firefly: src/vector/view.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Firefly 2.0 +
    +
    Standalone library for vector and matrix calculations
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    view.cpp File Reference
    +
    +
    +
    #include <sstream>
    +#include "firefly/vector.hpp"
    +
    + + + +

    +Namespaces

    namespace  Firefly
     
    + + + +

    +Functions

    std::ostream & Firefly::operator<< (std::ostream &os, Firefly::Vector const &_fvec)
     
    +
    + + + + diff --git a/docs/view_8cpp__incl.map b/docs/view_8cpp__incl.map new file mode 100644 index 0000000..b9cd0f4 --- /dev/null +++ b/docs/view_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/view_8cpp__incl.md5 b/docs/view_8cpp__incl.md5 new file mode 100644 index 0000000..25f254a --- /dev/null +++ b/docs/view_8cpp__incl.md5 @@ -0,0 +1 @@ +b22c5e4a18223f0a405e15dd31d6c39a \ No newline at end of file diff --git a/docs/view_8cpp__incl.png b/docs/view_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b27f2a2c203b113c826acf4b3bebf1bdf66ed20d GIT binary patch literal 14921 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 F{{v`&)J^~Z literal 0 HcmV?d00001 From 61a6e9ff38a2fdc81a23d07fd39a88a1f4e4bed0 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Mon, 24 Jul 2023 02:11:22 +0530 Subject: [PATCH 08/11] improve (ide): file association for Doxfile --- .vscode/settings.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 46a0957..6a66170 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,4 +10,7 @@ "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd", "editor.tabSize": 2 }, + "files.associations": { + "/Doxfile": "doxygen" + } } \ No newline at end of file From 73d570972673338800811536bf466cef29314b18 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Mon, 24 Jul 2023 02:11:58 +0530 Subject: [PATCH 09/11] improve (headers): add documentaton to member prototypes in `Firefly::Vector` class --- headers/firefly/vector.hpp | 219 ++++++++++++++++++++++++++++++++++++- 1 file changed, 216 insertions(+), 3 deletions(-) diff --git a/headers/firefly/vector.hpp b/headers/firefly/vector.hpp index d6e171f..439c69f 100644 --- a/headers/firefly/vector.hpp +++ b/headers/firefly/vector.hpp @@ -14,6 +14,14 @@ using Real = float; namespace Firefly { using VectorType = std::vector; +/** + * @class Vector + * @brief Represents a mathematical vector in n-dimensional space. + * + * The Vector class provides various operations on vectors, such as addition, + * subtraction, scaling, dot product, cross product, normalization, angle + * calculation, and more. + */ class Vector { std::shared_ptr m_vec; @@ -21,55 +29,260 @@ class Vector { Vector(Vector &&) = delete; Vector() = delete; - Vector(std::size_t size); + ~Vector() = default; + + /** + * @brief Constructs a vector of a specific size. + * @param _size The size of the vector. + */ + Vector(std::size_t _size); + /** + * @brief Constructs a vector from a given VectorType (std::vector). + * @param _vec The VectorType representing the vector. + */ Vector(VectorType const &_vec); - Vector(Vector const &_f); + /** + * @brief Copy constructor to create a new vector from an existing one. + * @param _f The source vector to copy from. + */ + Vector(Vector const &_fvec); + /** + * @brief Returns a string representation of the vector. + * @return A string representation of the vector. + */ [[nodiscard]] std::string View() const; + /** + * @brief Overloaded stream insertion operator to print the vector to an + * output stream. + * @param os The output stream. + * @param _fvec The vector to print. + * @return The output stream after printing the vector. + */ friend std::ostream &operator<<(std::ostream &os, Vector const &_fvec); + /** + * @brief Retrieves the value at a specific index in the vector (const + * version). + * @param idx The index of the element to retrieve. + * @return The value at the specified index. + */ [[nodiscard]] Real At(std::size_t idx) const; + /** + * @brief Retrieves a reference to the value at a specific index in the + * vector. + * @param idx The index of the element to retrieve. + * @return A reference to the value at the specified index. + */ [[nodiscard]] Real &At(std::size_t idx); - + /** + * @brief Overloaded subscript operator to access the value at a specific + * index (const version). + * @param idx The index of the element to retrieve. + * @return The value at the specified index. + */ [[nodiscard]] Real operator[](std::size_t idx) const; + /** + * @brief Overloaded subscript operator to access the value at a specific + * index. + * @param idx The index of the element to retrieve. + * @return A reference to the value at the specified index. + */ [[nodiscard]] Real &operator[](std::size_t idx); + /** + * @brief Returns the size (number of elements) of the vector. + * @return The size of the vector. + */ [[nodiscard]] std::size_t Size() const; + + /** + * @brief Returns the rank (dimensionality) of the vector. It is same as + * Size() method. + * @return The rank of the vector. + */ [[nodiscard]] std::size_t Rank() const; + /** + * @brief Performs vector addition with another vector and returns the result + * as a new vector. + * @param _fvec The vector to add. + * @return A unique pointer to the new vector containing the result of the + * addition. + */ [[nodiscard]] std::unique_ptr Add(Vector const &_fvec) const; + /** + * @brief Performs scalar addition with a real value and returns the result as + * a new vector. + * @param _scalar The scalar value to add. + * @return A unique pointer to the new vector containing the result of the + * addition. + */ [[nodiscard]] std::unique_ptr Add(Real const &_scalar) const; + /** + * @brief Overloaded operator to perform vector addition. + * @param _fvec The vector to add. + * @return A unique pointer to the new vector containing the result of the + * addition. + */ [[nodiscard]] std::unique_ptr operator+(Vector const &_fvec) const; + /** + * @brief Overloaded operator to perform scalar addition. + * @param _scalar The scalar value to add. + * @return A unique pointer to the new vector containing the result of the + * addition. + */ [[nodiscard]] std::unique_ptr operator+(Real const &_scalar) const; + /** + * @brief Overloaded prefix increment operator to increment all elements of + * the vector by one. + * @return A unique pointer to the new vector with incremented elements. + */ [[nodiscard]] std::unique_ptr operator++() const; + /** + * @brief Performs vector scaling by a real value and returns the result as a + * new vector. + * @param _scalar The scalar value to scale the vector by. + * @return A unique pointer to the new vector containing the scaled result. + */ [[nodiscard]] std::unique_ptr Scale(Real const &_fvec) const; + + /** + * @brief Overloaded operator to perform vector scaling. + * @param _scalar The scalar value to scale the vector by. + * @return A unique pointer to the new vector containing the scaled result. + */ [[nodiscard]] std::unique_ptr operator*(Real const &_scalar) const; + /** + * @brief Performs vector subtraction with another vector and returns the + * result as a new vector. + * @param _fvec The vector to subtract. + * @return A unique pointer to the new vector containing the result of the + * subtraction. + */ [[nodiscard]] std::unique_ptr Subtract(Vector const &_fvec) const; + /** + * @brief Performs scalar subtraction with a real value and returns the result + * as a new vector. + * @param _scalar The scalar value to subtract. + * @return A unique pointer to the new vector containing the result of the + * subtraction. + */ [[nodiscard]] std::unique_ptr Subtract(Real const &_scalar) const; + /** + * @brief Overloaded operator to perform vector subtraction. + * @param _fvec The vector to subtract. + * @return A unique pointer to the new vector containing the result of the + * subtraction. + */ [[nodiscard]] std::unique_ptr operator-(Vector const &_fvec) const; + /** + * @brief Overloaded operator to perform scalar subtraction. + * @param _scalar The scalar value to subtract. + * @return A unique pointer to the new vector containing the result of the + * subtraction. + */ [[nodiscard]] std::unique_ptr operator-(Real const &_scalar) const; + /** + * @brief Overloaded prefix decrement operator to decrement all elements of + * the vector by one. + * @return A unique pointer to the new vector with decremented elements. + */ [[nodiscard]] std::unique_ptr operator--() const; + /** + * @brief Calculates the dot product between this vector and another vector. + * @param _fvec The other vector to calculate the dot product with. + * @return The dot product value. + */ [[nodiscard]] Real Dot(Vector const &_fvec) const; + /** + * @brief Calculates the cross product between this vector and another vector. + * Both vectors must have three dimensions. + * @param _fvec The other vector to calculate the cross product with. + * @return A unique pointer to the new vector containing the result of the + * cross product. + */ [[nodiscard]] std::unique_ptr Cross(Vector const &_fvec) const; + /** + * @brief Calculates the sum of all elements in the vector. + * @return The sum of all elements. + */ [[nodiscard]] Real ElemSum() const; + /** + * @brief Calculates the magnitude (Euclidean norm) of the vector. + * @return The magnitude of the vector. + */ [[nodiscard]] Real Magnitude() const; + /** + * @brief Returns a new vector that is the normalized version of this vector. + * @return A unique pointer to the new normalized vector. + */ [[nodiscard]] std::unique_ptr Normalize() const; + /** + * @brief Calculates the angle between this vector and another vector in + * radians. + * @param _fvec The other vector to calculate the angle with. + * @return The angle between the two vectors in radians. + */ [[nodiscard]] Real AngleWith(Vector const &_fvec) const; + /** + * @brief Checks if the vector is a zero vector (all elements are zero). + * @return True if the vector is a zero vector, otherwise false. + */ [[nodiscard]] bool IsZero(); + + /** + * @brief Checks if the vector is a unit vector (normalized with a magnitude + * of 1). + * @return True if the vector is a unit vector, otherwise false. + */ [[nodiscard]] bool IsNormalized(); + /** + * @brief Checks if this vector is parallel to another vector. + * + * Two vectors are considered parallel if their direction is the + * same or opposite. To determine parallelism, the function calculates the + * angle between the vectors and checks if it is either 0 degrees or 180 + * degrees (pi radians). + * + * @param _fvec The other vector to check for parallelism. + * @return True if the vectors are parallel, otherwise false. + */ [[nodiscard]] bool IsParallel(Vector const &_fvec); + /** + * @brief Checks if this vector is orthogonal (perpendicular) to another + * vector. + * + * Two vectors are considered orthogonal if their dot product is 0, + * indicating a 90-degree angle between them. + * + * @param _fvec The other vector to check for orthogonality. + * @return True if the vectors are orthogonal, otherwise false. + */ [[nodiscard]] bool IsOrthogonal(Vector const &_fvec); + /** + * @brief Calculates the area of the parallelogram spanned by this vector and + * another vector. + * @param _fvec The other vector forming the parallelogram. + * @return The area of the parallelogram. + */ [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const; + /** + * @brief Calculates the area of the triangle formed by this vector and + * another vector. + * @param _fvec The other vector forming the triangle. + * @return The area of the triangle. + */ [[nodiscard]] Real TriangleArea(Vector const &_fvec) const; }; From 18d2e754158f32d28354f178aa7b671bedef2c24 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Mon, 24 Jul 2023 02:12:25 +0530 Subject: [PATCH 10/11] improve (readme): update information for v2 --- README.md | 109 +++++++++++++++++++----------------------------------- 1 file changed, 38 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index c1c8b56..ff2e2f5 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,53 @@ -
    +# Firefly -# Firefly [![Build Status](https://travis-ci.org/tbhaxor/firefly.svg?branch=master)](https://travis-ci.org/tbhaxor/firefly) +This is a standalone C++ vector calculation library. It performs addition, subtraction, scalar multiplication, magnitude, normalisation, dot product, cross product, area of parallelogram, area of triangle, and angle between two vectors. The library supports both float and double precision and cuurrently it is only available on the CPU systems. -> A standalone C++ Library for vectors calculations +The library was designed to help people learn C++ and its concepts. It's a simple implementation, but it's a good place to start if you want to learn more about linear algebra and C++. -# Installation +## Example Usage -1. Download the repository or clone - ```sh - git clone https://github.com/tbhaxor/firefly.git - ``` -2. Change the directory to firefly - ```sh - cd firefly - ``` -3. Make a build directory - ```sh - mkdir build - ``` -4. Configure the Project - ```sh - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr - ``` -5. Make the package - ```sh - make - ``` -6. Install the package - ```sh - sudo make install - ``` -7. Copy the file(s) from `INCLUDES` directory to `/usr/include` +```c++ +#include +#include -# Datatypes and classes - -1. vector of `float` type -2. Vectors class of `firefly` - -# Features - -1. Addition of two vectors -2. Subtraction of two vectors -3. Scalor Multiplication of the floating number with Vector -4. Find vector magnitude -5. Find normalized form of the vector i.e unit vector -6. Find dot product of two vectors -7. Find cross product of two vectors -8. Find area of parallelogram formed by two vectors -9. Find area of triangle formed by two vectors -10. Find angle between two vector in _degrees_ or _radians_ -11. Check whether the two vectors are parallel to each other or not -12. Check whether the two vectors are orthogonal to each other or not -13. Find a component of vector parallel to base vector while vector projection -14. Find a component of vector orthogonal to base vector while vector projection - -# Example - -Here I will demonstrate you a function to print vector components
    -**Note :** The following code will work if you have added both `firefly` and `firefly.hpp` to the **includes** directory of your compiler - -```cpp -#include -#include // for io operations -#include // for dynamic arrays :P -using namespace std; +#include int main() { - vector array = {1, 2, 3}; - Vectors vec1(array); // Vectors is the class in firefly - vec1.print(); // print is the method of class - return 0; + // define two vectors + std::vector vec1{1, 2, 3, 4}; + std::vector vec2{2, 3, 4, 1}; + + // define firefly vectors from std::vector + Firefly::Vector v1(vec1); + Firefly::Vector v2(vec2); + + // add two firefly vectors and + // returns unique_ptr of Firefly::Vector type + std::unique_ptr vec_addition = v1 + v2; + + // print out v1 on + std::cout << v1 << std::endl; // [1, 2, 3, 4] + std::cout << v2 << std::endl; // [2, 3, 4, 1] + std::cout << *vec_addition << std::endl; // [3, 5, 7, 5] } ``` -**OUTPUT** +### Using `CMake` +```cmake +# for shared linking +target_link_libraries(${PROJECT_NAME} PUBLIC Firefly::Shared) + +# for static linking +target_link_libraries(${PROJECT_NAME} PUBLIC Firefly::Static) ``` -[1, 2, 3, ] -``` -**Note:** Learn how to integrate firefly with cmake from [this](https://github.com/tbhaxor/firefly/tree/master/examples) example +## Future Plans + +- Implement Kokkos for HPC platforms -# CONTRIBUTION +## Contact -To contribute open a Pull Request from new branch +Email: tbhaxor@proton.me
    +Twitter: @tbhaxor
    +LinkedIn: @tbhaxor \ No newline at end of file From 867535c4a30b94aeef7902b88bde2d291b1c77c6 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Mon, 24 Jul 2023 02:13:03 +0530 Subject: [PATCH 11/11] improve (src): reformat implementation of `Firefly::Vector` member functions --- src/vector/add.cpp | 11 ++++++++--- src/vector/angle_with.cpp | 3 ++- src/vector/area.cpp | 8 ++++++-- src/vector/elem_sum.cpp | 4 +++- src/vector/indexers.cpp | 5 +++-- src/vector/is_parallel.cpp | 6 +++++- src/vector/is_zero.cpp | 3 ++- src/vector/magnitude.cpp | 4 +++- src/vector/normalize.cpp | 4 +++- src/vector/scale.cpp | 9 ++++++--- src/vector/subtract.cpp | 16 ++++++++++++---- src/vector/vector.cpp | 7 ++++--- 12 files changed, 57 insertions(+), 23 deletions(-) diff --git a/src/vector/add.cpp b/src/vector/add.cpp index cabd3f9..0bf64ef 100644 --- a/src/vector/add.cpp +++ b/src/vector/add.cpp @@ -22,14 +22,19 @@ std::unique_ptr Vector::Add(Vector const &_fvec) const { std::unique_ptr Vector::Add(Real const &_scalar) const { std::unique_ptr sum = std::make_unique(*this); - std::transform(sum->m_vec->cbegin(), sum->m_vec->cend(), sum->m_vec->begin(), [&](Real const &_el) { return _el + _scalar; }); + std::transform(sum->m_vec->cbegin(), sum->m_vec->cend(), sum->m_vec->begin(), + [&](Real const &_el) { return _el + _scalar; }); return sum; } -std::unique_ptr Vector::operator+(Real const &_scalar) const { return this->Add(_scalar); } +std::unique_ptr Vector::operator+(Real const &_scalar) const { + return this->Add(_scalar); +} -std::unique_ptr Vector::operator+(Vector const &_fvec) const { return this->Add(_fvec); } +std::unique_ptr Vector::operator+(Vector const &_fvec) const { + return this->Add(_fvec); +} std::unique_ptr Vector::operator++() const { return this->Add(1); } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/angle_with.cpp b/src/vector/angle_with.cpp index 45595b7..18ef508 100644 --- a/src/vector/angle_with.cpp +++ b/src/vector/angle_with.cpp @@ -5,7 +5,8 @@ namespace Firefly { Real Vector::AngleWith(Vector const &_fvec) const { - auto angle_radians = std::acos(this->Dot(_fvec) / (this->Magnitude() * _fvec.Magnitude())); + auto angle_radians = + std::acos(this->Dot(_fvec) / (this->Magnitude() * _fvec.Magnitude())); if (std::isnan(angle_radians)) { throw std::domain_error("Can not find angle with zero vector."); } diff --git a/src/vector/area.cpp b/src/vector/area.cpp index 01de62e..64edacf 100644 --- a/src/vector/area.cpp +++ b/src/vector/area.cpp @@ -1,7 +1,11 @@ #include "firefly/vector.hpp" namespace Firefly { -Real Vector::ParallelogramArea(Vector const &_fvec) const { return this->Cross(_fvec)->Magnitude(); } +Real Vector::ParallelogramArea(Vector const &_fvec) const { + return this->Cross(_fvec)->Magnitude(); +} -Real Vector::TriangleArea(Vector const &_fvec) const { return this->ParallelogramArea(_fvec) / 2; } +Real Vector::TriangleArea(Vector const &_fvec) const { + return this->ParallelogramArea(_fvec) / 2; +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/elem_sum.cpp b/src/vector/elem_sum.cpp index 6331b43..7e2f130 100644 --- a/src/vector/elem_sum.cpp +++ b/src/vector/elem_sum.cpp @@ -5,5 +5,7 @@ namespace Firefly { -Real Vector::ElemSum() const { return std::reduce(m_vec->cbegin(), m_vec->cend(), 0x0, std::plus()); } +Real Vector::ElemSum() const { + return std::reduce(m_vec->cbegin(), m_vec->cend(), 0x0, std::plus()); +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/indexers.cpp b/src/vector/indexers.cpp index d2f852e..3159a79 100644 --- a/src/vector/indexers.cpp +++ b/src/vector/indexers.cpp @@ -6,8 +6,9 @@ namespace Firefly { Real Vector::At(std::size_t idx) const { if (idx >= m_vec->size()) { - throw std::out_of_range("Index out of range. Requested index: " + std::to_string(idx) + - ", Vector size: " + std::to_string(m_vec->size())); + throw std::out_of_range( + "Index out of range. Requested index: " + std::to_string(idx) + + ", Vector size: " + std::to_string(m_vec->size())); } return m_vec->at(idx); diff --git a/src/vector/is_parallel.cpp b/src/vector/is_parallel.cpp index c637019..75bccb6 100644 --- a/src/vector/is_parallel.cpp +++ b/src/vector/is_parallel.cpp @@ -1,3 +1,5 @@ +#include + #include "firefly/vector.hpp" namespace Firefly { @@ -5,6 +7,8 @@ bool Vector::IsParallel(const Vector &_fvec) { if (this->Magnitude() == 0 || _fvec.Magnitude() == 0) { return true; } - return this->AngleWith(_fvec) == 0; + + auto angle_radians = this->AngleWith(_fvec); + return angle_radians == 0 || angle_radians == M_PI; } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_zero.cpp b/src/vector/is_zero.cpp index 4c98148..806683c 100644 --- a/src/vector/is_zero.cpp +++ b/src/vector/is_zero.cpp @@ -5,6 +5,7 @@ namespace Firefly { bool Vector::IsZero() { - return std::all_of(m_vec->cbegin(), m_vec->cend(), [](Real const &_el) { return _el == 0; }); + return std::all_of(m_vec->cbegin(), m_vec->cend(), + [](Real const &_el) { return _el == 0; }); } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/magnitude.cpp b/src/vector/magnitude.cpp index 771067a..d4a1ee6 100644 --- a/src/vector/magnitude.cpp +++ b/src/vector/magnitude.cpp @@ -3,5 +3,7 @@ #include "firefly/vector.hpp" namespace Firefly { -Real Vector::Magnitude() const { return static_cast(std::sqrt(this->Dot(*this))); } +Real Vector::Magnitude() const { + return static_cast(std::sqrt(this->Dot(*this))); +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/normalize.cpp b/src/vector/normalize.cpp index ae389e2..cc15b77 100644 --- a/src/vector/normalize.cpp +++ b/src/vector/normalize.cpp @@ -1,5 +1,7 @@ #include "firefly/vector.hpp" namespace Firefly { -std::unique_ptr Vector::Normalize() const { return this->Scale(1 / this->Magnitude()); } +std::unique_ptr Vector::Normalize() const { + return this->Scale(1 / this->Magnitude()); +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/scale.cpp b/src/vector/scale.cpp index 27d9c0f..abfb38d 100644 --- a/src/vector/scale.cpp +++ b/src/vector/scale.cpp @@ -6,11 +6,14 @@ namespace Firefly { std::unique_ptr Vector::Scale(Real const &_scalar) const { std::unique_ptr scaled = std::make_unique(*this); - std::transform(scaled->m_vec->cbegin(), scaled->m_vec->cend(), scaled->m_vec->begin(), - [&](Real const &_el) { return _el * _scalar; }); + std::transform(scaled->m_vec->cbegin(), scaled->m_vec->cend(), + scaled->m_vec->begin(), + [&](Real const &_el) { return _el * _scalar; }); return scaled; } -std::unique_ptr Vector::operator*(Real const &_scalar) const { return this->Scale(_scalar); } +std::unique_ptr Vector::operator*(Real const &_scalar) const { + return this->Scale(_scalar); +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/subtract.cpp b/src/vector/subtract.cpp index 79ee630..d42587b 100644 --- a/src/vector/subtract.cpp +++ b/src/vector/subtract.cpp @@ -3,11 +3,19 @@ #include "firefly/vector.hpp" namespace Firefly { -std::unique_ptr Vector::Subtract(Vector const &_fvec) const { return this->Add(*_fvec.Scale(-1)); } -std::unique_ptr Vector::Subtract(Real const &_scalar) const { return this->Add(-_scalar); } +std::unique_ptr Vector::Subtract(Vector const &_fvec) const { + return this->Add(*_fvec.Scale(-1)); +} +std::unique_ptr Vector::Subtract(Real const &_scalar) const { + return this->Add(-_scalar); +} -std::unique_ptr Vector::operator-(Vector const &_fvec) const { return this->Subtract(_fvec); } -std::unique_ptr Vector::operator-(Real const &_scalar) const { return this->Subtract(_scalar); } +std::unique_ptr Vector::operator-(Vector const &_fvec) const { + return this->Subtract(_fvec); +} +std::unique_ptr Vector::operator-(Real const &_scalar) const { + return this->Subtract(_scalar); +} std::unique_ptr Vector::operator--() const { return this->Subtract(1); } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/vector.cpp b/src/vector/vector.cpp index 7b77e27..38e60d0 100644 --- a/src/vector/vector.cpp +++ b/src/vector/vector.cpp @@ -3,12 +3,13 @@ namespace Firefly { -Vector::Vector(std::size_t size) : m_vec{std::make_shared(size)} {} +Vector::Vector(std::size_t _size) + : m_vec{std::make_shared(_size)} {} Vector::Vector(VectorType const &_vec) : m_vec(std::make_shared(_vec)) {} -Vector::Vector(Vector const &_f) - : m_vec(std::make_shared(*_f.m_vec)) {} +Vector::Vector(Vector const &_fvec) + : m_vec(std::make_shared(*_fvec.m_vec)) {} } // namespace Firefly