diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000..6be8aea --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,41 @@ +name: Deploy docs + +on: + push: + branches: ["master"] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install doxygen + run: | + sudo apt install doxygen graphviz -y + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Build documentation + run: | + doxygen + touch docs/html/.nojekyll + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: 'docs/html' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.github/workflows/unit_testing.yaml b/.github/workflows/unit_testing.yaml new file mode 100644 index 0000000..cf71eef --- /dev/null +++ b/.github/workflows/unit_testing.yaml @@ -0,0 +1,116 @@ +name: Unit Testing + +on: + push: + branches: [master] + pull_request: + types: [opened, synchronize, reopened] + +jobs: + ensure_tests: + name: Ensure No Missing Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + name: Checkout repository + - run: | + ./scripts/test_generator.sh + name: Run test generator script + + unit_test_gcc_linux: + name: Linux (GCC=v${{ matrix.version }}) + needs: [ ensure_tests ] + strategy: + matrix: + version: [9, 10, 11, 12, 13] + runs-on: ubuntu-latest + env: + CC: gcc-${{ matrix.version }} + CXX: g++-${{ matrix.version }} + steps: + - uses: actions/checkout@v3 + name: Checkout repository + - uses: egor-tensin/setup-gcc@v1.3 + name: Install GCC + with: + version: ${{ matrix.version }} + - run: | + cmake -Bbuild -DFirefly_ENABLE_TESTS=ON + cmake --build build -- -j `nproc` + name: Configure and build binaries + - run: | + ctest --test-dir build/tests/ --verbose + name: Run tests + + unit_test_llvm_linux: + name: Linux (LLVM=v${{ matrix.version }}) + needs: [ ensure_tests ] + strategy: + matrix: + version: [11, 12, 13, 14, 15, 16] + runs-on: ubuntu-latest + env: + CC: clang-${{ matrix.version }} + CXX: clang++-${{ matrix.version }} + steps: + - uses: actions/checkout@v3 + name: Checkout repository + - uses: egor-tensin/setup-clang@v1.4 + name: Install LLVM + with: + version: ${{ matrix.version }} + - run: | + cmake -Bbuild -DFirefly_ENABLE_TESTS=ON + cmake --build build -- -j `nproc` + name: Configure and build binaries + - run: | + ctest --test-dir build/tests/ --verbose + name: Run tests + + unit_test_gcc_macos: + name: MacOS (GCC=v${{ matrix.version }}) + needs: [ ensure_tests ] + strategy: + matrix: + version: [10, 11, 12, 13] + runs-on: macos-latest + env: + CC: gcc-${{ matrix.version }} + CXX: g++-${{ matrix.version }} + steps: + - uses: actions/checkout@v3 + name: Checkout repository + - run: | + brew install gcc@${{ matrix.version }} + name: Install GCC + - run: | + cmake -Bbuild -DFirefly_ENABLE_TESTS=ON + cmake --build build -- -j `nproc` + name: Configure and build binaries + - run: | + ctest --test-dir build/tests/ --verbose + name: Run tests + + unit_test_llvm_macos: + name: MacOS (LLVM=v${{ matrix.version }}) + needs: [ ensure_tests ] + strategy: + matrix: + version: [12, 13, 14, 15, 16] + runs-on: macos-latest + env: + CC: /usr/local/opt/llvm@${{ matrix.version }}/bin/clang + CXX: /usr/local/opt/llvm@${{ matrix.version }}/bin/clang++ + steps: + - uses: actions/checkout@v3 + name: Checkout repository + - run: | + brew install llvm@${{ matrix.version }} + name: Install LLVM + - run: | + cmake -Bbuild -DFirefly_ENABLE_TESTS=ON + cmake --build build -- -j `nproc` + name: Configure and build binaries + - run: | + ctest --test-dir build/tests/ --verbose + name: Run tests diff --git a/.gitignore b/.gitignore index 1108029..a343eb4 100644 --- a/.gitignore +++ b/.gitignore @@ -66,4 +66,10 @@ _deps # Ignore all local history of files .history +### Clangd +.cache + +### Doxygen +docs + # End of https://www.gitignore.io/api/c++,cmake,visualstudiocode diff --git a/.vscode/settings.json b/.vscode/settings.json index 6a66170..b37945f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cmake.configureOnOpen": false, + "cmake.configureOnEdit": false, "[cmake]": { "editor.formatOnSave": true, "editor.defaultFormatter": "twxs.cmake" @@ -10,7 +11,7 @@ "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd", "editor.tabSize": 2 }, - "files.associations": { - "/Doxfile": "doxygen" - } + "clangd.arguments": [ + "--header-insertion=never" + ] } \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f5ef0e..005a742 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,14 @@ cmake_minimum_required(VERSION 3.10) -project(firefly LANGUAGES CXX VERSION 2.0.0) +project(firefly) +set(PROJECT_VERSION 2.1.0) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -add_compile_options(-std=c++17) +cmake_policy(SET CMP0135 NEW) -option(Firefly_ENABLE_DOUBLE_PRECISION "Whether or not to enable double precision. If this is false, float will be used." OFF) +option(Firefly_ENABLE_DOUBLE_PRECISION "Whether or not to enable double precision. If this is false, float will be used." ON) option(Firefly_ENABLE_EXAMPLES "Whether or not to enable examples" OFF) +option(Firefly_ENABLE_TESTS "Whether or not to enable tests" OFF) if (${Firefly_ENABLE_DOUBLE_PRECISION}) add_definitions(-DDOUBLE_PRECISION=1) @@ -30,5 +32,23 @@ if (${Firefly_ENABLE_EXAMPLES}) add_subdirectory(examples) endif() +if (${Firefly_ENABLE_TESTS}) + message(STATUS "Enabling tests") + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + + include(FetchContent) + FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip + ) + FetchContent_MakeAvailable(googletest) + FetchContent_GetProperties(googletest) + + include(GoogleTest) + include_directories("${googletest_SOURCE_DIR}/googlemock/include") + enable_testing() + add_subdirectory(tests) +endif() + install(TARGETS ${PROJECT_NAME}_static ${PROJECT_NAME}_shared) install(DIRECTORY headers/ DESTINATION include) diff --git a/Doxfile b/Doxyfile similarity index 80% rename from Doxfile rename to Doxyfile index 97a5363..76d6714 100644 --- a/Doxfile +++ b/Doxyfile @@ -3,8 +3,8 @@ #--------------------------------------------------------------------------- PROJECT_NAME = "Firefly" -PROJECT_BRIEF = "Standalone library for vector and matrix calculations" -PROJECT_NUMBER = "2.0" +PROJECT_BRIEF = "Standalone library for vector calculations" +PROJECT_NUMBER = "2.1" FILE_PATTERNS = *.cpp *.hpp @@ -25,5 +25,5 @@ UML_LOOK = YES GENERATE_HTML = YES -HTML_OUTPUT = ./ +HTML_OUTPUT = html diff --git a/README.md b/README.md index 5d1c042..4180562 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,11 @@ This is a standalone C++ vector calculation library. It performs addition, subtr 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++. +## Supported Platforms and Compilers + +**Linux** GCC v9+ or Clang v11+
+**MacOS** GCC v10+ or Clang v12+
+ ## Build and Install > **Note** Ensure CMake 3.10+ and either Make or Ninja build systems are installed before following the steps. @@ -19,17 +24,36 @@ The library was designed to help people learn C++ and its concepts. It's a simpl 2. Configure the cmake build ```console - cmake -Bbuild -DFirefly_ENABLE_EXAMPLES=ON -DFirefly_ENABLE_DOUBLE_PRECISION=ON + cmake -Bbuild -DFirefly_ENABLE_EXAMPLES=ON ``` - The given CMake command allows you to enable the compilation of examples using double precision. To disable examples, you can either omit `-DFirefly_ENABLE_EXAMPLES=ON` or explicitly set it to `-DFirefly_ENABLE_EXAMPLES=OFF`. Additionally, if you prefer using single precision (float) instead of double precision, you can either omit `-DFirefly_ENABLE_DOUBLE_PRECISION=ON` or set it to `-DFirefly_ENABLE_DOUBLE_PRECISION=OFF`. +
+ | CMake Options | Type | Description | + | :-----------: | :--: | :---------- | + | Firefly_ENABLE_EXAMPLES | Boolean | Adds the `examples/` directory in the compile target. (default: `OFF`) | + | Firefly_ENABLE_DOUBLE_PRECISION | Boolean | Enables `double` type instead of `float` when enabled. (default: `ON`) | + | Firefly_ENABLE_TESTS | Boolean | Download gtest and configures it to enable test. Check [Testing](#testing) section below. (default: `OFF`) | + +
+ 3. Build the code and install it ```console cmake --build build -j `nproc` sudo cmake --build build --target install/strip ``` +## Testing + +By default tests are disable, you can enable them with `-DFirefly_ENABLE_TESTS` and run using ctest, as shown below. + +```console +cmake -Bbuild -DCMAKE_BUILD_TYPE=Debug -DFirefly_ENABLE_TESTS=ON +cmake --build build +ctest --test-dir build/tests --verbose +``` + + ## Example Usage ```c++ @@ -65,6 +89,13 @@ g++ main.cpp -lfirefly -o mycode ./mycode ``` +Or with double precision + +```console +g++ main.cpp -DDOUBLE_PRECISION=1 -lfirefly -o mycode +./mycode +``` + ### Build using `CMake` ```cmake diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index aaa6f7e..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -libfirefly.tbhaxor.com \ No newline at end of file diff --git a/docs/add_8cpp.html b/docs/add_8cpp.html deleted file mode 100644 index 0b082e7..0000000 --- a/docs/add_8cpp.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Firefly: src/vector/add.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 63d79ad..0000000 --- a/docs/add_8cpp__incl.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/docs/add_8cpp__incl.md5 b/docs/add_8cpp__incl.md5 deleted file mode 100644 index 92a406d..0000000 --- a/docs/add_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -83613bc0bbb377543a6bddc32cd36407 \ No newline at end of file diff --git a/docs/add_8cpp__incl.png b/docs/add_8cpp__incl.png deleted file mode 100644 index 54e8567..0000000 Binary files a/docs/add_8cpp__incl.png and /dev/null differ diff --git a/docs/angle__with_8cpp.html b/docs/angle__with_8cpp.html deleted file mode 100644 index 16e7210..0000000 --- a/docs/angle__with_8cpp.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Firefly: src/vector/angle_with.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index a966915..0000000 --- a/docs/angle__with_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/angle__with_8cpp__incl.md5 b/docs/angle__with_8cpp__incl.md5 deleted file mode 100644 index 42ba671..0000000 --- a/docs/angle__with_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -96a742c10b35bdfaff50fd2dd4fa4875 \ No newline at end of file diff --git a/docs/angle__with_8cpp__incl.png b/docs/angle__with_8cpp__incl.png deleted file mode 100644 index f91138d..0000000 Binary files a/docs/angle__with_8cpp__incl.png and /dev/null differ diff --git a/docs/annotated.html b/docs/annotated.html deleted file mode 100644 index 5bd53b8..0000000 --- a/docs/annotated.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -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/anti__parallel_8cpp.html b/docs/anti__parallel_8cpp.html deleted file mode 100644 index f3b6d0c..0000000 --- a/docs/anti__parallel_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Firefly: src/vector/anti_parallel.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
anti_parallel.cpp File Reference
-
-
-
#include "firefly/vector.hpp"
-
- - - -

-Namespaces

namespace  Firefly
 
-
- - - - diff --git a/docs/area_8cpp.html b/docs/area_8cpp.html deleted file mode 100644 index 28b03bf..0000000 --- a/docs/area_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Firefly: src/vector/area.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 6da45fb..0000000 --- a/docs/area_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/area_8cpp__incl.md5 b/docs/area_8cpp__incl.md5 deleted file mode 100644 index b81e04a..0000000 --- a/docs/area_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b45ade17e899d9e2abe498b2a67aa13d \ No newline at end of file diff --git a/docs/area_8cpp__incl.png b/docs/area_8cpp__incl.png deleted file mode 100644 index b35e019..0000000 Binary files a/docs/area_8cpp__incl.png and /dev/null differ diff --git a/docs/bc_s.png b/docs/bc_s.png deleted file mode 100644 index 224b29a..0000000 Binary files a/docs/bc_s.png and /dev/null differ diff --git a/docs/bc_sd.png b/docs/bc_sd.png deleted file mode 100644 index 31ca888..0000000 Binary files a/docs/bc_sd.png and /dev/null differ diff --git a/docs/classFirefly_1_1Vector-members.html b/docs/classFirefly_1_1Vector-members.html deleted file mode 100644 index d957e1c..0000000 --- a/docs/classFirefly_1_1Vector-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -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--() 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()=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 deleted file mode 100644 index 3921529..0000000 --- a/docs/classFirefly_1_1Vector.html +++ /dev/null @@ -1,1208 +0,0 @@ - - - - - - - -Firefly: Firefly::Vector Class Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Public Member Functions | -Friends | -List of all members
-
Firefly::Vector Class Reference
-
-
- -

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

- -

#include <vector.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 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.
 
Vector Add (Vector const &_fvec) const
 Performs vector addition with another vector and returns the result as a new vector.
 
Vector Add (Real const &_scalar) const
 Performs scalar addition with a real value and returns the result as a new vector.
 
Vector operator+ (Vector const &_fvec) const
 Overloaded operator to perform vector addition.
 
Vector operator+ (Real const &_scalar) const
 Overloaded operator to perform scalar addition.
 
Vector operator++ () const
 Overloaded prefix increment operator to increment all elements of the vector by one.
 
Vector Scale (Real const &_fvec) const
 Performs vector scaling by a real value and returns the result as a new vector.
 
Vector operator* (Real const &_scalar) const
 Overloaded operator to perform vector scaling.
 
Vector Subtract (Vector const &_fvec) const
 Performs vector subtraction with another vector and returns the result as a new vector.
 
Vector Subtract (Real const &_scalar) const
 Performs scalar subtraction with a real value and returns the result as a new vector.
 
Vector operator- (Vector const &_fvec) const
 Overloaded operator to perform vector subtraction.
 
Vector operator- (Real const &_scalar) const
 Overloaded operator to perform scalar subtraction.
 
Vector operator-- () const
 Overloaded prefix decrement operator to decrement all elements of the vector by one.
 
Vector operator- () const
 Overload unary negation operator to negate the original vector, giving anti-parallel vector.
 
Real Dot (Vector const &_fvec) const
 Calculates the dot product between this vector and another vector.
 
Vector Cross (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.
 
Vector Normalize () 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/4]

- -
-
- - - - - -
- - - - - - - -
Firefly::Vector::Vector ()
-
-delete
-
- -
-
- -

◆ ~Vector()

- -
-
- - - - - -
- - - - - - - -
Firefly::Vector::~Vector ()
-
-default
-
- -
-
- -

◆ Vector() [2/4]

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

Constructs a vector of a specific size.

-
Parameters
- - -
_sizeThe size of the vector.
-
-
- -
-
- -

◆ Vector() [3/4]

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

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

-
Parameters
- - -
_vecThe VectorType representing the vector.
-
-
- -
-
- -

◆ Vector() [4/4]

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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()

- -
-
- - - - - - - - -
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()

- -
-
- - - - - - - -
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*()

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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++()

- -
-
- - - - - - - -
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/3]

- -
-
- - - - - - - -
Vector Firefly::Vector::operator- () const
-
- -

Overload unary negation operator to negate the original vector, giving anti-parallel vector.

-

It negates all components of the vector, effectively reversing its direction while keeping its magnitude unchanged. The resulting vector points in the opposite direction of the original vector.

-

For a 2D vector v = (x, y), the negation -v = (-x, -y). For a 3D vector v = (x, y, z), the negation -v = (-x, -y, -z).

-
Note
The original Vector object remains unchanged after using this operator.
-
Returns
A new Vector object with all components negated.
- -
-
- -

◆ operator-() [2/3]

- -
-
- - - - - - - - -
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-() [3/3]

- -
-
- - - - - - - - -
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--()

- -
-
- - - - - - - -
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()

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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]

- -
-
- - - - - - - - -
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 deleted file mode 100644 index 24747eb..0000000 --- a/docs/classFirefly_1_1Vector__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classFirefly_1_1Vector__coll__graph.md5 b/docs/classFirefly_1_1Vector__coll__graph.md5 deleted file mode 100644 index ee10088..0000000 --- a/docs/classFirefly_1_1Vector__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 64fbdbf..0000000 Binary files a/docs/classFirefly_1_1Vector__coll__graph.png and /dev/null differ diff --git a/docs/classes.html b/docs/classes.html deleted file mode 100644 index 043a8d5..0000000 --- a/docs/classes.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -Firefly: Class Index - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class Index
-
-
-
V
-
-
-
V
-
Vector (Firefly)
-
-
- - - - diff --git a/docs/closed.png b/docs/closed.png deleted file mode 100644 index 98cc2c9..0000000 Binary files a/docs/closed.png and /dev/null differ diff --git a/docs/cross_8cpp.html b/docs/cross_8cpp.html deleted file mode 100644 index 1373bfa..0000000 --- a/docs/cross_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -Firefly: src/vector/cross.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 40f18a2..0000000 --- a/docs/cross_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/cross_8cpp__incl.md5 b/docs/cross_8cpp__incl.md5 deleted file mode 100644 index 252e7aa..0000000 --- a/docs/cross_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -300a44ce7deff29046c66dcfb41442d8 \ No newline at end of file diff --git a/docs/cross_8cpp__incl.png b/docs/cross_8cpp__incl.png deleted file mode 100644 index 2989224..0000000 Binary files a/docs/cross_8cpp__incl.png and /dev/null differ diff --git a/docs/d0/dc0/subtract_8cpp.html b/docs/d0/dc0/subtract_8cpp.html deleted file mode 100644 index 2d3b7b7..0000000 --- a/docs/d0/dc0/subtract_8cpp.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Firefly: src/vector/subtract.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 10515d2..0000000 --- a/docs/d1/df0/is__orthogonal_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/d1/df0/is__orthogonal_8cpp__incl.md5 b/docs/d1/df0/is__orthogonal_8cpp__incl.md5 deleted file mode 100644 index ddca3df..0000000 --- a/docs/d1/df0/is__orthogonal_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 88a18c5..0000000 Binary files a/docs/d1/df0/is__orthogonal_8cpp__incl.png and /dev/null differ diff --git a/docs/d3/d3c/cross_8cpp__incl.map b/docs/d3/d3c/cross_8cpp__incl.map deleted file mode 100644 index 4fe70fd..0000000 --- a/docs/d3/d3c/cross_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/d3/d3c/cross_8cpp__incl.md5 b/docs/d3/d3c/cross_8cpp__incl.md5 deleted file mode 100644 index fdbe16f..0000000 --- a/docs/d3/d3c/cross_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 2989224..0000000 Binary files a/docs/d3/d3c/cross_8cpp__incl.png and /dev/null differ diff --git a/docs/d3/d4d/angle__with_8cpp.html b/docs/d3/d4d/angle__with_8cpp.html deleted file mode 100644 index 54a3bc4..0000000 --- a/docs/d3/d4d/angle__with_8cpp.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Firefly: src/vector/angle_with.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 0b89345..0000000 --- a/docs/d3/d61/rank_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/rank.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 876e820..0000000 --- a/docs/d3/dad/classFirefly_1_1Vector-members.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index d6082c1..0000000 --- a/docs/d4/d1b/vector_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/vector.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index ce0fde8..0000000 --- a/docs/d4/d8b/scale_8cpp.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Firefly: src/vector/scale.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index fba2bd9..0000000 --- a/docs/d4/da0/area_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/d4/da0/area_8cpp__incl.md5 b/docs/d4/da0/area_8cpp__incl.md5 deleted file mode 100644 index 4910369..0000000 --- a/docs/d4/da0/area_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index b35e019..0000000 Binary files a/docs/d4/da0/area_8cpp__incl.png and /dev/null differ diff --git a/docs/d5/d8f/rank_8cpp__incl.map b/docs/d5/d8f/rank_8cpp__incl.map deleted file mode 100644 index 9cb66b0..0000000 --- a/docs/d5/d8f/rank_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/d5/d8f/rank_8cpp__incl.md5 b/docs/d5/d8f/rank_8cpp__incl.md5 deleted file mode 100644 index 4ea181f..0000000 --- a/docs/d5/d8f/rank_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 7489af7..0000000 Binary files a/docs/d5/d8f/rank_8cpp__incl.png and /dev/null differ diff --git a/docs/d6/d5c/is__normalized_8cpp.html b/docs/d6/d5c/is__normalized_8cpp.html deleted file mode 100644 index 87212fb..0000000 --- a/docs/d6/d5c/is__normalized_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/is_normalized.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 9941418..0000000 --- a/docs/d6/d83/CMakeCXXCompilerId_8cpp.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - -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
-
-
-
-
- - -
-
-
-Macros | -Functions | -Variables
-
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 deleted file mode 100644 index 53e0e4a..0000000 --- a/docs/d6/dbc/namespaceFirefly.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -Firefly: Firefly Namespace Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
-
-Classes | -Typedefs | -Functions
-
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 deleted file mode 100644 index a9bdd70..0000000 --- a/docs/d7/d02/is__parallel_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/d7/d02/is__parallel_8cpp__incl.md5 b/docs/d7/d02/is__parallel_8cpp__incl.md5 deleted file mode 100644 index 97c6a40..0000000 --- a/docs/d7/d02/is__parallel_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index c98da11..0000000 Binary files a/docs/d7/d02/is__parallel_8cpp__incl.png and /dev/null differ diff --git a/docs/d7/d7e/elem__sum_8cpp.html b/docs/d7/d7e/elem__sum_8cpp.html deleted file mode 100644 index 49ab15d..0000000 --- a/docs/d7/d7e/elem__sum_8cpp.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Firefly: src/vector/elem_sum.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index cc68ba6..0000000 --- a/docs/d7/d82/add_8cpp__incl.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/docs/d7/d82/add_8cpp__incl.md5 b/docs/d7/d82/add_8cpp__incl.md5 deleted file mode 100644 index d1df748..0000000 --- a/docs/d7/d82/add_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 54e8567..0000000 Binary files a/docs/d7/d82/add_8cpp__incl.png and /dev/null differ diff --git a/docs/d8/d18/subtract_8cpp__incl.map b/docs/d8/d18/subtract_8cpp__incl.map deleted file mode 100644 index 1968e3e..0000000 --- a/docs/d8/d18/subtract_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/d8/d18/subtract_8cpp__incl.md5 b/docs/d8/d18/subtract_8cpp__incl.md5 deleted file mode 100644 index d25f91b..0000000 --- a/docs/d8/d18/subtract_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 4cb601b..0000000 Binary files a/docs/d8/d18/subtract_8cpp__incl.png and /dev/null differ diff --git a/docs/d8/d78/scale_8cpp__incl.map b/docs/d8/d78/scale_8cpp__incl.map deleted file mode 100644 index 45bc445..0000000 --- a/docs/d8/d78/scale_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/d8/d78/scale_8cpp__incl.md5 b/docs/d8/d78/scale_8cpp__incl.md5 deleted file mode 100644 index 7ae78e5..0000000 --- a/docs/d8/d78/scale_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 5681bea..0000000 Binary files a/docs/d8/d78/scale_8cpp__incl.png and /dev/null differ diff --git a/docs/d8/dc3/magnitude_8cpp__incl.map b/docs/d8/dc3/magnitude_8cpp__incl.map deleted file mode 100644 index 6ec3d60..0000000 --- a/docs/d8/dc3/magnitude_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/d8/dc3/magnitude_8cpp__incl.md5 b/docs/d8/dc3/magnitude_8cpp__incl.md5 deleted file mode 100644 index a41273f..0000000 --- a/docs/d8/dc3/magnitude_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 95a39a7..0000000 Binary files a/docs/d8/dc3/magnitude_8cpp__incl.png and /dev/null differ diff --git a/docs/d9/d1c/dot_8cpp__incl.map b/docs/d9/d1c/dot_8cpp__incl.map deleted file mode 100644 index 33d7def..0000000 --- a/docs/d9/d1c/dot_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/d9/d1c/dot_8cpp__incl.md5 b/docs/d9/d1c/dot_8cpp__incl.md5 deleted file mode 100644 index b7615dc..0000000 --- a/docs/d9/d1c/dot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 77d45b1..0000000 Binary files a/docs/d9/d1c/dot_8cpp__incl.png and /dev/null differ diff --git a/docs/d9/d8b/is__parallel_8cpp.html b/docs/d9/d8b/is__parallel_8cpp.html deleted file mode 100644 index f85323f..0000000 --- a/docs/d9/d8b/is__parallel_8cpp.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Firefly: src/vector/is_parallel.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 8e67ceb..0000000 --- a/docs/d9/dae/is__zero_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/d9/dae/is__zero_8cpp__incl.md5 b/docs/d9/dae/is__zero_8cpp__incl.md5 deleted file mode 100644 index c709631..0000000 --- a/docs/d9/dae/is__zero_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 6e60977..0000000 Binary files a/docs/d9/dae/is__zero_8cpp__incl.png and /dev/null differ diff --git a/docs/da/d16/vector_8hpp.html b/docs/da/d16/vector_8hpp.html deleted file mode 100644 index 881939c..0000000 --- a/docs/da/d16/vector_8hpp.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Firefly: headers/firefly/vector.hpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Classes | -Namespaces | -Typedefs
-
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 deleted file mode 100644 index 59cc1a2..0000000 --- a/docs/da/d16/vector_8hpp_source.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index de950b0..0000000 --- a/docs/da/d19/indexers_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/da/d19/indexers_8cpp__incl.md5 b/docs/da/d19/indexers_8cpp__incl.md5 deleted file mode 100644 index 00a4696..0000000 --- a/docs/da/d19/indexers_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index ef1fcb1..0000000 Binary files a/docs/da/d19/indexers_8cpp__incl.png and /dev/null differ diff --git a/docs/da/d60/is__zero_8cpp.html b/docs/da/d60/is__zero_8cpp.html deleted file mode 100644 index 85fbf63..0000000 --- a/docs/da/d60/is__zero_8cpp.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Firefly: src/vector/is_zero.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index e54e841..0000000 --- a/docs/da/dce/main_8cpp__incl.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/docs/da/dce/main_8cpp__incl.md5 b/docs/da/dce/main_8cpp__incl.md5 deleted file mode 100644 index 038b7a3..0000000 --- a/docs/da/dce/main_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index c6baab8..0000000 Binary files a/docs/da/dce/main_8cpp__incl.png and /dev/null differ diff --git a/docs/db/d23/classFirefly_1_1Vector.html b/docs/db/d23/classFirefly_1_1Vector.html deleted file mode 100644 index 7091e2d..0000000 --- a/docs/db/d23/classFirefly_1_1Vector.html +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - - - -Firefly: Firefly::Vector Class Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Public Member Functions | -Friends | -List of all members
-
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 deleted file mode 100644 index 0d616d4..0000000 --- a/docs/db/db7/angle__with_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/db/db7/angle__with_8cpp__incl.md5 b/docs/db/db7/angle__with_8cpp__incl.md5 deleted file mode 100644 index 560d668..0000000 --- a/docs/db/db7/angle__with_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index f91138d..0000000 Binary files a/docs/db/db7/angle__with_8cpp__incl.png and /dev/null differ diff --git a/docs/dc/d19/magnitude_8cpp.html b/docs/dc/d19/magnitude_8cpp.html deleted file mode 100644 index 688fe5e..0000000 --- a/docs/dc/d19/magnitude_8cpp.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Firefly: src/vector/magnitude.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index f47481d..0000000 --- a/docs/dc/d23/is__orthogonal_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/is_orthogonal.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index cae6174..0000000 --- a/docs/dc/d82/area_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/area.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index a7b5a2e..0000000 --- a/docs/dc/dca/vector_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/dc/dca/vector_8cpp__incl.md5 b/docs/dc/dca/vector_8cpp__incl.md5 deleted file mode 100644 index 6a27561..0000000 --- a/docs/dc/dca/vector_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 521e5e2..0000000 Binary files a/docs/dc/dca/vector_8cpp__incl.png and /dev/null differ diff --git a/docs/dc/de6/elem__sum_8cpp__incl.map b/docs/dc/de6/elem__sum_8cpp__incl.map deleted file mode 100644 index 7b48793..0000000 --- a/docs/dc/de6/elem__sum_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/dc/de6/elem__sum_8cpp__incl.md5 b/docs/dc/de6/elem__sum_8cpp__incl.md5 deleted file mode 100644 index 5a0c71a..0000000 --- a/docs/dc/de6/elem__sum_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 2d3d80b..0000000 Binary files a/docs/dc/de6/elem__sum_8cpp__incl.png and /dev/null differ diff --git a/docs/dc/df8/test_8cpp__incl.map b/docs/dc/df8/test_8cpp__incl.map deleted file mode 100644 index f6327e9..0000000 --- a/docs/dc/df8/test_8cpp__incl.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/dc/df8/test_8cpp__incl.md5 b/docs/dc/df8/test_8cpp__incl.md5 deleted file mode 100644 index 29e3333..0000000 --- a/docs/dc/df8/test_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 94eedbd..0000000 Binary files a/docs/dc/df8/test_8cpp__incl.png and /dev/null differ diff --git a/docs/dc/df8/view_8cpp__incl.map b/docs/dc/df8/view_8cpp__incl.map deleted file mode 100644 index 443237d..0000000 --- a/docs/dc/df8/view_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/dc/df8/view_8cpp__incl.md5 b/docs/dc/df8/view_8cpp__incl.md5 deleted file mode 100644 index fa67b49..0000000 --- a/docs/dc/df8/view_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index b27f2a2..0000000 Binary files a/docs/dc/df8/view_8cpp__incl.png and /dev/null differ diff --git a/docs/dd/d1c/indexers_8cpp.html b/docs/dd/d1c/indexers_8cpp.html deleted file mode 100644 index 35c4d28..0000000 --- a/docs/dd/d1c/indexers_8cpp.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Firefly: src/vector/indexers.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 24747eb..0000000 --- a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 b/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 deleted file mode 100644 index ee10088..0000000 --- a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 64fbdbf..0000000 Binary files a/docs/dd/d5d/classFirefly_1_1Vector__coll__graph.png and /dev/null differ diff --git a/docs/dd/d8c/cross_8cpp.html b/docs/dd/d8c/cross_8cpp.html deleted file mode 100644 index 76ce26e..0000000 --- a/docs/dd/d8c/cross_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/cross.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 52c8388..0000000 --- a/docs/dd/dc2/view_8cpp.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Firefly: src/vector/view.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces | -Functions
-
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 deleted file mode 100644 index 401333b..0000000 --- a/docs/de/d9b/normalize_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/de/d9b/normalize_8cpp__incl.md5 b/docs/de/d9b/normalize_8cpp__incl.md5 deleted file mode 100644 index 5173259..0000000 --- a/docs/de/d9b/normalize_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 76a4e4d..0000000 Binary files a/docs/de/d9b/normalize_8cpp__incl.png and /dev/null differ diff --git a/docs/de/daa/dot_8cpp.html b/docs/de/daa/dot_8cpp.html deleted file mode 100644 index 151e455..0000000 --- a/docs/de/daa/dot_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/dot.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 88b0dd1..0000000 --- a/docs/de/daf/normalize_8cpp.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Firefly: src/vector/normalize.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 1376fbd..0000000 --- a/docs/de/dc4/vector_8hpp__dep__incl.map +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/de/dc4/vector_8hpp__dep__incl.md5 b/docs/de/dc4/vector_8hpp__dep__incl.md5 deleted file mode 100644 index e9f13d1..0000000 --- a/docs/de/dc4/vector_8hpp__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 4a4efaf..0000000 Binary files a/docs/de/dc4/vector_8hpp__dep__incl.png and /dev/null differ diff --git a/docs/de/de7/add_8cpp.html b/docs/de/de7/add_8cpp.html deleted file mode 100644 index 1053099..0000000 --- a/docs/de/de7/add_8cpp.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Firefly: src/vector/add.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
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 deleted file mode 100644 index 913c204..0000000 --- a/docs/df/d03/is__normalized_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/df/d03/is__normalized_8cpp__incl.md5 b/docs/df/d03/is__normalized_8cpp__incl.md5 deleted file mode 100644 index 29776b7..0000000 --- a/docs/df/d03/is__normalized_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 4f50ade..0000000 Binary files a/docs/df/d03/is__normalized_8cpp__incl.png and /dev/null differ diff --git a/docs/df/d0a/main_8cpp.html b/docs/df/d0a/main_8cpp.html deleted file mode 100644 index f0f4b89..0000000 --- a/docs/df/d0a/main_8cpp.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Firefly: examples/main.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Functions
-
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 deleted file mode 100644 index 4481748..0000000 --- a/docs/df/d29/vector_8hpp__incl.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/df/d29/vector_8hpp__incl.md5 b/docs/df/d29/vector_8hpp__incl.md5 deleted file mode 100644 index 5c73aef..0000000 --- a/docs/df/d29/vector_8hpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 95b9c67..0000000 Binary files a/docs/df/d29/vector_8hpp__incl.png and /dev/null differ diff --git a/docs/df/dac/test_8cpp.html b/docs/df/dac/test_8cpp.html deleted file mode 100644 index 3c7567d..0000000 --- a/docs/df/dac/test_8cpp.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Firefly: tests/test.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Functions
-
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 deleted file mode 100644 index 98d42c6..0000000 --- a/docs/dir_000003_000001.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Firefly: src/vector -> headers Relation - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-

vector → headers Relation

File in src/vectorIncludes file in headers
add.cppfirefly / vector.hpp
angle_with.cppfirefly / vector.hpp
area.cppfirefly / vector.hpp
cross.cppfirefly / vector.hpp
dot.cppfirefly / vector.hpp
elem_sum.cppfirefly / vector.hpp
indexers.cppfirefly / vector.hpp
is_normalized.cppfirefly / vector.hpp
is_orthogonal.cppfirefly / vector.hpp
is_parallel.cppfirefly / vector.hpp
is_zero.cppfirefly / vector.hpp
magnitude.cppfirefly / vector.hpp
normalize.cppfirefly / vector.hpp
rank.cppfirefly / vector.hpp
scale.cppfirefly / vector.hpp
subtract.cppfirefly / vector.hpp
vector.cppfirefly / vector.hpp
view.cppfirefly / vector.hpp
- - - - diff --git a/docs/dir_000004_000006.html b/docs/dir_000004_000006.html deleted file mode 100644 index 072bfd9..0000000 --- a/docs/dir_000004_000006.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 078f609..0000000 --- a/docs/dir_000009_000006.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -Firefly: src/vector -> headers Relation - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-

vector → headers Relation

File in src/vectorIncludes file in headers
add.cppfirefly / vector.hpp
angle_with.cppfirefly / vector.hpp
area.cppfirefly / vector.hpp
cross.cppfirefly / vector.hpp
dot.cppfirefly / vector.hpp
elem_sum.cppfirefly / vector.hpp
indexers.cppfirefly / vector.hpp
is_normalized.cppfirefly / vector.hpp
is_orthogonal.cppfirefly / vector.hpp
is_parallel.cppfirefly / vector.hpp
is_zero.cppfirefly / vector.hpp
magnitude.cppfirefly / vector.hpp
normalize.cppfirefly / vector.hpp
rank.cppfirefly / vector.hpp
scale.cppfirefly / vector.hpp
subtract.cppfirefly / vector.hpp
vector.cppfirefly / vector.hpp
view.cppfirefly / vector.hpp
- - - - diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6.html b/docs/dir_0baa9f3d984dd29d1429171590d769d6.html deleted file mode 100644 index 39b168f..0000000 --- a/docs/dir_0baa9f3d984dd29d1429171590d769d6.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -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
 
 anti_parallel.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 deleted file mode 100644 index 298848d..0000000 --- a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 deleted file mode 100644 index 941450d..0000000 --- a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -e808acbcee4d1dbda9a3540eea1fd932 \ No newline at end of file diff --git a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png b/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png deleted file mode 100644 index dae94b8..0000000 Binary files a/docs/dir_0baa9f3d984dd29d1429171590d769d6_dep.png and /dev/null differ diff --git a/docs/dir_4fef79e7177ba769987a8da36c892c5f.html b/docs/dir_4fef79e7177ba769987a8da36c892c5f.html deleted file mode 100644 index 93ac230..0000000 --- a/docs/dir_4fef79e7177ba769987a8da36c892c5f.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index e4d2d7c..0000000 --- a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 1ad3ee0..0000000 --- a/docs/dir_63772b626f2709090f0bdca0f40827b4.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index fd9ea1f..0000000 --- a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 deleted file mode 100644 index 8a6aac8..0000000 --- a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -286ef75de08af8b2ecaf4470232e9e8d \ No newline at end of file diff --git a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png b/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png deleted file mode 100644 index d05e268..0000000 Binary files a/docs/dir_63772b626f2709090f0bdca0f40827b4_dep.png and /dev/null differ diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html deleted file mode 100644 index 6f9b077..0000000 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 3f90f18..0000000 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 deleted file mode 100644 index 9c4970d..0000000 --- a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -a676ba070fa7fd00f3b18a161974a366 \ No newline at end of file diff --git a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png deleted file mode 100644 index 967ae26..0000000 Binary files a/docs/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png and /dev/null differ diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af.html b/docs/dir_6974064bec986529c9a68c7c75e571af.html deleted file mode 100644 index eccf600..0000000 --- a/docs/dir_6974064bec986529c9a68c7c75e571af.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index cb7828e..0000000 --- a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 deleted file mode 100644 index 7fd46f0..0000000 --- a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -01e8a635246c378cc5c61052bbbf6ebe \ No newline at end of file diff --git a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.png b/docs/dir_6974064bec986529c9a68c7c75e571af_dep.png deleted file mode 100644 index 1f90f5b..0000000 Binary files a/docs/dir_6974064bec986529c9a68c7c75e571af_dep.png and /dev/null differ diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html deleted file mode 100644 index 1d76653..0000000 --- a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 75baa98..0000000 --- a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 deleted file mode 100644 index 682916b..0000000 --- a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -019f65e35db6aee8bc89c467f0154e68 \ No newline at end of file diff --git a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png b/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png deleted file mode 100644 index 9d477b4..0000000 Binary files a/docs/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.png and /dev/null differ diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b.html b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b.html deleted file mode 100644 index 95db82a..0000000 --- a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 5b6166c..0000000 --- a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 deleted file mode 100644 index d2537a3..0000000 --- a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c172f5db263af2a98b9cbd09b1d53133 \ No newline at end of file diff --git a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png b/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png deleted file mode 100644 index 95b6cf3..0000000 Binary files a/docs/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.png and /dev/null differ diff --git a/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html b/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html deleted file mode 100644 index 97e947a..0000000 --- a/docs/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index bf704aa..0000000 --- a/docs/dir_d28a4824dc47e487b107a5db32ef43c4.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 74fdbf8..0000000 --- a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 deleted file mode 100644 index 6175dbd..0000000 --- a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -9db9d0585b4b9c39ccfd9584f807820a \ No newline at end of file diff --git a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png b/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png deleted file mode 100644 index 55e1845..0000000 Binary files a/docs/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png and /dev/null differ diff --git a/docs/doc.svg b/docs/doc.svg deleted file mode 100644 index 0b928a5..0000000 --- a/docs/doc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/docd.svg b/docs/docd.svg deleted file mode 100644 index ac18b27..0000000 --- a/docs/docd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/dot_8cpp.html b/docs/dot_8cpp.html deleted file mode 100644 index aca3d4e..0000000 --- a/docs/dot_8cpp.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Firefly: src/vector/dot.cpp File Reference - - - - - - - - - -
-
- - - - - - -
-
Firefly 2.0 -
-
Standalone library for vector and matrix calculations
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
-Namespaces
-
dot.cpp File Reference
-
-
-
#include <iostream>
-#include <numeric>
-#include "firefly/vector.hpp"
-
- - - -

-Namespaces

namespace  Firefly
 
-
- - - - diff --git a/docs/dot_8cpp__incl.map b/docs/dot_8cpp__incl.map deleted file mode 100644 index dbd6483..0000000 --- a/docs/dot_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/dot_8cpp__incl.md5 b/docs/dot_8cpp__incl.md5 deleted file mode 100644 index e306580..0000000 --- a/docs/dot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7a29aa2f8d5bcb4a1cce0da9e14ae4c0 \ No newline at end of file diff --git a/docs/dot_8cpp__incl.png b/docs/dot_8cpp__incl.png deleted file mode 100644 index 77d45b1..0000000 Binary files a/docs/dot_8cpp__incl.png and /dev/null differ diff --git a/docs/doxygen.css b/docs/doxygen.css deleted file mode 100644 index 0caa19b..0000000 --- a/docs/doxygen.css +++ /dev/null @@ -1,2017 +0,0 @@ -/* The standard CSS for doxygen 1.9.7*/ - -html { -/* page base colors */ ---page-background-color: white; ---page-foreground-color: black; ---page-link-color: #3D578C; ---page-visited-link-color: #4665A2; - -/* index */ ---index-odd-item-bg-color: #F8F9FC; ---index-even-item-bg-color: white; ---index-header-color: black; ---index-separator-color: #A0A0A0; - -/* header */ ---header-background-color: #F9FAFC; ---header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; ---group-header-color: #354C7B; ---inherit-header-color: gray; - ---footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; ---citation-label-color: #334975; ---glow-color: cyan; - ---title-background-color: white; ---title-separator-color: #5373B4; ---directory-separator-color: #9CAFD4; ---separator-color: #4A6AAA; - ---blockquote-background-color: #F7F8FB; ---blockquote-border-color: #9CAFD4; - ---scrollbar-thumb-color: #9CAFD4; ---scrollbar-background-color: #F9FAFC; - ---icon-background-color: #728DC1; ---icon-foreground-color: white; ---icon-doc-image: url('doc.svg'); ---icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #F9FAFC; ---memdecl-separator-color: #DEE4F0; ---memdecl-foreground-color: #555; ---memdecl-template-color: #4665A2; - -/* detailed member list */ ---memdef-border-color: #A8B8D9; ---memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; ---memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---memdef-doc-background-color: white; ---memdef-param-name-color: #602020; ---memdef-template-color: #4665A2; - -/* tables */ ---table-cell-border-color: #2D4068; ---table-header-background-color: #374F7F; ---table-header-foreground-color: #FFFFFF; - -/* labels */ ---label-background-color: #728DC1; ---label-left-top-border-color: #5373B4; ---label-right-bottom-border-color: #C4CFE5; ---label-foreground-color: white; - -/** navigation bar/tree/menu */ ---nav-background-color: #F9FAFC; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #283A5D; ---nav-text-hover-color: white; ---nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---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: #364D7C; ---nav-menu-background-color: white; ---nav-menu-foreground-color: #555555; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; - -/* table of contents */ ---toc-background-color: #F4F6FA; ---toc-border-color: #D8DFEE; ---toc-header-color: #4665A2; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** 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 deleted file mode 100644 index 79a7635..0000000 --- a/docs/doxygen.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/dynsections.js b/docs/dynsections.js deleted file mode 100644 index f579fbf..0000000 --- a/docs/dynsections.js +++ /dev/null @@ -1,123 +0,0 @@ -/* - @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 deleted file mode 100644 index 013a2ca..0000000 --- a/docs/elem__sum_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/elem__sum_8cpp__incl.md5 b/docs/elem__sum_8cpp__incl.md5 deleted file mode 100644 index d7fcbc5..0000000 --- a/docs/elem__sum_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -99fbf0aa49e58063d24edc80ec448685 \ No newline at end of file diff --git a/docs/elem__sum_8cpp__incl.png b/docs/elem__sum_8cpp__incl.png deleted file mode 100644 index 2d3d80b..0000000 Binary files a/docs/elem__sum_8cpp__incl.png and /dev/null differ diff --git a/docs/files.html b/docs/files.html deleted file mode 100644 index 688b2af..0000000 --- a/docs/files.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index b04bed2..0000000 --- a/docs/folderclosed.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg deleted file mode 100644 index 52f0166..0000000 --- a/docs/folderclosedd.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/folderopen.svg b/docs/folderopen.svg deleted file mode 100644 index f6896dd..0000000 --- a/docs/folderopen.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/docs/folderopend.svg b/docs/folderopend.svg deleted file mode 100644 index 2d1f06e..0000000 --- a/docs/folderopend.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/functions.html b/docs/functions.html deleted file mode 100644 index 124bf12..0000000 --- a/docs/functions.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index ef8db4e..0000000 --- a/docs/functions_func.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 63deac1..0000000 --- a/docs/functions_rela.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 241d6ae..0000000 --- a/docs/globals.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 7d6ec2e..0000000 --- a/docs/globals_defs.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 3d4be48..0000000 --- a/docs/globals_func.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 0ebd91e..0000000 --- a/docs/globals_type.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 0943d45..0000000 --- a/docs/globals_vars.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 1bbc871..0000000 --- a/docs/graph_legend.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -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:

- -

The arrows have the following meaning:

- -
- - - - diff --git a/docs/graph_legend.md5 b/docs/graph_legend.md5 deleted file mode 100644 index da515da..0000000 --- a/docs/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/docs/graph_legend.png b/docs/graph_legend.png deleted file mode 100644 index c49cbe8..0000000 Binary files a/docs/graph_legend.png and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index ca55af0..0000000 --- a/docs/index.html +++ /dev/null @@ -1,82 +0,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 deleted file mode 100644 index 3aef349..0000000 --- a/docs/indexers_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index f6f2367..0000000 --- a/docs/indexers_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/indexers_8cpp__incl.md5 b/docs/indexers_8cpp__incl.md5 deleted file mode 100644 index 9da86cc..0000000 --- a/docs/indexers_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0afcada89f82d37822c8d8b7b8d4aa17 \ No newline at end of file diff --git a/docs/indexers_8cpp__incl.png b/docs/indexers_8cpp__incl.png deleted file mode 100644 index ef1fcb1..0000000 Binary files a/docs/indexers_8cpp__incl.png and /dev/null differ diff --git a/docs/is__normalized_8cpp.html b/docs/is__normalized_8cpp.html deleted file mode 100644 index 572f04d..0000000 --- a/docs/is__normalized_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index b872842..0000000 --- a/docs/is__normalized_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/is__normalized_8cpp__incl.md5 b/docs/is__normalized_8cpp__incl.md5 deleted file mode 100644 index 2791000..0000000 --- a/docs/is__normalized_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -962d42fe0a070f9b1483c4deacf6d521 \ No newline at end of file diff --git a/docs/is__normalized_8cpp__incl.png b/docs/is__normalized_8cpp__incl.png deleted file mode 100644 index 4f50ade..0000000 Binary files a/docs/is__normalized_8cpp__incl.png and /dev/null differ diff --git a/docs/is__orthogonal_8cpp.html b/docs/is__orthogonal_8cpp.html deleted file mode 100644 index 0ccd582..0000000 --- a/docs/is__orthogonal_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 8dd7052..0000000 --- a/docs/is__orthogonal_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/is__orthogonal_8cpp__incl.md5 b/docs/is__orthogonal_8cpp__incl.md5 deleted file mode 100644 index 0391c96..0000000 --- a/docs/is__orthogonal_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8e1ad9b65e7824c285d2499f0e60c95d \ No newline at end of file diff --git a/docs/is__orthogonal_8cpp__incl.png b/docs/is__orthogonal_8cpp__incl.png deleted file mode 100644 index 88a18c5..0000000 Binary files a/docs/is__orthogonal_8cpp__incl.png and /dev/null differ diff --git a/docs/is__parallel_8cpp.html b/docs/is__parallel_8cpp.html deleted file mode 100644 index 1454960..0000000 --- a/docs/is__parallel_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index c873f95..0000000 --- a/docs/is__parallel_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/is__parallel_8cpp__incl.md5 b/docs/is__parallel_8cpp__incl.md5 deleted file mode 100644 index 7889dc4..0000000 --- a/docs/is__parallel_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5a23cc765363058a7c064bb00d780e70 \ No newline at end of file diff --git a/docs/is__parallel_8cpp__incl.png b/docs/is__parallel_8cpp__incl.png deleted file mode 100644 index c98da11..0000000 Binary files a/docs/is__parallel_8cpp__incl.png and /dev/null differ diff --git a/docs/is__zero_8cpp.html b/docs/is__zero_8cpp.html deleted file mode 100644 index 77be12b..0000000 --- a/docs/is__zero_8cpp.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 6650c28..0000000 --- a/docs/is__zero_8cpp__incl.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/docs/is__zero_8cpp__incl.md5 b/docs/is__zero_8cpp__incl.md5 deleted file mode 100644 index a33c99c..0000000 --- a/docs/is__zero_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -3d83c2aaa187538b2e5de7e060b2cab0 \ No newline at end of file diff --git a/docs/is__zero_8cpp__incl.png b/docs/is__zero_8cpp__incl.png deleted file mode 100644 index 6e60977..0000000 Binary files a/docs/is__zero_8cpp__incl.png and /dev/null differ diff --git a/docs/jquery.js b/docs/jquery.js deleted file mode 100644 index 1dffb65..0000000 --- a/docs/jquery.js +++ /dev/null @@ -1,34 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+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 deleted file mode 100644 index 935d0ef..0000000 --- a/docs/latex/add_8cpp.tex +++ /dev/null @@ -1,11 +0,0 @@ -\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 deleted file mode 100644 index 6e88c20..0000000 --- a/docs/latex/add_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ce759b8a94ca309303622a6c8b872ce3 \ No newline at end of file diff --git a/docs/latex/add_8cpp__incl.pdf b/docs/latex/add_8cpp__incl.pdf deleted file mode 100644 index 71265d8..0000000 Binary files a/docs/latex/add_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/angle__with_8cpp.tex b/docs/latex/angle__with_8cpp.tex deleted file mode 100644 index cffd287..0000000 --- a/docs/latex/angle__with_8cpp.tex +++ /dev/null @@ -1,10 +0,0 @@ -\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 deleted file mode 100644 index 2287910..0000000 --- a/docs/latex/angle__with_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index aa968ba..0000000 Binary files a/docs/latex/angle__with_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex deleted file mode 100644 index a7a321b..0000000 --- a/docs/latex/annotated.tex +++ /dev/null @@ -1,4 +0,0 @@ -\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/anti__parallel_8cpp.tex b/docs/latex/anti__parallel_8cpp.tex deleted file mode 100644 index 5fb5a90..0000000 --- a/docs/latex/anti__parallel_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\doxysection{src/vector/anti\+\_\+parallel.cpp File Reference} -\hypertarget{anti__parallel_8cpp}{}\label{anti__parallel_8cpp}\index{src/vector/anti\_parallel.cpp@{src/vector/anti\_parallel.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.tex b/docs/latex/area_8cpp.tex deleted file mode 100644 index c70e5cf..0000000 --- a/docs/latex/area_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 deleted file mode 100644 index 75059eb..0000000 --- a/docs/latex/area_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a0c7dd2de3c0dce2be9aed8fba73219c \ No newline at end of file diff --git a/docs/latex/area_8cpp__incl.pdf b/docs/latex/area_8cpp__incl.pdf deleted file mode 100644 index 20104b6..0000000 Binary files a/docs/latex/area_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/classFirefly_1_1Vector.tex b/docs/latex/classFirefly_1_1Vector.tex deleted file mode 100644 index e435373..0000000 --- a/docs/latex/classFirefly_1_1Vector.tex +++ /dev/null @@ -1,740 +0,0 @@ -\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_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}} (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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_abf5885fda7e9013618a5061632d72da7}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a8132337e123e6d8247039d837f1a95a2}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a13fa6f3dc432ddc9830bd37b390e48f9}{operator+}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const -\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector addition. \end{DoxyCompactList}\item -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a0e39aebb9be36626b2bbe16931834f78}{operator+}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const -\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar addition. \end{DoxyCompactList}\item -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a6a8ef90bf1d57fee3a063baaf8d48aba}{operator++}} () const -\begin{DoxyCompactList}\small\item\em Overloaded prefix increment operator to increment all elements of the vector by one. \end{DoxyCompactList}\item -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a9efd834520ba633f91743d02c168b78d}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_ae56a7baeeccd1bb14243b63d3ff1f587}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_acb2756364e6a63c9cde2de40a8223e2e}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a553381e72381c3190406d36f0782f1b9}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a3ad2e4c70961d61802f281b440c487e1}{operator-\/}} (\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} const \&\+\_\+fvec) const -\begin{DoxyCompactList}\small\item\em Overloaded operator to perform vector subtraction. \end{DoxyCompactList}\item -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a99b6b362d4f49a3d1e99d85cc6752c7d}{operator-\/}} (\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}} const \&\+\_\+scalar) const -\begin{DoxyCompactList}\small\item\em Overloaded operator to perform scalar subtraction. \end{DoxyCompactList}\item -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a7370d444867f2e89663a4805bb07ebd3}{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{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a60e87f862a016c37d11e1de8b9218aab}{operator-\/}} () const -\begin{DoxyCompactList}\small\item\em Overload unary negation operator to negate the original vector, giving anti-\/parallel vector. \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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_a48167e21a08c591f054cd7c68756931b}{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 -\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} \mbox{\hyperlink{classFirefly_1_1Vector_ab11d85d55f38c6cd388e7c1bbeff1e59}{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_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 [1/4]}} -{\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 [2/4]}} -{\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 [3/4]}} -{\footnotesize\ttfamily Firefly\+::\+Vector\+::\+Vector (\begin{DoxyParamCaption}\item[{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 [4/4]}} -{\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_a8132337e123e6d8247039d837f1a95a2}\label{classFirefly_1_1Vector_a8132337e123e6d8247039d837f1a95a2} -\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 \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_abf5885fda7e9013618a5061632d72da7}\label{classFirefly_1_1Vector_abf5885fda7e9013618a5061632d72da7} -\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 \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_a48167e21a08c591f054cd7c68756931b}\label{classFirefly_1_1Vector_a48167e21a08c591f054cd7c68756931b} -\index{Firefly::Vector@{Firefly::Vector}!Cross@{Cross}} -\index{Cross@{Cross}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{Cross()}{Cross()}} -{\footnotesize\ttfamily \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_ab11d85d55f38c6cd388e7c1bbeff1e59}\label{classFirefly_1_1Vector_ab11d85d55f38c6cd388e7c1bbeff1e59} -\index{Firefly::Vector@{Firefly::Vector}!Normalize@{Normalize}} -\index{Normalize@{Normalize}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{Normalize()}{Normalize()}} -{\footnotesize\ttfamily \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_ae56a7baeeccd1bb14243b63d3ff1f587}\label{classFirefly_1_1Vector_ae56a7baeeccd1bb14243b63d3ff1f587} -\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 \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_a0e39aebb9be36626b2bbe16931834f78}\label{classFirefly_1_1Vector_a0e39aebb9be36626b2bbe16931834f78} -\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 \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_a13fa6f3dc432ddc9830bd37b390e48f9}\label{classFirefly_1_1Vector_a13fa6f3dc432ddc9830bd37b390e48f9} -\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 \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_a6a8ef90bf1d57fee3a063baaf8d48aba}\label{classFirefly_1_1Vector_a6a8ef90bf1d57fee3a063baaf8d48aba} -\index{Firefly::Vector@{Firefly::Vector}!operator++@{operator++}} -\index{operator++@{operator++}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}} -{\footnotesize\ttfamily \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_a60e87f862a016c37d11e1de8b9218aab}\label{classFirefly_1_1Vector_a60e87f862a016c37d11e1de8b9218aab} -\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} -\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} -{\footnotesize\ttfamily \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}} Firefly\+::\+Vector\+::operator-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Overload unary negation operator to negate the original vector, giving anti-\/parallel vector. - -It negates all components of the vector, effectively reversing its direction while keeping its magnitude unchanged. The resulting vector points in the opposite direction of the original vector. - -For a 2D vector v = (x, y), the negation -\/v = (-\/x, -\/y). For a 3D vector v = (x, y, z), the negation -\/v = (-\/x, -\/y, -\/z). - -\begin{DoxyNote}{Note} -The original \doxylink{classFirefly_1_1Vector}{Vector} object remains unchanged after using this operator. -\end{DoxyNote} -\begin{DoxyReturn}{Returns} -A new \doxylink{classFirefly_1_1Vector}{Vector} object with all components negated. -\end{DoxyReturn} -\Hypertarget{classFirefly_1_1Vector_a99b6b362d4f49a3d1e99d85cc6752c7d}\label{classFirefly_1_1Vector_a99b6b362d4f49a3d1e99d85cc6752c7d} -\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} -\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} -{\footnotesize\ttfamily \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_a3ad2e4c70961d61802f281b440c487e1}\label{classFirefly_1_1Vector_a3ad2e4c70961d61802f281b440c487e1} -\index{Firefly::Vector@{Firefly::Vector}!operator-\/@{operator-\/}} -\index{operator-\/@{operator-\/}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} -{\footnotesize\ttfamily \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_a7370d444867f2e89663a4805bb07ebd3}\label{classFirefly_1_1Vector_a7370d444867f2e89663a4805bb07ebd3} -\index{Firefly::Vector@{Firefly::Vector}!operator-\/-\/@{operator-\/-\/}} -\index{operator-\/-\/@{operator-\/-\/}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}} -{\footnotesize\ttfamily \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_a9efd834520ba633f91743d02c168b78d}\label{classFirefly_1_1Vector_a9efd834520ba633f91743d02c168b78d} -\index{Firefly::Vector@{Firefly::Vector}!Scale@{Scale}} -\index{Scale@{Scale}!Firefly::Vector@{Firefly::Vector}} -\doxysubsubsection{\texorpdfstring{Scale()}{Scale()}} -{\footnotesize\ttfamily \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_a553381e72381c3190406d36f0782f1b9}\label{classFirefly_1_1Vector_a553381e72381c3190406d36f0782f1b9} -\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 \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_acb2756364e6a63c9cde2de40a8223e2e}\label{classFirefly_1_1Vector_acb2756364e6a63c9cde2de40a8223e2e} -\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 \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{anti__parallel_8cpp}{anti\+\_\+parallel.\+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 deleted file mode 100644 index ee10088..0000000 --- a/docs/latex/classFirefly_1_1Vector__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 82b1120..0000000 Binary files a/docs/latex/classFirefly_1_1Vector__coll__graph.pdf and /dev/null differ diff --git a/docs/latex/cross_8cpp.tex b/docs/latex/cross_8cpp.tex deleted file mode 100644 index fb5debd..0000000 --- a/docs/latex/cross_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 deleted file mode 100644 index 7dce9dd..0000000 --- a/docs/latex/cross_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -afea08ddc417012317dde55265c08f2d \ No newline at end of file diff --git a/docs/latex/cross_8cpp__incl.pdf b/docs/latex/cross_8cpp__incl.pdf deleted file mode 100644 index d14b93b..0000000 Binary files a/docs/latex/cross_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d0/dc0/subtract_8cpp.tex b/docs/latex/d0/dc0/subtract_8cpp.tex deleted file mode 100644 index 6ebba94..0000000 --- a/docs/latex/d0/dc0/subtract_8cpp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\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 -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 deleted file mode 100644 index 87e30d7..0000000 --- a/docs/latex/d1/df0/is__orthogonal_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index bb33307..0000000 Binary files a/docs/latex/d1/df0/is__orthogonal_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d3/d3c/cross_8cpp__incl.md5 b/docs/latex/d3/d3c/cross_8cpp__incl.md5 deleted file mode 100644 index 86d86cc..0000000 --- a/docs/latex/d3/d3c/cross_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5d12277d8068ff858da7f20d27878d1f \ No newline at end of file diff --git a/docs/latex/d3/d3c/cross_8cpp__incl.pdf b/docs/latex/d3/d3c/cross_8cpp__incl.pdf deleted file mode 100644 index 8dda769..0000000 Binary files a/docs/latex/d3/d3c/cross_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d3/d4d/angle__with_8cpp.tex b/docs/latex/d3/d4d/angle__with_8cpp.tex deleted file mode 100644 index edce189..0000000 --- a/docs/latex/d3/d4d/angle__with_8cpp.tex +++ /dev/null @@ -1,17 +0,0 @@ -\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 deleted file mode 100644 index 42129eb..0000000 --- a/docs/latex/d3/d61/rank_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 3ccd5ab..0000000 --- a/docs/latex/d4/d1b/vector_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 3559b16..0000000 --- a/docs/latex/d4/d8b/scale_8cpp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\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 deleted file mode 100644 index 280bd3e..0000000 --- a/docs/latex/d4/da0/area_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index f850733..0000000 Binary files a/docs/latex/d4/da0/area_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d5/d8f/rank_8cpp__incl.md5 b/docs/latex/d5/d8f/rank_8cpp__incl.md5 deleted file mode 100644 index cc49325..0000000 --- a/docs/latex/d5/d8f/rank_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 49cdeda..0000000 Binary files a/docs/latex/d5/d8f/rank_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d6/d5c/is__normalized_8cpp.tex b/docs/latex/d6/d5c/is__normalized_8cpp.tex deleted file mode 100644 index 6ccf8b9..0000000 --- a/docs/latex/d6/d5c/is__normalized_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 0afb724..0000000 --- a/docs/latex/d6/d83/CMakeCXXCompilerId_8cpp.tex +++ /dev/null @@ -1,196 +0,0 @@ -\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 deleted file mode 100644 index e331760..0000000 --- a/docs/latex/d6/dbc/namespaceFirefly.tex +++ /dev/null @@ -1,45 +0,0 @@ -\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 deleted file mode 100644 index efe7e37..0000000 --- a/docs/latex/d7/d02/is__parallel_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index abd7191..0000000 Binary files a/docs/latex/d7/d02/is__parallel_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d7/d7e/elem__sum_8cpp.tex b/docs/latex/d7/d7e/elem__sum_8cpp.tex deleted file mode 100644 index d059b71..0000000 --- a/docs/latex/d7/d7e/elem__sum_8cpp.tex +++ /dev/null @@ -1,17 +0,0 @@ -\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 -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 deleted file mode 100644 index d663b28..0000000 --- a/docs/latex/d7/d82/add_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 8e25135..0000000 Binary files a/docs/latex/d7/d82/add_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d8/d18/subtract_8cpp__incl.md5 b/docs/latex/d8/d18/subtract_8cpp__incl.md5 deleted file mode 100644 index 20e6e91..0000000 --- a/docs/latex/d8/d18/subtract_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index b94516d..0000000 Binary files a/docs/latex/d8/d18/subtract_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d8/d78/scale_8cpp__incl.md5 b/docs/latex/d8/d78/scale_8cpp__incl.md5 deleted file mode 100644 index 08de5ee..0000000 --- a/docs/latex/d8/d78/scale_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index f7860c4..0000000 Binary files a/docs/latex/d8/d78/scale_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 b/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 deleted file mode 100644 index 373ff3b..0000000 --- a/docs/latex/d8/dc3/magnitude_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 9667d5d..0000000 Binary files a/docs/latex/d8/dc3/magnitude_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d9/d1c/dot_8cpp__incl.md5 b/docs/latex/d9/d1c/dot_8cpp__incl.md5 deleted file mode 100644 index 5b27ab0..0000000 --- a/docs/latex/d9/d1c/dot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index c5c0a48..0000000 Binary files a/docs/latex/d9/d1c/dot_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/d9/d8b/is__parallel_8cpp.tex b/docs/latex/d9/d8b/is__parallel_8cpp.tex deleted file mode 100644 index d690441..0000000 --- a/docs/latex/d9/d8b/is__parallel_8cpp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\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 deleted file mode 100644 index 2b78002..0000000 --- a/docs/latex/d9/dae/is__zero_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 92f54e8..0000000 Binary files a/docs/latex/d9/dae/is__zero_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/da/d16/vector_8hpp.tex b/docs/latex/da/d16/vector_8hpp.tex deleted file mode 100644 index a0fb37c..0000000 --- a/docs/latex/da/d16/vector_8hpp.tex +++ /dev/null @@ -1,47 +0,0 @@ -\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 deleted file mode 100644 index 1d5927f..0000000 --- a/docs/latex/da/d16/vector_8hpp_source.tex +++ /dev/null @@ -1,86 +0,0 @@ -\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 deleted file mode 100644 index 024c611..0000000 --- a/docs/latex/da/d19/indexers_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 715b517..0000000 Binary files a/docs/latex/da/d19/indexers_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/da/d60/is__zero_8cpp.tex b/docs/latex/da/d60/is__zero_8cpp.tex deleted file mode 100644 index ba490fc..0000000 --- a/docs/latex/da/d60/is__zero_8cpp.tex +++ /dev/null @@ -1,17 +0,0 @@ -\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 deleted file mode 100644 index a8d429a..0000000 --- a/docs/latex/da/dce/main_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 0c37591..0000000 Binary files a/docs/latex/da/dce/main_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/db/d23/classFirefly_1_1Vector.tex b/docs/latex/db/d23/classFirefly_1_1Vector.tex deleted file mode 100644 index 3bf2b91..0000000 --- a/docs/latex/db/d23/classFirefly_1_1Vector.tex +++ /dev/null @@ -1,734 +0,0 @@ -\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$>$} - - - -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 deleted file mode 100644 index cb681e9..0000000 --- a/docs/latex/db/db7/angle__with_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 09782d1..0000000 Binary files a/docs/latex/db/db7/angle__with_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/dc/d19/magnitude_8cpp.tex b/docs/latex/dc/d19/magnitude_8cpp.tex deleted file mode 100644 index 46338b1..0000000 --- a/docs/latex/dc/d19/magnitude_8cpp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\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 -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 deleted file mode 100644 index 890bba0..0000000 --- a/docs/latex/dc/d23/is__orthogonal_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 430dbd5..0000000 --- a/docs/latex/dc/d82/area_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index ca789b7..0000000 --- a/docs/latex/dc/dca/vector_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index a16f058..0000000 Binary files a/docs/latex/dc/dca/vector_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 b/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 deleted file mode 100644 index c646f59..0000000 --- a/docs/latex/dc/de6/elem__sum_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 7091f7d..0000000 Binary files a/docs/latex/dc/de6/elem__sum_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/dc/df8/test_8cpp__incl.md5 b/docs/latex/dc/df8/test_8cpp__incl.md5 deleted file mode 100644 index 15d76c9..0000000 --- a/docs/latex/dc/df8/test_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 22659b0..0000000 Binary files a/docs/latex/dc/df8/test_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/dc/df8/view_8cpp__incl.md5 b/docs/latex/dc/df8/view_8cpp__incl.md5 deleted file mode 100644 index acd5d86..0000000 --- a/docs/latex/dc/df8/view_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -711ad665b8781179038a32c19902b76e \ No newline at end of file diff --git a/docs/latex/dc/df8/view_8cpp__incl.pdf b/docs/latex/dc/df8/view_8cpp__incl.pdf deleted file mode 100644 index 92c13a1..0000000 Binary files a/docs/latex/dc/df8/view_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/dd/d1c/indexers_8cpp.tex b/docs/latex/dd/d1c/indexers_8cpp.tex deleted file mode 100644 index f8da83d..0000000 --- a/docs/latex/dd/d1c/indexers_8cpp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\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 -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 deleted file mode 100644 index ee10088..0000000 --- a/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index eec640f..0000000 Binary files a/docs/latex/dd/d5d/classFirefly_1_1Vector__coll__graph.pdf and /dev/null differ diff --git a/docs/latex/dd/d8c/cross_8cpp.tex b/docs/latex/dd/d8c/cross_8cpp.tex deleted file mode 100644 index 1cd2839..0000000 --- a/docs/latex/dd/d8c/cross_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 -Include dependency graph for cross.\+cpp\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=347pt]{d3/d3c/cross_8cpp__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} -\end{DoxyCompactItemize} diff --git a/docs/latex/dd/dc2/view_8cpp.tex b/docs/latex/dd/dc2/view_8cpp.tex deleted file mode 100644 index 9a53ac6..0000000 --- a/docs/latex/dd/dc2/view_8cpp.tex +++ /dev/null @@ -1,21 +0,0 @@ -\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 -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 deleted file mode 100644 index d683b09..0000000 --- a/docs/latex/de/d9b/normalize_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 3ba1b60..0000000 Binary files a/docs/latex/de/d9b/normalize_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/de/daa/dot_8cpp.tex b/docs/latex/de/daa/dot_8cpp.tex deleted file mode 100644 index 2fac2fe..0000000 --- a/docs/latex/de/daa/dot_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 5a10bbd..0000000 --- a/docs/latex/de/daf/normalize_8cpp.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index dcc3215..0000000 --- a/docs/latex/de/dc4/vector_8hpp__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index ae338ae..0000000 Binary files a/docs/latex/de/dc4/vector_8hpp__dep__incl.pdf and /dev/null differ diff --git a/docs/latex/de/de7/add_8cpp.tex b/docs/latex/de/de7/add_8cpp.tex deleted file mode 100644 index 5c99153..0000000 --- a/docs/latex/de/de7/add_8cpp.tex +++ /dev/null @@ -1,18 +0,0 @@ -\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 -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 deleted file mode 100644 index 24dbbad..0000000 --- a/docs/latex/df/d03/is__normalized_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 60f9751..0000000 Binary files a/docs/latex/df/d03/is__normalized_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/df/d0a/main_8cpp.tex b/docs/latex/df/d0a/main_8cpp.tex deleted file mode 100644 index bc741a6..0000000 --- a/docs/latex/df/d0a/main_8cpp.tex +++ /dev/null @@ -1,28 +0,0 @@ -\doxysection{examples/main.cpp File Reference} -\hypertarget{main_8cpp}{}\label{main_8cpp}\index{examples/main.cpp@{examples/main.cpp}} -{\ttfamily \#include $<$algorithm$>$}\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 deleted file mode 100644 index 7d0c9e2..0000000 --- a/docs/latex/df/d29/vector_8hpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 1b85a3e..0000000 Binary files a/docs/latex/df/d29/vector_8hpp__incl.pdf and /dev/null differ diff --git a/docs/latex/df/dac/test_8cpp.tex b/docs/latex/df/dac/test_8cpp.tex deleted file mode 100644 index c1faaf9..0000000 --- a/docs/latex/df/dac/test_8cpp.tex +++ /dev/null @@ -1,28 +0,0 @@ -\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 deleted file mode 100644 index 7e1ea65..0000000 --- a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6.tex +++ /dev/null @@ -1,43 +0,0 @@ -\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{anti__parallel_8cpp}{anti\+\_\+parallel.\+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 deleted file mode 100644 index 941450d..0000000 --- a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -e808acbcee4d1dbda9a3540eea1fd932 \ No newline at end of file diff --git a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf b/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf deleted file mode 100644 index 4abe6c9..0000000 Binary files a/docs/latex/dir_0baa9f3d984dd29d1429171590d769d6_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex b/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex deleted file mode 100644 index 196700c..0000000 --- a/docs/latex/dir_4fef79e7177ba769987a8da36c892c5f.tex +++ /dev/null @@ -1,7 +0,0 @@ -\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 deleted file mode 100644 index 9e30a94..0000000 --- a/docs/latex/dir_59425e443f801f1f2fd8bbe4959a3ccf.tex +++ /dev/null @@ -1,7 +0,0 @@ -\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 deleted file mode 100644 index 4a9c3a8..0000000 --- a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 8a6aac8..0000000 --- a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -286ef75de08af8b2ecaf4470232e9e8d \ No newline at end of file diff --git a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf b/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf deleted file mode 100644 index 5a0c2ec..0000000 Binary files a/docs/latex/dir_63772b626f2709090f0bdca0f40827b4_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex deleted file mode 100644 index ae20ac9..0000000 --- a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex +++ /dev/null @@ -1,7 +0,0 @@ -\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 deleted file mode 100644 index 9c4970d..0000000 --- a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -a676ba070fa7fd00f3b18a161974a366 \ No newline at end of file diff --git a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf b/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf deleted file mode 100644 index 6d389d6..0000000 Binary files a/docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex b/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex deleted file mode 100644 index 6eb32ba..0000000 --- a/docs/latex/dir_6974064bec986529c9a68c7c75e571af.tex +++ /dev/null @@ -1,15 +0,0 @@ -\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 deleted file mode 100644 index 7fd46f0..0000000 --- a/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -01e8a635246c378cc5c61052bbbf6ebe \ No newline at end of file diff --git a/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf b/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf deleted file mode 100644 index 452e97a..0000000 Binary files a/docs/latex/dir_6974064bec986529c9a68c7c75e571af_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.tex b/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.tex deleted file mode 100644 index 545e720..0000000 --- a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6.tex +++ /dev/null @@ -1,7 +0,0 @@ -\doxysection{headers/firefly Directory Reference} -\hypertarget{dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6}{}\label{dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6}\index{headers/firefly Directory Reference@{headers/firefly Directory Reference}} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{vector_8hpp}{vector.\+hpp}} -\end{DoxyCompactItemize} diff --git a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 b/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 deleted file mode 100644 index 682916b..0000000 --- a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -019f65e35db6aee8bc89c467f0154e68 \ No newline at end of file diff --git a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.pdf b/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.pdf deleted file mode 100644 index b10b0b6..0000000 Binary files a/docs/latex/dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b.tex b/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b.tex deleted file mode 100644 index bafb22a..0000000 --- a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b.tex +++ /dev/null @@ -1,15 +0,0 @@ -\doxysection{build/\+CMake\+Files/3.26.4 Directory Reference} -\hypertarget{dir_713acbf0246a22292b4b09ce6f71bf4b}{}\label{dir_713acbf0246a22292b4b09ce6f71bf4b}\index{build/CMakeFiles/3.26.4 Directory Reference@{build/CMakeFiles/3.26.4 Directory Reference}} -Directory dependency graph for 3.26.4\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=282pt]{dir_713acbf0246a22292b4b09ce6f71bf4b_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_6974064bec986529c9a68c7c75e571af}{Compiler\+Id\+CXX}} -\end{DoxyCompactItemize} diff --git a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 b/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 deleted file mode 100644 index d2537a3..0000000 --- a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c172f5db263af2a98b9cbd09b1d53133 \ No newline at end of file diff --git a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.pdf b/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.pdf deleted file mode 100644 index 4ac846d..0000000 Binary files a/docs/latex/dir_713acbf0246a22292b4b09ce6f71bf4b_dep.pdf and /dev/null differ diff --git a/docs/latex/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.tex b/docs/latex/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.tex deleted file mode 100644 index 398b202..0000000 --- a/docs/latex/dir_7f57b1e41c5acd0e859ae5f3a2b075a9.tex +++ /dev/null @@ -1,7 +0,0 @@ -\doxysection{headers Directory Reference} -\hypertarget{dir_7f57b1e41c5acd0e859ae5f3a2b075a9}{}\label{dir_7f57b1e41c5acd0e859ae5f3a2b075a9}\index{headers Directory Reference@{headers Directory Reference}} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_6a85b2dc5fcef8d1d6a391f1bd25b4d6}{firefly}} -\end{DoxyCompactItemize} diff --git a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4.tex b/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4.tex deleted file mode 100644 index e301db7..0000000 --- a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4.tex +++ /dev/null @@ -1,15 +0,0 @@ -\doxysection{examples Directory Reference} -\hypertarget{dir_d28a4824dc47e487b107a5db32ef43c4}{}\label{dir_d28a4824dc47e487b107a5db32ef43c4}\index{examples Directory Reference@{examples Directory Reference}} -Directory dependency graph for examples\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=144pt]{dir_d28a4824dc47e487b107a5db32ef43c4_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{main_8cpp}{main.\+cpp}} -\end{DoxyCompactItemize} diff --git a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 b/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 deleted file mode 100644 index 6175dbd..0000000 --- a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -9db9d0585b4b9c39ccfd9584f807820a \ No newline at end of file diff --git a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.pdf b/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.pdf deleted file mode 100644 index 13a547d..0000000 Binary files a/docs/latex/dir_d28a4824dc47e487b107a5db32ef43c4_dep.pdf and /dev/null differ diff --git a/docs/latex/dot_8cpp.tex b/docs/latex/dot_8cpp.tex deleted file mode 100644 index 727c3ed..0000000 --- a/docs/latex/dot_8cpp.tex +++ /dev/null @@ -1,10 +0,0 @@ -\doxysection{src/vector/dot.cpp File Reference} -\hypertarget{dot_8cpp}{}\label{dot_8cpp}\index{src/vector/dot.cpp@{src/vector/dot.cpp}} -{\ttfamily \#include $<$iostream$>$}\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/dot_8cpp__incl.md5 b/docs/latex/dot_8cpp__incl.md5 deleted file mode 100644 index 661731f..0000000 --- a/docs/latex/dot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ee8b9b64b5cdd3b89d0dc727482a56af \ No newline at end of file diff --git a/docs/latex/dot_8cpp__incl.pdf b/docs/latex/dot_8cpp__incl.pdf deleted file mode 100644 index 7296e76..0000000 Binary files a/docs/latex/dot_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/doxygen.sty b/docs/latex/doxygen.sty deleted file mode 100644 index 4bfc17f..0000000 --- a/docs/latex/doxygen.sty +++ /dev/null @@ -1,694 +0,0 @@ -\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 deleted file mode 100644 index 21df346..0000000 --- a/docs/latex/elem__sum_8cpp.tex +++ /dev/null @@ -1,10 +0,0 @@ -\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 deleted file mode 100644 index ae32336..0000000 --- a/docs/latex/elem__sum_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 53e238e..0000000 Binary files a/docs/latex/elem__sum_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/etoc_doxygen.sty b/docs/latex/etoc_doxygen.sty deleted file mode 100644 index 8663b1b..0000000 --- a/docs/latex/etoc_doxygen.sty +++ /dev/null @@ -1,2182 +0,0 @@ -%% -%% 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 deleted file mode 100644 index e3e3b1f..0000000 --- a/docs/latex/files.tex +++ /dev/null @@ -1,23 +0,0 @@ -\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{anti__parallel_8cpp}{anti\+\_\+parallel.\+cpp}} }{\pageref{anti__parallel_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 deleted file mode 100644 index f165343..0000000 --- a/docs/latex/indexers_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\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 deleted file mode 100644 index 9a97297..0000000 --- a/docs/latex/indexers_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7456b4d26bcec4cca4d7c87d13e5791a \ No newline at end of file diff --git a/docs/latex/indexers_8cpp__incl.pdf b/docs/latex/indexers_8cpp__incl.pdf deleted file mode 100644 index a319619..0000000 Binary files a/docs/latex/indexers_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/is__normalized_8cpp.tex b/docs/latex/is__normalized_8cpp.tex deleted file mode 100644 index 68fcd54..0000000 --- a/docs/latex/is__normalized_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 deleted file mode 100644 index 33b10e5..0000000 --- a/docs/latex/is__normalized_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 269090e..0000000 Binary files a/docs/latex/is__normalized_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/is__orthogonal_8cpp.tex b/docs/latex/is__orthogonal_8cpp.tex deleted file mode 100644 index ff61992..0000000 --- a/docs/latex/is__orthogonal_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} -\end{DoxyCompactItemize} diff --git a/docs/latex/is__orthogonal_8cpp__incl.md5 b/docs/latex/is__orthogonal_8cpp__incl.md5 deleted file mode 100644 index 64f379a..0000000 --- a/docs/latex/is__orthogonal_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -77fd236d8a75f1d8f56bc915599bf648 \ No newline at end of file diff --git a/docs/latex/is__orthogonal_8cpp__incl.pdf b/docs/latex/is__orthogonal_8cpp__incl.pdf deleted file mode 100644 index aa381ed..0000000 Binary files a/docs/latex/is__orthogonal_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/is__parallel_8cpp.tex b/docs/latex/is__parallel_8cpp.tex deleted file mode 100644 index 9a58af8..0000000 --- a/docs/latex/is__parallel_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\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 deleted file mode 100644 index 0f3ae2d..0000000 --- a/docs/latex/is__parallel_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 27f95df..0000000 Binary files a/docs/latex/is__parallel_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/is__zero_8cpp.tex b/docs/latex/is__zero_8cpp.tex deleted file mode 100644 index aa41af4..0000000 --- a/docs/latex/is__zero_8cpp.tex +++ /dev/null @@ -1,10 +0,0 @@ -\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 -\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 deleted file mode 100644 index 29b8a41..0000000 --- a/docs/latex/is__zero_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 60048fd..0000000 Binary files a/docs/latex/is__zero_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/longtable_doxygen.sty b/docs/latex/longtable_doxygen.sty deleted file mode 100644 index e94b78b..0000000 --- a/docs/latex/longtable_doxygen.sty +++ /dev/null @@ -1,456 +0,0 @@ -%% -%% This is file `longtable.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% longtable.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% The source is maintained by the LaTeX Project team and bug -%% reports for it can be opened at http://latex-project.org/bugs.html -%% (but please observe conditions on bug reports sent to that address!) -%% -%% Copyright 1993-2016 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% 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 -%% and version 1.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{longtable_doxygen} - [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen] -\def\LT@err{\PackageError{longtable}} -\def\LT@warn{\PackageWarning{longtable}} -\def\LT@final@warn{% - \AtEndDocument{% - \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}% - \global\let\LT@final@warn\relax} -\DeclareOption{errorshow}{% - \def\LT@warn{\PackageInfo{longtable}}} -\DeclareOption{pausing}{% - \def\LT@warn#1{% - \LT@err{#1}{This is not really an error}}} -\DeclareOption{set}{} -\DeclareOption{final}{} -\ProcessOptions -\newskip\LTleft \LTleft=\fill -\newskip\LTright \LTright=\fill -\newskip\LTpre \LTpre=\bigskipamount -\newskip\LTpost \LTpost=\bigskipamount -\newcount\LTchunksize \LTchunksize=20 -\let\c@LTchunksize\LTchunksize -\newdimen\LTcapwidth \LTcapwidth=4in -\newbox\LT@head -\newbox\LT@firsthead -\newbox\LT@foot -\newbox\LT@lastfoot -\newcount\LT@cols -\newcount\LT@rows -\newcounter{LT@tables} -\newcounter{LT@chunks}[LT@tables] -\ifx\c@table\undefined - \newcounter{table} - \def\fnum@table{\tablename~\thetable} -\fi -\ifx\tablename\undefined - \def\tablename{Table} -\fi -\newtoks\LT@p@ftn -\mathchardef\LT@end@pen=30000 -\def\longtable{% - \par - \ifx\multicols\@undefined - \else - \ifnum\col@number>\@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 deleted file mode 100644 index 2975f9f..0000000 --- a/docs/latex/magnitude_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\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 deleted file mode 100644 index 1f7bc90..0000000 --- a/docs/latex/magnitude_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ca674ac36cb13430b46632b8fb2b947e \ No newline at end of file diff --git a/docs/latex/magnitude_8cpp__incl.pdf b/docs/latex/magnitude_8cpp__incl.pdf deleted file mode 100644 index 28aa0f6..0000000 Binary files a/docs/latex/magnitude_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/namespaceFirefly.tex b/docs/latex/namespaceFirefly.tex deleted file mode 100644 index ad44991..0000000 --- a/docs/latex/namespaceFirefly.tex +++ /dev/null @@ -1,31 +0,0 @@ -\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*{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{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 deleted file mode 100644 index 316562a..0000000 --- a/docs/latex/namespaces.tex +++ /dev/null @@ -1,4 +0,0 @@ -\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 deleted file mode 100644 index 76738cf..0000000 --- a/docs/latex/normalize_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 deleted file mode 100644 index e503020..0000000 --- a/docs/latex/normalize_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -cc7218e273dd106b85981224cab6808e \ No newline at end of file diff --git a/docs/latex/normalize_8cpp__incl.pdf b/docs/latex/normalize_8cpp__incl.pdf deleted file mode 100644 index 321a441..0000000 Binary files a/docs/latex/normalize_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/rank_8cpp.tex b/docs/latex/rank_8cpp.tex deleted file mode 100644 index 90353a3..0000000 --- a/docs/latex/rank_8cpp.tex +++ /dev/null @@ -1,8 +0,0 @@ -\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 -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceFirefly}{Firefly}} -\end{DoxyCompactItemize} diff --git a/docs/latex/rank_8cpp__incl.md5 b/docs/latex/rank_8cpp__incl.md5 deleted file mode 100644 index 429a88a..0000000 --- a/docs/latex/rank_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -73a698ebeecfe204aa3870896a06a506 \ No newline at end of file diff --git a/docs/latex/rank_8cpp__incl.pdf b/docs/latex/rank_8cpp__incl.pdf deleted file mode 100644 index 522028d..0000000 Binary files a/docs/latex/rank_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex deleted file mode 100644 index f2b32dd..0000000 --- a/docs/latex/refman.tex +++ /dev/null @@ -1,251 +0,0 @@ - % 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{anti__parallel_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 deleted file mode 100644 index d044182..0000000 --- a/docs/latex/scale_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\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 deleted file mode 100644 index 0ebd7b1..0000000 --- a/docs/latex/scale_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -df55ab7ee03bdc9240bfd3c26d3d792c \ No newline at end of file diff --git a/docs/latex/scale_8cpp__incl.pdf b/docs/latex/scale_8cpp__incl.pdf deleted file mode 100644 index 13e336f..0000000 Binary files a/docs/latex/scale_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/subtract_8cpp.tex b/docs/latex/subtract_8cpp.tex deleted file mode 100644 index d804346..0000000 --- a/docs/latex/subtract_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\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 deleted file mode 100644 index de5401d..0000000 --- a/docs/latex/subtract_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -384410bf3d041992218cbeb2496fdbb9 \ No newline at end of file diff --git a/docs/latex/subtract_8cpp__incl.pdf b/docs/latex/subtract_8cpp__incl.pdf deleted file mode 100644 index ad41d76..0000000 Binary files a/docs/latex/subtract_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/tabu_doxygen.sty b/docs/latex/tabu_doxygen.sty deleted file mode 100644 index 3f17d1d..0000000 --- a/docs/latex/tabu_doxygen.sty +++ /dev/null @@ -1,2557 +0,0 @@ -%% -%% 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 deleted file mode 100644 index 3c5dbd9..0000000 --- a/docs/latex/vector_8cpp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\doxysection{src/vector/vector.cpp File Reference} -\hypertarget{vector_8cpp}{}\label{vector_8cpp}\index{src/vector/vector.cpp@{src/vector/vector.cpp}} -{\ttfamily \#include $<$utility$>$}\newline -{\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 deleted file mode 100644 index bd456db..0000000 --- a/docs/latex/vector_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4a8b338566625de853e809bb35ea82a9 \ No newline at end of file diff --git a/docs/latex/vector_8cpp__incl.pdf b/docs/latex/vector_8cpp__incl.pdf deleted file mode 100644 index 56b70c4..0000000 Binary files a/docs/latex/vector_8cpp__incl.pdf and /dev/null differ diff --git a/docs/latex/vector_8hpp.tex b/docs/latex/vector_8hpp.tex deleted file mode 100644 index 82f69f6..0000000 --- a/docs/latex/vector_8hpp.tex +++ /dev/null @@ -1,29 +0,0 @@ -\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 $<$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 -\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 deleted file mode 100644 index 0c71062..0000000 --- a/docs/latex/vector_8hpp__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 57bda6d..0000000 Binary files a/docs/latex/vector_8hpp__dep__incl.pdf and /dev/null differ diff --git a/docs/latex/vector_8hpp__incl.md5 b/docs/latex/vector_8hpp__incl.md5 deleted file mode 100644 index 7d0c9e2..0000000 --- a/docs/latex/vector_8hpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9af0abec8d05ecc690a24e5d4de4eba7 \ No newline at end of file diff --git a/docs/latex/vector_8hpp__incl.pdf b/docs/latex/vector_8hpp__incl.pdf deleted file mode 100644 index b155f07..0000000 Binary files a/docs/latex/vector_8hpp__incl.pdf and /dev/null differ diff --git a/docs/latex/vector_8hpp_source.tex b/docs/latex/vector_8hpp_source.tex deleted file mode 100644 index 8747a46..0000000 --- a/docs/latex/vector_8hpp_source.tex +++ /dev/null @@ -1,88 +0,0 @@ -\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\ } -\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#ifdef\ DOUBLE\_PRECISION}} -\DoxyCodeLine{00008\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ double;} -\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#else}} -\DoxyCodeLine{00010\ \textcolor{keyword}{using\ }\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ =\ float;} -\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#endif}} -\DoxyCodeLine{00012\ } -\DoxyCodeLine{00013\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceFirefly}{Firefly}}\ \{} -\DoxyCodeLine{00014\ } -\DoxyCodeLine{00023\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \{} -\DoxyCodeLine{00024\ \ \ \textcolor{keyword}{using\ }VectorType\ =\ std::vector;} -\DoxyCodeLine{00025\ } -\DoxyCodeLine{00026\ \ \ VectorType\ m\_vec;} -\DoxyCodeLine{00027\ \ \ \mbox{\hyperlink{classFirefly_1_1Vector_a9d891d28b999dd8c714b5bb5a7524546}{Vector}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \&\&);} -\DoxyCodeLine{00028\ } -\DoxyCodeLine{00029\ \textcolor{keyword}{public}:} -\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}}(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]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_abf5885fda7e9013618a5061632d72da7}{Add}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00121\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_abf5885fda7e9013618a5061632d72da7}{Add}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00128\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a13fa6f3dc432ddc9830bd37b390e48f9}{operator+}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00135\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a13fa6f3dc432ddc9830bd37b390e48f9}{operator+}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00141\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a6a8ef90bf1d57fee3a063baaf8d48aba}{operator++}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00142\ } -\DoxyCodeLine{00149\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a9efd834520ba633f91743d02c168b78d}{Scale}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00150\ } -\DoxyCodeLine{00156\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_ae56a7baeeccd1bb14243b63d3ff1f587}{operator*}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00157\ } -\DoxyCodeLine{00165\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_acb2756364e6a63c9cde2de40a8223e2e}{Subtract}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00173\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_acb2756364e6a63c9cde2de40a8223e2e}{Subtract}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00180\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a60e87f862a016c37d11e1de8b9218aab}{operator-\/}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00187\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a60e87f862a016c37d11e1de8b9218aab}{operator-\/}}(\mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \textcolor{keyword}{const}\ \&\_scalar)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00193\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a7370d444867f2e89663a4805bb07ebd3}{operator-\/-\/}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00194\ } -\DoxyCodeLine{00211\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a60e87f862a016c37d11e1de8b9218aab}{operator-\/}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00212\ } -\DoxyCodeLine{00218\ \ \ [[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{00219\ } -\DoxyCodeLine{00227\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a48167e21a08c591f054cd7c68756931b}{Cross}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec)\ \textcolor{keyword}{const};} -\DoxyCodeLine{00228\ } -\DoxyCodeLine{00233\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_a91561630255fe0fa7157d3a1b53cb77c}{ElemSum}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00234\ } -\DoxyCodeLine{00239\ \ \ [[nodiscard]]\ \mbox{\hyperlink{vector_8hpp_a6baabe9790f3842ab73110ab342c5c5e}{Real}}\ \mbox{\hyperlink{classFirefly_1_1Vector_af8ffbd82ae9988937590365cd385717d}{Magnitude}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00240\ } -\DoxyCodeLine{00245\ \ \ [[nodiscard]]\ \mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \mbox{\hyperlink{classFirefly_1_1Vector_ab11d85d55f38c6cd388e7c1bbeff1e59}{Normalize}}()\ \textcolor{keyword}{const};} -\DoxyCodeLine{00246\ } -\DoxyCodeLine{00253\ \ \ [[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{00254\ } -\DoxyCodeLine{00259\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a8a3ba8dc777081c231f00e2b979b75bd}{IsZero}}();} -\DoxyCodeLine{00260\ } -\DoxyCodeLine{00266\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_a744f4a93c3c35a1d5bf86abda8b2405c}{IsNormalized}}();} -\DoxyCodeLine{00278\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_aea4a8b7cd46343f3270c4994829fe3bc}{IsParallel}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} -\DoxyCodeLine{00289\ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classFirefly_1_1Vector_abb15777d3b6b9f87640245dac39144f0}{IsOrthogonal}}(\mbox{\hyperlink{classFirefly_1_1Vector}{Vector}}\ \textcolor{keyword}{const}\ \&\_fvec);} -\DoxyCodeLine{00290\ } -\DoxyCodeLine{00297\ \ \ [[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{00304\ \ \ [[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{00305\ \};} -\DoxyCodeLine{00306\ } -\DoxyCodeLine{00307\ \}\ \textcolor{comment}{//\ namespace\ Firefly}} - -\end{DoxyCode} diff --git a/docs/latex/view_8cpp.tex b/docs/latex/view_8cpp.tex deleted file mode 100644 index 89ea09c..0000000 --- a/docs/latex/view_8cpp.tex +++ /dev/null @@ -1,14 +0,0 @@ -\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 deleted file mode 100644 index 9c9c7ec..0000000 --- a/docs/latex/view_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6868618c749fac61fc427188b3a3e2a5 \ No newline at end of file diff --git a/docs/latex/view_8cpp__incl.pdf b/docs/latex/view_8cpp__incl.pdf deleted file mode 100644 index c92e0c0..0000000 Binary files a/docs/latex/view_8cpp__incl.pdf and /dev/null differ diff --git a/docs/magnitude_8cpp.html b/docs/magnitude_8cpp.html deleted file mode 100644 index a110477..0000000 --- a/docs/magnitude_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -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"
-
- - - -

-Namespaces

namespace  Firefly
 
-
- - - - diff --git a/docs/magnitude_8cpp__incl.map b/docs/magnitude_8cpp__incl.map deleted file mode 100644 index 7f9099f..0000000 --- a/docs/magnitude_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/magnitude_8cpp__incl.md5 b/docs/magnitude_8cpp__incl.md5 deleted file mode 100644 index c66faf1..0000000 --- a/docs/magnitude_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0e6f225384bc113ac992cc32c25ee34d \ No newline at end of file diff --git a/docs/magnitude_8cpp__incl.png b/docs/magnitude_8cpp__incl.png deleted file mode 100644 index 95a39a7..0000000 Binary files a/docs/magnitude_8cpp__incl.png and /dev/null differ diff --git a/docs/menu.js b/docs/menu.js deleted file mode 100644 index b0b2693..0000000 --- a/docs/menu.js +++ /dev/null @@ -1,136 +0,0 @@ -/* - @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 initMenu(relPath,searchEnabled,serverSide,searchPage,search) { - function makeTree(data,relPath) { - var result=''; - if ('children' in data) { - result+='
    '; - for (var i in data.children) { - var url; - var link; - link = data.children[i].url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - } else { - url = relPath+link; - } - result+='
  • '+ - 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 deleted file mode 100644 index 79f26e7..0000000 --- a/docs/menudata.js +++ /dev/null @@ -1,71 +0,0 @@ -/* - @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:"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 deleted file mode 100644 index b380434..0000000 --- a/docs/namespaceFirefly.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -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...
     
    - - - -

    -Functions

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

    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 deleted file mode 100644 index 72ffb79..0000000 --- a/docs/namespacemembers.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 584839d..0000000 --- a/docs/namespacemembers_func.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index ab3fd49..0000000 --- a/docs/namespacemembers_type.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index bcb0ed8..0000000 --- a/docs/namespaces.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 72a58a5..0000000 Binary files a/docs/nav_f.png and /dev/null differ diff --git a/docs/nav_fd.png b/docs/nav_fd.png deleted file mode 100644 index 032fbdd..0000000 Binary files a/docs/nav_fd.png and /dev/null differ diff --git a/docs/nav_g.png b/docs/nav_g.png deleted file mode 100644 index 2093a23..0000000 Binary files a/docs/nav_g.png and /dev/null differ diff --git a/docs/nav_h.png b/docs/nav_h.png deleted file mode 100644 index 33389b1..0000000 Binary files a/docs/nav_h.png and /dev/null differ diff --git a/docs/nav_hd.png b/docs/nav_hd.png deleted file mode 100644 index de80f18..0000000 Binary files a/docs/nav_hd.png and /dev/null differ diff --git a/docs/normalize_8cpp.html b/docs/normalize_8cpp.html deleted file mode 100644 index fbc5c51..0000000 --- a/docs/normalize_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 849c1ba..0000000 --- a/docs/normalize_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/normalize_8cpp__incl.md5 b/docs/normalize_8cpp__incl.md5 deleted file mode 100644 index 7299426..0000000 --- a/docs/normalize_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4806591674110c5a8219ba077e81383c \ No newline at end of file diff --git a/docs/normalize_8cpp__incl.png b/docs/normalize_8cpp__incl.png deleted file mode 100644 index 76a4e4d..0000000 Binary files a/docs/normalize_8cpp__incl.png and /dev/null differ diff --git a/docs/open.png b/docs/open.png deleted file mode 100644 index 30f75c7..0000000 Binary files a/docs/open.png and /dev/null differ diff --git a/docs/rank_8cpp.html b/docs/rank_8cpp.html deleted file mode 100644 index c3a3785..0000000 --- a/docs/rank_8cpp.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index ca279a6..0000000 --- a/docs/rank_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/rank_8cpp__incl.md5 b/docs/rank_8cpp__incl.md5 deleted file mode 100644 index c6b8a27..0000000 --- a/docs/rank_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c009c462f3d1dfe1b5f4dd518d0450f0 \ No newline at end of file diff --git a/docs/rank_8cpp__incl.png b/docs/rank_8cpp__incl.png deleted file mode 100644 index 7489af7..0000000 Binary files a/docs/rank_8cpp__incl.png and /dev/null differ diff --git a/docs/scale_8cpp.html b/docs/scale_8cpp.html deleted file mode 100644 index 7700261..0000000 --- a/docs/scale_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index 7087522..0000000 --- a/docs/scale_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/scale_8cpp__incl.md5 b/docs/scale_8cpp__incl.md5 deleted file mode 100644 index bdf1070..0000000 --- a/docs/scale_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -95907ad3dffd3dfe200bef555e6a755c \ No newline at end of file diff --git a/docs/scale_8cpp__incl.png b/docs/scale_8cpp__incl.png deleted file mode 100644 index 5681bea..0000000 Binary files a/docs/scale_8cpp__incl.png and /dev/null differ diff --git a/docs/search/all_0.js b/docs/search/all_0.js deleted file mode 100644 index 05d5b26..0000000 --- a/docs/search/all_0.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['add_0',['Add',['../classFirefly_1_1Vector.html#abf5885fda7e9013618a5061632d72da7',1,'Firefly::Vector::Add(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a8132337e123e6d8247039d837f1a95a2',1,'Firefly::Vector::Add(Real const &_scalar) const']]], - ['add_2ecpp_1',['add.cpp',['../add_8cpp.html',1,'']]], - ['angle_5fwith_2ecpp_2',['angle_with.cpp',['../angle__with_8cpp.html',1,'']]], - ['anglewith_3',['AngleWith',['../classFirefly_1_1Vector.html#a1f27be5b4d8f2d41ba4fcc3fcde91a7d',1,'Firefly::Vector']]], - ['anti_5fparallel_2ecpp_4',['anti_parallel.cpp',['../anti__parallel_8cpp.html',1,'']]], - ['area_2ecpp_5',['area.cpp',['../area_8cpp.html',1,'']]], - ['at_6',['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/all_1.js b/docs/search/all_1.js deleted file mode 100644 index d9d4329..0000000 --- a/docs/search/all_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['cross_0',['Cross',['../classFirefly_1_1Vector.html#a48167e21a08c591f054cd7c68756931b',1,'Firefly::Vector']]], - ['cross_2ecpp_1',['cross.cpp',['../cross_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js deleted file mode 100644 index b58804c..0000000 --- a/docs/search/all_10.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7evector_0',['~Vector',['../db/d23/classFirefly_1_1Vector.html#a2b82096ed53c0c6fe1d5ec785857a59f',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js deleted file mode 100644 index 3531425..0000000 --- a/docs/search/all_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['dot_0',['Dot',['../classFirefly_1_1Vector.html#acd893969cc1e4d0f3e3cda55dbace649',1,'Firefly::Vector']]], - ['dot_2ecpp_1',['dot.cpp',['../dot_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js deleted file mode 100644 index 0e6e74b..0000000 --- a/docs/search/all_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['elem_5fsum_2ecpp_0',['elem_sum.cpp',['../elem__sum_8cpp.html',1,'']]], - ['elemsum_1',['ElemSum',['../classFirefly_1_1Vector.html#a91561630255fe0fa7157d3a1b53cb77c',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js deleted file mode 100644 index a432104..0000000 --- a/docs/search/all_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['firefly_0',['Firefly',['../namespaceFirefly.html',1,'']]] -]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js deleted file mode 100644 index 6af9e5c..0000000 --- a/docs/search/all_5.js +++ /dev/null @@ -1,12 +0,0 @@ -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,'']]], - ['isnormalized_5',['IsNormalized',['../classFirefly_1_1Vector.html#a744f4a93c3c35a1d5bf86abda8b2405c',1,'Firefly::Vector']]], - ['isorthogonal_6',['IsOrthogonal',['../classFirefly_1_1Vector.html#abb15777d3b6b9f87640245dac39144f0',1,'Firefly::Vector']]], - ['isparallel_7',['IsParallel',['../classFirefly_1_1Vector.html#aea4a8b7cd46343f3270c4994829fe3bc',1,'Firefly::Vector']]], - ['iszero_8',['IsZero',['../classFirefly_1_1Vector.html#a8a3ba8dc777081c231f00e2b979b75bd',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js deleted file mode 100644 index 3b5f96b..0000000 --- a/docs/search/all_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['magnitude_0',['Magnitude',['../classFirefly_1_1Vector.html#af8ffbd82ae9988937590365cd385717d',1,'Firefly::Vector']]], - ['magnitude_2ecpp_1',['magnitude.cpp',['../magnitude_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js deleted file mode 100644 index 5e5be59..0000000 --- a/docs/search/all_7.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['normalize_0',['Normalize',['../classFirefly_1_1Vector.html#ab11d85d55f38c6cd388e7c1bbeff1e59',1,'Firefly::Vector']]], - ['normalize_2ecpp_1',['normalize.cpp',['../normalize_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js deleted file mode 100644 index 7e47888..0000000 --- a/docs/search/all_8.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['operator_2a_0',['operator*',['../classFirefly_1_1Vector.html#ae56a7baeeccd1bb14243b63d3ff1f587',1,'Firefly::Vector']]], - ['operator_2b_1',['operator+',['../classFirefly_1_1Vector.html#a13fa6f3dc432ddc9830bd37b390e48f9',1,'Firefly::Vector::operator+(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a0e39aebb9be36626b2bbe16931834f78',1,'Firefly::Vector::operator+(Real const &_scalar) const']]], - ['operator_2b_2b_2',['operator++',['../classFirefly_1_1Vector.html#a6a8ef90bf1d57fee3a063baaf8d48aba',1,'Firefly::Vector']]], - ['operator_2d_3',['operator-',['../classFirefly_1_1Vector.html#a3ad2e4c70961d61802f281b440c487e1',1,'Firefly::Vector::operator-(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a99b6b362d4f49a3d1e99d85cc6752c7d',1,'Firefly::Vector::operator-(Real const &_scalar) const'],['../classFirefly_1_1Vector.html#a60e87f862a016c37d11e1de8b9218aab',1,'Firefly::Vector::operator-() const']]], - ['operator_2d_2d_4',['operator--',['../classFirefly_1_1Vector.html#a7370d444867f2e89663a4805bb07ebd3',1,'Firefly::Vector']]], - ['operator_3c_3c_5',['operator<<',['../classFirefly_1_1Vector.html#a539f1696d6f351e845d078ade6b4d551',1,'Firefly::Vector::operator<<'],['../namespaceFirefly.html#af4dee382a43cae9641950a0ff06d487d',1,'Firefly::operator<<()']]], - ['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/all_9.js b/docs/search/all_9.js deleted file mode 100644 index 5d460ef..0000000 --- a/docs/search/all_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['parallelogramarea_0',['ParallelogramArea',['../classFirefly_1_1Vector.html#ae7a2b40012d900c6a8eaffd11023d22e',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js deleted file mode 100644 index 74510a8..0000000 --- a/docs/search/all_a.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['rank_0',['Rank',['../classFirefly_1_1Vector.html#a0de7465369122c27ed8042d6a41b4b5a',1,'Firefly::Vector']]], - ['rank_2ecpp_1',['rank.cpp',['../rank_8cpp.html',1,'']]], - ['real_2',['Real',['../vector_8hpp.html#a6baabe9790f3842ab73110ab342c5c5e',1,'vector.hpp']]] -]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js deleted file mode 100644 index bc354f6..0000000 --- a/docs/search/all_b.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['scale_0',['Scale',['../classFirefly_1_1Vector.html#a9efd834520ba633f91743d02c168b78d',1,'Firefly::Vector']]], - ['scale_2ecpp_1',['scale.cpp',['../scale_8cpp.html',1,'']]], - ['size_2',['Size',['../classFirefly_1_1Vector.html#ac99a32e3699a60ffc12d1d7673e1c3ba',1,'Firefly::Vector']]], - ['subtract_3',['Subtract',['../classFirefly_1_1Vector.html#acb2756364e6a63c9cde2de40a8223e2e',1,'Firefly::Vector::Subtract(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a553381e72381c3190406d36f0782f1b9',1,'Firefly::Vector::Subtract(Real const &_scalar) const']]], - ['subtract_2ecpp_4',['subtract.cpp',['../subtract_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js deleted file mode 100644 index a7c667f..0000000 --- a/docs/search/all_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['trianglearea_0',['TriangleArea',['../classFirefly_1_1Vector.html#a2f6bd9be6aa613bb7b44419cad7717ff',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js deleted file mode 100644 index 9dd1e19..0000000 --- a/docs/search/all_d.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['vector_0',['Vector',['../classFirefly_1_1Vector.html',1,'Firefly::Vector'],['../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)']]], - ['vector_2ecpp_1',['vector.cpp',['../vector_8cpp.html',1,'']]], - ['vector_2ehpp_2',['vector.hpp',['../vector_8hpp.html',1,'']]], - ['view_3',['View',['../classFirefly_1_1Vector.html#ad6a52dd32633a7e2cc0638470c336f39',1,'Firefly::Vector']]], - ['view_2ecpp_4',['view.cpp',['../view_8cpp.html',1,'']]] -]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js deleted file mode 100644 index 1575dd4..0000000 --- a/docs/search/all_e.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7evector_0',['~Vector',['../classFirefly_1_1Vector.html#a2b82096ed53c0c6fe1d5ec785857a59f',1,'Firefly::Vector']]] -]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js deleted file mode 100644 index 109f796..0000000 --- a/docs/search/all_f.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['vector_0',['Vector',['../db/d23/classFirefly_1_1Vector.html',1,'Firefly::Vector'],['../db/d23/classFirefly_1_1Vector.html#ad3fd719be77f22f323d2fbc2b416b5b0',1,'Firefly::Vector::Vector(Vector &&)=delete'],['../db/d23/classFirefly_1_1Vector.html#a9d891d28b999dd8c714b5bb5a7524546',1,'Firefly::Vector::Vector()=delete'],['../db/d23/classFirefly_1_1Vector.html#a976a83a550e77ea492860a454d6211ac',1,'Firefly::Vector::Vector(std::size_t _size)'],['../db/d23/classFirefly_1_1Vector.html#a80f50f08df05019810e20b44e5a2759b',1,'Firefly::Vector::Vector(VectorType const &_vec)'],['../db/d23/classFirefly_1_1Vector.html#ae2972c768e49388623216a7742519827',1,'Firefly::Vector::Vector(Vector const &_fvec)']]], - ['vector_2ecpp_1',['vector.cpp',['../d4/d1b/vector_8cpp.html',1,'']]], - ['vector_2ehpp_2',['vector.hpp',['../da/d16/vector_8hpp.html',1,'']]], - ['vectortype_3',['VectorType',['../d6/dbc/namespaceFirefly.html#a94ef67810f9929b1bc65cbd86a31342e',1,'Firefly']]], - ['view_4',['View',['../db/d23/classFirefly_1_1Vector.html#ad6a52dd32633a7e2cc0638470c336f39',1,'Firefly::Vector']]], - ['view_2ecpp_5',['view.cpp',['../dd/dc2/view_8cpp.html',1,'']]] -]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js deleted file mode 100644 index 1426bce..0000000 --- a/docs/search/classes_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['vector_0',['Vector',['../classFirefly_1_1Vector.html',1,'Firefly']]] -]; diff --git a/docs/search/close.svg b/docs/search/close.svg deleted file mode 100644 index 337d6cc..0000000 --- a/docs/search/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js deleted file mode 100644 index d202772..0000000 --- a/docs/search/defines_0.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index e41a6a3..0000000 --- a/docs/search/defines_1.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index b98883e..0000000 --- a/docs/search/defines_2.js +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index ca692bb..0000000 --- a/docs/search/defines_3.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 1ad3a18..0000000 --- a/docs/search/defines_4.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index c782ae4..0000000 --- a/docs/search/defines_5.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index c0b2397..0000000 --- a/docs/search/defines_6.js +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index d7aeeeb..0000000 --- a/docs/search/files_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['add_2ecpp_0',['add.cpp',['../add_8cpp.html',1,'']]], - ['angle_5fwith_2ecpp_1',['angle_with.cpp',['../angle__with_8cpp.html',1,'']]], - ['anti_5fparallel_2ecpp_2',['anti_parallel.cpp',['../anti__parallel_8cpp.html',1,'']]], - ['area_2ecpp_3',['area.cpp',['../area_8cpp.html',1,'']]] -]; diff --git a/docs/search/files_1.js b/docs/search/files_1.js deleted file mode 100644 index bc8f84b..0000000 --- a/docs/search/files_1.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 56ed5f6..0000000 --- a/docs/search/files_2.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index b205e4d..0000000 --- a/docs/search/files_3.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index a24d179..0000000 --- a/docs/search/files_4.js +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index c7fc2de..0000000 --- a/docs/search/files_5.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index bc47d96..0000000 --- a/docs/search/files_6.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 6327256..0000000 --- a/docs/search/files_7.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 3396024..0000000 --- a/docs/search/files_8.js +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 0b75636..0000000 --- a/docs/search/files_9.js +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index b623c4a..0000000 --- a/docs/search/files_a.js +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 3547324..0000000 --- a/docs/search/functions_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['add_0',['Add',['../classFirefly_1_1Vector.html#abf5885fda7e9013618a5061632d72da7',1,'Firefly::Vector::Add(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a8132337e123e6d8247039d837f1a95a2',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 deleted file mode 100644 index 8f506a1..0000000 --- a/docs/search/functions_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['cross_0',['Cross',['../classFirefly_1_1Vector.html#a48167e21a08c591f054cd7c68756931b',1,'Firefly::Vector']]] -]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js deleted file mode 100644 index 75cda10..0000000 --- a/docs/search/functions_2.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 0c4e253..0000000 --- a/docs/search/functions_3.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 4a1911e..0000000 --- a/docs/search/functions_4.js +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 69b8aed..0000000 --- a/docs/search/functions_5.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index f5c41dc..0000000 --- a/docs/search/functions_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['normalize_0',['Normalize',['../classFirefly_1_1Vector.html#ab11d85d55f38c6cd388e7c1bbeff1e59',1,'Firefly::Vector']]] -]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js deleted file mode 100644 index adfbff7..0000000 --- a/docs/search/functions_7.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['operator_2a_0',['operator*',['../classFirefly_1_1Vector.html#ae56a7baeeccd1bb14243b63d3ff1f587',1,'Firefly::Vector']]], - ['operator_2b_1',['operator+',['../classFirefly_1_1Vector.html#a13fa6f3dc432ddc9830bd37b390e48f9',1,'Firefly::Vector::operator+(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a0e39aebb9be36626b2bbe16931834f78',1,'Firefly::Vector::operator+(Real const &_scalar) const']]], - ['operator_2b_2b_2',['operator++',['../classFirefly_1_1Vector.html#a6a8ef90bf1d57fee3a063baaf8d48aba',1,'Firefly::Vector']]], - ['operator_2d_3',['operator-',['../classFirefly_1_1Vector.html#a3ad2e4c70961d61802f281b440c487e1',1,'Firefly::Vector::operator-(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a99b6b362d4f49a3d1e99d85cc6752c7d',1,'Firefly::Vector::operator-(Real const &_scalar) const'],['../classFirefly_1_1Vector.html#a60e87f862a016c37d11e1de8b9218aab',1,'Firefly::Vector::operator-() const']]], - ['operator_2d_2d_4',['operator--',['../classFirefly_1_1Vector.html#a7370d444867f2e89663a4805bb07ebd3',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 deleted file mode 100644 index 5d460ef..0000000 --- a/docs/search/functions_8.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index c4d40d3..0000000 --- a/docs/search/functions_9.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 17bb90b..0000000 --- a/docs/search/functions_a.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['scale_0',['Scale',['../classFirefly_1_1Vector.html#a9efd834520ba633f91743d02c168b78d',1,'Firefly::Vector']]], - ['size_1',['Size',['../classFirefly_1_1Vector.html#ac99a32e3699a60ffc12d1d7673e1c3ba',1,'Firefly::Vector']]], - ['subtract_2',['Subtract',['../classFirefly_1_1Vector.html#acb2756364e6a63c9cde2de40a8223e2e',1,'Firefly::Vector::Subtract(Vector const &_fvec) const'],['../classFirefly_1_1Vector.html#a553381e72381c3190406d36f0782f1b9',1,'Firefly::Vector::Subtract(Real const &_scalar) const']]] -]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js deleted file mode 100644 index a7c667f..0000000 --- a/docs/search/functions_b.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 4098e63..0000000 --- a/docs/search/functions_c.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['vector_0',['Vector',['../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 deleted file mode 100644 index 1575dd4..0000000 --- a/docs/search/functions_d.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ffb6cf0..0000000 --- a/docs/search/mag.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/search/mag_d.svg b/docs/search/mag_d.svg deleted file mode 100644 index 4122773..0000000 --- a/docs/search/mag_d.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/search/mag_sel.svg b/docs/search/mag_sel.svg deleted file mode 100644 index 553dba8..0000000 --- a/docs/search/mag_sel.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/search/mag_seld.svg b/docs/search/mag_seld.svg deleted file mode 100644 index c906f84..0000000 --- a/docs/search/mag_seld.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js deleted file mode 100644 index a432104..0000000 --- a/docs/search/namespaces_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['firefly_0',['Firefly',['../namespaceFirefly.html',1,'']]] -]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js deleted file mode 100644 index c3861a7..0000000 --- a/docs/search/related_0.js +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 19f76f9..0000000 --- a/docs/search/search.css +++ /dev/null @@ -1,291 +0,0 @@ -/*---------------- 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 deleted file mode 100644 index 9b7a52a..0000000 --- a/docs/search/search.js +++ /dev/null @@ -1,820 +0,0 @@ -/* - @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 - - - - - - -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 deleted file mode 100644 index 01f994e..0000000 --- a/docs/subtract_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/subtract_8cpp__incl.md5 b/docs/subtract_8cpp__incl.md5 deleted file mode 100644 index 6a887f6..0000000 --- a/docs/subtract_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -bcf5229226fd653443c7fb568bcf8181 \ No newline at end of file diff --git a/docs/subtract_8cpp__incl.png b/docs/subtract_8cpp__incl.png deleted file mode 100644 index 4cb601b..0000000 Binary files a/docs/subtract_8cpp__incl.png and /dev/null differ diff --git a/docs/sync_off.png b/docs/sync_off.png deleted file mode 100644 index 3b443fc..0000000 Binary files a/docs/sync_off.png and /dev/null differ diff --git a/docs/sync_on.png b/docs/sync_on.png deleted file mode 100644 index e08320f..0000000 Binary files a/docs/sync_on.png and /dev/null differ diff --git a/docs/tab_a.png b/docs/tab_a.png deleted file mode 100644 index 3b725c4..0000000 Binary files a/docs/tab_a.png and /dev/null differ diff --git a/docs/tab_ad.png b/docs/tab_ad.png deleted file mode 100644 index e34850a..0000000 Binary files a/docs/tab_ad.png and /dev/null differ diff --git a/docs/tab_b.png b/docs/tab_b.png deleted file mode 100644 index e2b4a86..0000000 Binary files a/docs/tab_b.png and /dev/null differ diff --git a/docs/tab_bd.png b/docs/tab_bd.png deleted file mode 100644 index 91c2524..0000000 Binary files a/docs/tab_bd.png and /dev/null differ diff --git a/docs/tab_h.png b/docs/tab_h.png deleted file mode 100644 index fd5cb70..0000000 Binary files a/docs/tab_h.png and /dev/null differ diff --git a/docs/tab_hd.png b/docs/tab_hd.png deleted file mode 100644 index 2489273..0000000 Binary files a/docs/tab_hd.png and /dev/null differ diff --git a/docs/tab_s.png b/docs/tab_s.png deleted file mode 100644 index ab478c9..0000000 Binary files a/docs/tab_s.png and /dev/null differ diff --git a/docs/tab_sd.png b/docs/tab_sd.png deleted file mode 100644 index 757a565..0000000 Binary files a/docs/tab_sd.png and /dev/null differ diff --git a/docs/tabs.css b/docs/tabs.css deleted file mode 100644 index 71c8a47..0000000 --- a/docs/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.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 deleted file mode 100644 index 694f06f..0000000 --- a/docs/vector_8cpp.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -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 <utility>
    -#include "firefly/vector.hpp"
    -
    - - - -

    -Namespaces

    namespace  Firefly
     
    -
    - - - - diff --git a/docs/vector_8cpp__incl.map b/docs/vector_8cpp__incl.map deleted file mode 100644 index 10e20b8..0000000 --- a/docs/vector_8cpp__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/vector_8cpp__incl.md5 b/docs/vector_8cpp__incl.md5 deleted file mode 100644 index 7a5f890..0000000 --- a/docs/vector_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -99a330f63ff7bc18f0516520ec4315a9 \ No newline at end of file diff --git a/docs/vector_8cpp__incl.png b/docs/vector_8cpp__incl.png deleted file mode 100644 index 521e5e2..0000000 Binary files a/docs/vector_8cpp__incl.png and /dev/null differ diff --git a/docs/vector_8hpp.html b/docs/vector_8hpp.html deleted file mode 100644 index 4d87c09..0000000 --- a/docs/vector_8hpp.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -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 <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
     
    -

    Typedef Documentation

    - -

    ◆ Real

    - -
    -
    - - - - -
    using Real = float
    -
    - -
    -
    -
    - - - - diff --git a/docs/vector_8hpp__dep__incl.map b/docs/vector_8hpp__dep__incl.map deleted file mode 100644 index e5f1d66..0000000 --- a/docs/vector_8hpp__dep__incl.map +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/vector_8hpp__dep__incl.md5 b/docs/vector_8hpp__dep__incl.md5 deleted file mode 100644 index 3ab4e4f..0000000 --- a/docs/vector_8hpp__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -44563d4c64af46913e7f0bd06338c077 \ No newline at end of file diff --git a/docs/vector_8hpp__dep__incl.png b/docs/vector_8hpp__dep__incl.png deleted file mode 100644 index 4a4efaf..0000000 Binary files a/docs/vector_8hpp__dep__incl.png and /dev/null differ diff --git a/docs/vector_8hpp__incl.map b/docs/vector_8hpp__incl.map deleted file mode 100644 index 4481748..0000000 --- a/docs/vector_8hpp__incl.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/vector_8hpp__incl.md5 b/docs/vector_8hpp__incl.md5 deleted file mode 100644 index 5c73aef..0000000 --- a/docs/vector_8hpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4a6eaef038d8b0e5824695ab79e1618d \ No newline at end of file diff --git a/docs/vector_8hpp__incl.png b/docs/vector_8hpp__incl.png deleted file mode 100644 index 95b9c67..0000000 Binary files a/docs/vector_8hpp__incl.png and /dev/null differ diff --git a/docs/vector_8hpp_source.html b/docs/vector_8hpp_source.html deleted file mode 100644 index 60b3e81..0000000 --- a/docs/vector_8hpp_source.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -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 <ostream>
    -
    5#include <vector>
    -
    6
    -
    7#ifdef DOUBLE_PRECISION
    -
    8using Real = double;
    -
    9#else
    -
    10using Real = float;
    -
    11#endif
    -
    12
    -
    13namespace Firefly {
    -
    14
    -
    23class Vector {
    -
    24 using VectorType = std::vector<Real>;
    -
    25
    -
    26 VectorType m_vec;
    -
    27 Vector(Vector &&);
    -
    28
    -
    29public:
    -
    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]] Vector Add(Vector const &_fvec) const;
    -
    121 [[nodiscard]] Vector Add(Real const &_scalar) const;
    -
    128 [[nodiscard]] Vector operator+(Vector const &_fvec) const;
    -
    135 [[nodiscard]] Vector operator+(Real const &_scalar) const;
    -
    141 [[nodiscard]] Vector operator++() const;
    -
    142
    -
    149 [[nodiscard]] Vector Scale(Real const &_fvec) const;
    -
    150
    -
    156 [[nodiscard]] Vector operator*(Real const &_scalar) const;
    -
    157
    -
    165 [[nodiscard]] Vector Subtract(Vector const &_fvec) const;
    -
    173 [[nodiscard]] Vector Subtract(Real const &_scalar) const;
    -
    180 [[nodiscard]] Vector operator-(Vector const &_fvec) const;
    -
    187 [[nodiscard]] Vector operator-(Real const &_scalar) const;
    -
    193 [[nodiscard]] Vector operator--() const;
    -
    194
    -
    211 [[nodiscard]] Vector operator-() const;
    -
    212
    -
    218 [[nodiscard]] Real Dot(Vector const &_fvec) const;
    -
    219
    -
    227 [[nodiscard]] Vector Cross(Vector const &_fvec) const;
    -
    228
    -
    233 [[nodiscard]] Real ElemSum() const;
    -
    234
    -
    239 [[nodiscard]] Real Magnitude() const;
    -
    240
    -
    245 [[nodiscard]] Vector Normalize() const;
    -
    246
    -
    253 [[nodiscard]] Real AngleWith(Vector const &_fvec) const;
    -
    254
    -
    259 [[nodiscard]] bool IsZero();
    -
    260
    -
    266 [[nodiscard]] bool IsNormalized();
    -
    278 [[nodiscard]] bool IsParallel(Vector const &_fvec);
    -
    289 [[nodiscard]] bool IsOrthogonal(Vector const &_fvec);
    -
    290
    -
    297 [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const;
    -
    304 [[nodiscard]] Real TriangleArea(Vector const &_fvec) const;
    -
    305};
    -
    306
    -
    307} // namespace Firefly
    -
    Represents a mathematical vector in n-dimensional space.
    Definition vector.hpp:23
    -
    std::size_t Rank() const
    Returns the rank (dimensionality) of the vector. It is same as Size() method.
    Definition rank.cpp:7
    -
    Vector operator+(Vector const &_fvec) const
    Overloaded operator to perform vector addition.
    Definition add.cpp:35
    -
    Real AngleWith(Vector const &_fvec) const
    Calculates the angle between this vector and another vector in radians.
    Definition angle_with.cpp:7
    -
    ~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
    -
    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
    -
    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
    -
    Vector operator-() const
    Overload unary negation operator to negate the original vector, giving anti-parallel vector.
    Definition anti_parallel.cpp:4
    -
    Vector operator++() const
    Overloaded prefix increment operator to increment all elements of the vector by one.
    Definition add.cpp:37
    -
    Vector operator--() const
    Overloaded prefix decrement operator to decrement all elements of the vector by one.
    Definition subtract.cpp:20
    -
    bool IsNormalized()
    Checks if the vector is a unit vector (normalized with a magnitude of 1).
    Definition is_normalized.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
    -
    Real ElemSum() const
    Calculates the sum of all elements in the vector.
    Definition elem_sum.cpp:8
    - -
    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 At(std::size_t idx) const
    Retrieves the value at a specific index in the vector (const version).
    Definition indexers.cpp:7
    -
    Vector Normalize() const
    Returns a new vector that is the normalized version of this vector.
    Definition normalize.cpp:4
    -
    bool IsOrthogonal(Vector const &_fvec)
    Checks if this vector is orthogonal (perpendicular) to another vector.
    Definition is_orthogonal.cpp:4
    -
    Vector Add(Vector const &_fvec) const
    Performs vector addition with another vector and returns the result as a new vector.
    Definition add.cpp:8
    -
    std::size_t Size() const
    Returns the size (number of elements) of the vector.
    Definition rank.cpp:5
    -
    Vector Subtract(Vector const &_fvec) const
    Performs vector subtraction with another vector and returns the result as a new vector.
    Definition subtract.cpp:6
    -
    Real Dot(Vector const &_fvec) const
    Calculates the dot product between this vector and another vector.
    Definition dot.cpp:7
    -
    std::string View() const
    Returns a string representation of the vector.
    Definition view.cpp:5
    -
    Vector operator*(Real const &_scalar) const
    Overloaded operator to perform vector scaling.
    Definition scale.cpp:16
    -
    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
    -
    Real Magnitude() const
    Calculates the magnitude (Euclidean norm) of the vector.
    Definition magnitude.cpp:6
    -
    Definition vector.hpp:13
    -
    float Real
    Definition vector.hpp:10
    -
    - - - - diff --git a/docs/view_8cpp.html b/docs/view_8cpp.html deleted file mode 100644 index 18c7299..0000000 --- a/docs/view_8cpp.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -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 deleted file mode 100644 index b9cd0f4..0000000 --- a/docs/view_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/docs/view_8cpp__incl.md5 b/docs/view_8cpp__incl.md5 deleted file mode 100644 index 25f254a..0000000 --- a/docs/view_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b22c5e4a18223f0a405e15dd31d6c39a \ No newline at end of file diff --git a/docs/view_8cpp__incl.png b/docs/view_8cpp__incl.png deleted file mode 100644 index b27f2a2..0000000 Binary files a/docs/view_8cpp__incl.png and /dev/null differ diff --git a/headers/firefly/vector.hpp b/headers/firefly/vector.hpp index 50b5378..0a7c839 100644 --- a/headers/firefly/vector.hpp +++ b/headers/firefly/vector.hpp @@ -24,7 +24,7 @@ class Vector { using VectorType = std::vector; VectorType m_vec; - Vector(Vector &&); + Vector(Vector &&) noexcept; public: Vector() = delete; @@ -35,12 +35,12 @@ class Vector { * @brief Constructs a vector of a specific size. * @param _size The size of the vector. */ - Vector(std::size_t _size); + explicit 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); + explicit Vector(VectorType const &_vec); /** * @brief Copy constructor to create a new vector from an existing one. * @param _f The source vector to copy from. @@ -62,29 +62,28 @@ class Vector { friend std::ostream &operator<<(std::ostream &os, Vector const &_fvec); /** - * @brief Retrieves the value at a specific index in the vector (const - * version). + * @brief Retrieves the value at a specific index in the vector (getter). * @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. + * vector (setter). * @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). + * index (getter). * @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. + * index (setter). * @param idx The index of the element to retrieve. * @return A reference to the value at the specified index. */ @@ -97,100 +96,72 @@ class 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. + * @brief Performs element-wise vector addition with another vector. * @param _fvec The vector to add. - * @return A unique pointer to the new vector containing the result of the - * addition. + * @return New vector containing the result of the addition. */ [[nodiscard]] Vector Add(Vector const &_fvec) const; /** - * @brief Performs scalar addition with a real value and returns the result as - * a new vector. + * @brief Performs scalar addition (using broadcasting) with a real value. * @param _scalar The scalar value to add. - * @return A unique pointer to the new vector containing the result of the - * addition. + * @return New vector containing the result of the addition. */ [[nodiscard]] Vector Add(Real const &_scalar) const; /** - * @brief Overloaded operator to perform vector addition. + * @brief Overloaded operator to perform vector addition. Internally calls + * Add(). * @param _fvec The vector to add. - * @return A unique pointer to the new vector containing the result of the - * addition. + * @return New vector containing the result of the addition. */ [[nodiscard]] Vector operator+(Vector const &_fvec) const; /** - * @brief Overloaded operator to perform scalar addition. + * @brief Overloaded operator to perform scalar addition. Internally calls + * Add(). * @param _scalar The scalar value to add. - * @return A unique pointer to the new vector containing the result of the - * addition. + * @return New vector containing the result of the addition. */ [[nodiscard]] Vector 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]] Vector operator++() const; /** - * @brief Performs vector scaling by a real value and returns the result as a - * new vector. + * @brief Performs element-wise scaling of vector by a real value. * @param _scalar The scalar value to scale the vector by. - * @return A unique pointer to the new vector containing the scaled result. + * @return New vector containing the scaled result. */ [[nodiscard]] Vector 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. + * @return New vector containing the scaled result. */ [[nodiscard]] Vector operator*(Real const &_scalar) const; /** - * @brief Performs vector subtraction with another vector and returns the - * result as a new vector. + * @brief Performs element-wise vector subtraction with another vector. * @param _fvec The vector to subtract. - * @return A unique pointer to the new vector containing the result of the - * subtraction. + * @return New vector containing the result of the subtraction. */ [[nodiscard]] Vector Subtract(Vector const &_fvec) const; /** - * @brief Performs scalar subtraction with a real value and returns the result - * as a new vector. + * @brief Performs scalar subtraction (using broadcasting) with a real value. * @param _scalar The scalar value to subtract. - * @return A unique pointer to the new vector containing the result of the - * subtraction. + * @return New vector containing the result of the subtraction. */ [[nodiscard]] Vector Subtract(Real const &_scalar) const; /** - * @brief Overloaded operator to perform vector subtraction. + * @brief Overloaded operator to perform vector subtraction. Internally it + * will use Subtract(). * @param _fvec The vector to subtract. - * @return A unique pointer to the new vector containing the result of the - * subtraction. + * @return New vector containing the result of the subtraction. */ [[nodiscard]] Vector operator-(Vector const &_fvec) const; /** - * @brief Overloaded operator to perform scalar subtraction. + * @brief Overloaded operator to perform scalar subtraction. Internally it + * will use Subtract(). * @param _scalar The scalar value to subtract. - * @return A unique pointer to the new vector containing the result of the - * subtraction. + * @return New vector containing the result of the subtraction. */ [[nodiscard]] Vector 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]] Vector operator--() const; /** * @brief Overload unary negation operator to negate the original vector, @@ -218,11 +189,13 @@ class Vector { [[nodiscard]] Real Dot(Vector const &_fvec) const; /** - * @brief Calculates the cross product between this vector and another vector. - * Both vectors must have three dimensions. + * @brief Calculates the cross product using Levi-Civita symbol 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 + * @return New vector containing the result of the * cross product. + * @see https://en.wikipedia.org/wiki/Levi-Civita_symbol#Vector_cross_product */ [[nodiscard]] Vector Cross(Vector const &_fvec) const; @@ -239,8 +212,9 @@ class 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. + * @brief Scales the vector 1/|v| and returns a new vector that is the + * normalized version (|v| = 1) of this vector. + * @return A new normalized vector. */ [[nodiscard]] Vector Normalize() const; @@ -252,30 +226,69 @@ class Vector { */ [[nodiscard]] Real AngleWith(Vector const &_fvec) const; + /** + * @brief Checks if this vector is the same as another vector. + * + * This function compares the current vector with another vector to determine + * if they are the same. The comparison is based on the values of the vector's + * components. + * + * @param _fvec Another vector to compare with. + * @return Returns true if the vectors are the same, otherwise false. + */ + [[nodiscard]] bool IsSame(Vector const &_fvec) const; + + /** + * @brief Compares two vectors for equality. + * + * This operator compares the current vector with another vector to check for + * equality. It internally calls the IsSame function to perform the + * comparison. The comparison is based on the values of the vector's + * components. + * + * @param _fvec Another vector to compare with. + * @return Returns true if the vectors are equal, otherwise false. + * @see IsSame + */ + [[nodiscard]] bool operator==(Vector const &_fvec) const; + + /** + * @brief Checks if the vector is sparse. + * + * A vector is considered sparse if the count of zero elements is greater that + * the count of non-zero elements. This function calculates the counts of zero + * and non-zero elements in the vector and compares them to determine + * sparsity. + * + * @return Returns true if the vector is sparse, i.e., the count of zero + * elements is greater than or equal to the count of non-zero elements. + */ + [[nodiscard]] bool IsSparse() 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(); + [[nodiscard]] bool IsZero() const; /** * @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(); + [[nodiscard]] bool IsNormalized() const; /** * @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). + * Two vectors are parallel if their direction ratios are proportional. * - * @param _fvec The other vector to check for parallelism. - * @return True if the vectors are parallel, otherwise false. + * @param _fvec Another vector to compare with. + * @return Returns true if the vectors are parallel, otherwise false. + * @note If one of the vectors is the zero vector, they are considered + * parallel. + * @see https://www.cuemath.com/geometry/direction-ratio/ */ - [[nodiscard]] bool IsParallel(Vector const &_fvec); + [[nodiscard]] bool IsParallel(Vector const &_fvec) const; /** * @brief Checks if this vector is orthogonal (perpendicular) to another * vector. @@ -286,13 +299,14 @@ class Vector { * @param _fvec The other vector to check for orthogonality. * @return True if the vectors are orthogonal, otherwise false. */ - [[nodiscard]] bool IsOrthogonal(Vector const &_fvec); + [[nodiscard]] bool IsOrthogonal(Vector const &_fvec) const; /** * @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. + * @see https://www.cuemath.com/measurement/area-of-parallelogram/ */ [[nodiscard]] Real ParallelogramArea(Vector const &_fvec) const; /** diff --git a/scripts/test_generator.sh b/scripts/test_generator.sh new file mode 100755 index 0000000..ffb97ee --- /dev/null +++ b/scripts/test_generator.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +git_dir=$(git rev-parse --show-toplevel) + +: "${SRC_DIR_BASE:=src}" +: "${TESTS_DIR_BASE:=tests}" + +src_dir="$git_dir/$SRC_DIR_BASE" +unimplemented_tests='false' + +# shellcheck disable=SC2044 +for src_file in $(find "$src_dir" -type f -name "*.cpp" | sort); do + test_file="${src_file//$SRC_DIR_BASE/$TESTS_DIR_BASE}" + test_name=$(basename "$test_file" | awk -F'.' '{print $1}') + test_suite_name=$(basename "$(dirname "$test_file")") + if [[ "$test_name" == "$test_suite_name" ]]; then + ext_name=$(basename "$test_file" | awk -F'.' '{print $2}') + test_file="${test_file//"${test_name}.${ext_name}"/"constructor.${ext_name}"}" + test_name='constructor' + fi + test_suite_name="$(tr '[:lower:]' '[:upper:]' <<< "${test_suite_name:0:1}")${test_suite_name:1}" + if [[ ! -f "$test_file" ]]; then + mkdir -p "$(dirname "$test_file")" + if [[ -n "$CI" ]]; then + unimplemented_tests='true' + continue + fi + + cat < "$test_file" +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST($test_suite_name, ${test_name}__example) { + ASSERT_TRUE(true); +} +EOF + echo "Created test TEST($test_suite_name, ${test_name}__example) in '$test_file'" + fi +done + +if $unimplemented_tests; then + echo "[x] Some tests are not implemented. Run this script on your local environment to generate it/" + exit 1 +fi \ No newline at end of file diff --git a/src/vector/add.cpp b/src/vector/add.cpp index 4c79e5a..dd1ef0d 100644 --- a/src/vector/add.cpp +++ b/src/vector/add.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include "firefly/vector.hpp" @@ -13,17 +13,16 @@ Vector Vector::Add(Vector const &_fvec) const { Vector sum{m_vec.size()}; std::transform(m_vec.cbegin(), m_vec.cend(), _fvec.m_vec.begin(), - sum.m_vec.begin(), - [](Real const &a, Real const &b) { return a + b; }); + sum.m_vec.begin(), std::plus()); return sum; } Vector Vector::Add(Real const &_scalar) const { - Vector sum{m_vec.size()}; + Vector sum{VectorType(m_vec.size(), _scalar)}; - std::transform(m_vec.cbegin(), m_vec.cend(), sum.m_vec.begin(), - [&](Real const &_el) { return _el + _scalar; }); + std::transform(m_vec.cbegin(), m_vec.cend(), sum.m_vec.cbegin(), + sum.m_vec.begin(), std::plus()); return sum; } @@ -33,6 +32,4 @@ Vector Vector::operator+(Real const &_scalar) const { } Vector Vector::operator+(Vector const &_fvec) const { return this->Add(_fvec); } - -Vector 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 18ef508..e371c31 100644 --- a/src/vector/angle_with.cpp +++ b/src/vector/angle_with.cpp @@ -5,13 +5,11 @@ 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."); + if (this->IsZero() || _fvec.IsZero()) { + throw std::logic_error("Can not find angle with zero vector."); } - return angle_radians; + return std::acos(this->Dot(_fvec) / (this->Magnitude() * _fvec.Magnitude())); } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/cross.cpp b/src/vector/cross.cpp index 2260479..97682da 100644 --- a/src/vector/cross.cpp +++ b/src/vector/cross.cpp @@ -3,7 +3,7 @@ namespace Firefly { Vector 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."); + throw std::length_error("Both vectors must be three-dimensional."); } Vector cross{m_vec.size()}; diff --git a/src/vector/dot.cpp b/src/vector/dot.cpp index 5a6b715..ecad639 100644 --- a/src/vector/dot.cpp +++ b/src/vector/dot.cpp @@ -1,11 +1,10 @@ -#include #include #include "firefly/vector.hpp" namespace Firefly { Real Vector::Dot(Vector const &_fvec) const { - if (this->Size() != _fvec.Size()) { + if (m_vec.size() != _fvec.m_vec.size()) { throw std::length_error("Size of two vectors must be equal."); } diff --git a/src/vector/elem_sum.cpp b/src/vector/elem_sum.cpp index 1874312..0f2fe3b 100644 --- a/src/vector/elem_sum.cpp +++ b/src/vector/elem_sum.cpp @@ -1,4 +1,3 @@ -#include #include #include "firefly/vector.hpp" @@ -6,6 +5,6 @@ namespace Firefly { Real Vector::ElemSum() const { - return std::accumulate(m_vec.cbegin(), m_vec.cend(), 0x0); + return std::accumulate(m_vec.cbegin(), m_vec.cend(), static_cast(0)); } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/indexers.cpp b/src/vector/indexers.cpp index 0688473..538dcf4 100644 --- a/src/vector/indexers.cpp +++ b/src/vector/indexers.cpp @@ -5,8 +5,9 @@ namespace Firefly { Real Vector::At(std::size_t idx) const { + // negative error will be underflown because of unsigned if (idx >= m_vec.size()) { - throw std::out_of_range( + throw std::length_error( "Index out of range. Requested index: " + std::to_string(idx) + ", Vector size: " + std::to_string(m_vec.size())); } @@ -15,8 +16,11 @@ Real Vector::At(std::size_t idx) const { } Real &Vector::At(std::size_t idx) { + // negative error will be underflown because of unsigned if (idx >= m_vec.size()) { - m_vec.resize(idx + 1); + throw std::length_error( + "Index out of range. Requested index: " + std::to_string(idx) + + ", Vector size: " + std::to_string(m_vec.size())); } return m_vec[idx]; diff --git a/src/vector/is_normalized.cpp b/src/vector/is_normalized.cpp index b3c91c8..5f37b5d 100644 --- a/src/vector/is_normalized.cpp +++ b/src/vector/is_normalized.cpp @@ -1,5 +1,7 @@ #include "firefly/vector.hpp" namespace Firefly { -bool Vector::IsNormalized() { return this->Magnitude() == 1; } +bool Vector::IsNormalized() const { + return static_cast(this->Magnitude()) == static_cast(1); +} } // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_orthogonal.cpp b/src/vector/is_orthogonal.cpp index 7c25358..8838d46 100644 --- a/src/vector/is_orthogonal.cpp +++ b/src/vector/is_orthogonal.cpp @@ -1,5 +1,7 @@ #include "firefly/vector.hpp" namespace Firefly { -bool Vector::IsOrthogonal(Vector const &_fvec) { return this->Dot(_fvec) == 0; } +bool Vector::IsOrthogonal(Vector const &_fvec) const { + 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 index 5152ce0..71595eb 100644 --- a/src/vector/is_parallel.cpp +++ b/src/vector/is_parallel.cpp @@ -1,16 +1,26 @@ +#include #include +#include #include "firefly/vector.hpp" namespace Firefly { -bool Vector::IsParallel(const Vector &_fvec) { - if (this->Magnitude() == 0 || _fvec.Magnitude() == 0) { +bool Vector::IsParallel(const Vector &_fvec) const { + if (m_vec.size() != _fvec.m_vec.size()) { + return false; + } + + if (this->IsZero() || _fvec.IsZero() || *this == _fvec) { return true; } - // convert angle from radians to degrees - auto angle_degrees = this->AngleWith(_fvec) * (180 / M_PI); + auto const ratio = m_vec[0] / _fvec.m_vec[0]; + for (size_t i = 1; i < m_vec.size(); i++) { + if (m_vec[i] / _fvec.m_vec[i] != ratio) { + return false; + } + } - return std::round(angle_degrees) == 90 || std::round(angle_degrees) == 180; + return true; } } // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_same.cpp b/src/vector/is_same.cpp new file mode 100644 index 0000000..8fa4204 --- /dev/null +++ b/src/vector/is_same.cpp @@ -0,0 +1,18 @@ +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsSame(Vector const &_fvec) const { + if (m_vec.size() != m_vec.size()) { + return false; + } + + return std::equal(m_vec.cbegin(), m_vec.cend(), _fvec.m_vec.cbegin()); +} + +bool Vector::operator==(Vector const &_fvec) const { + return this->IsSame(_fvec); +} + +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_sparse.cpp b/src/vector/is_sparse.cpp new file mode 100644 index 0000000..f825c37 --- /dev/null +++ b/src/vector/is_sparse.cpp @@ -0,0 +1,17 @@ +#include +#include + +#include "firefly/vector.hpp" + +namespace Firefly { +bool Vector::IsSparse() const { + if (m_vec.empty()) { + throw std::length_error("Can't determine sparseness of empty vector"); + } + + auto const zero_count = std::count_if(m_vec.cbegin(), m_vec.cend(), + [](Real const &v) { return v == 0; }); + + return (m_vec.size() - zero_count) < zero_count; +} +} // namespace Firefly \ No newline at end of file diff --git a/src/vector/is_zero.cpp b/src/vector/is_zero.cpp index e59993c..878b3c9 100644 --- a/src/vector/is_zero.cpp +++ b/src/vector/is_zero.cpp @@ -1,10 +1,9 @@ #include -#include #include "firefly/vector.hpp" namespace Firefly { -bool Vector::IsZero() { +bool Vector::IsZero() const { return std::all_of(m_vec.cbegin(), m_vec.cend(), [](Real const &_el) { return _el == 0; }); } diff --git a/src/vector/normalize.cpp b/src/vector/normalize.cpp index 4e75471..40cbae5 100644 --- a/src/vector/normalize.cpp +++ b/src/vector/normalize.cpp @@ -1,5 +1,11 @@ #include "firefly/vector.hpp" namespace Firefly { -Vector Vector::Normalize() const { return this->Scale(1 / this->Magnitude()); } +Vector Vector::Normalize() const { + if (this->IsZero()) { + throw std::logic_error("Zero vector can't be normalized"); + } + + 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 2c9004b..741bbfa 100644 --- a/src/vector/scale.cpp +++ b/src/vector/scale.cpp @@ -1,14 +1,14 @@ #include +#include #include "firefly/vector.hpp" namespace Firefly { Vector Vector::Scale(Real const &_scalar) const { - Vector scaled{m_vec}; + Vector scaled{VectorType(m_vec.size(), _scalar)}; - std::transform(scaled.m_vec.cbegin(), scaled.m_vec.cend(), - scaled.m_vec.begin(), - [&](Real const &_el) { return _el * _scalar; }); + std::transform(m_vec.cbegin(), m_vec.cend(), scaled.m_vec.cbegin(), + scaled.m_vec.begin(), std::multiplies()); return scaled; } diff --git a/src/vector/rank.cpp b/src/vector/size.cpp similarity index 68% rename from src/vector/rank.cpp rename to src/vector/size.cpp index fc593fd..2f2178e 100644 --- a/src/vector/rank.cpp +++ b/src/vector/size.cpp @@ -3,7 +3,4 @@ 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/subtract.cpp b/src/vector/subtract.cpp index 1b59e0c..27da377 100644 --- a/src/vector/subtract.cpp +++ b/src/vector/subtract.cpp @@ -1,14 +1,8 @@ -#include - #include "firefly/vector.hpp" namespace Firefly { -Vector Vector::Subtract(Vector const &_fvec) const { - return this->Add(_fvec.Scale(-1)); -} -Vector Vector::Subtract(Real const &_scalar) const { - return this->Add(-_scalar); -} +Vector Vector::Subtract(Vector const &_fvec) const { return *this + -_fvec; } +Vector Vector::Subtract(Real const &_scalar) const { return *this + -_scalar; } Vector Vector::operator-(Vector const &_fvec) const { return this->Subtract(_fvec); @@ -16,6 +10,4 @@ Vector Vector::operator-(Vector const &_fvec) const { Vector Vector::operator-(Real const &_scalar) const { return this->Subtract(_scalar); } - -Vector 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 5043ac4..3deaf7f 100644 --- a/src/vector/vector.cpp +++ b/src/vector/vector.cpp @@ -10,6 +10,6 @@ Vector::Vector(VectorType const &_vec) : m_vec(_vec) {} Vector::Vector(Vector const &_fvec) : m_vec(_fvec.m_vec) {} -Vector::Vector(Vector &&_fvec) { m_vec = std::move(_fvec.m_vec); } +Vector::Vector(Vector &&_fvec) noexcept { m_vec = std::move(_fvec.m_vec); } } // namespace Firefly diff --git a/src/vector/view.cpp b/src/vector/view.cpp index 4be1a94..6c682b8 100644 --- a/src/vector/view.cpp +++ b/src/vector/view.cpp @@ -1,14 +1,23 @@ #include #include "firefly/vector.hpp" + namespace Firefly { std::string Vector::View() const { std::stringstream ss; ss << "["; - for (auto &el : m_vec) { - ss << el << ", "; + + if (!m_vec.empty()) { + // Print the first element without a leading comma + ss << m_vec[0]; + + // Print the remaining elements with a leading comma + for (size_t i = 1; i < m_vec.size(); ++i) { + ss << ", " << m_vec[i]; + } } - ss << "\b\b]"; + + ss << "]"; return ss.str(); } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cbbeda5..ad1da36 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,8 +1,6 @@ +file(GLOB_RECURSE SOURCES "*.cpp") -project(_test) +add_executable(FireflyTests ${SOURCES}) +target_link_libraries(FireflyTests PRIVATE GTest::gtest_main Firefly::Shared) -add_executable(${PROJECT_NAME} test.cpp) - -target_link_libraries( - ${PROJECT_NAME} firefly -) \ No newline at end of file +gtest_discover_tests(FireflyTests) \ No newline at end of file diff --git a/tests/test.cpp b/tests/test.cpp deleted file mode 100644 index eeedb52..0000000 --- a/tests/test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include -#include -#include -using namespace std; - -int main() -{ - vector var1 = {3.029, 1.879}; - vector var2 = {0.825, 2.036}; - Vectors vec1(var1); - Vectors vec2(var2); - Vectors v; - vec1.print(); - vec2.print(); - - cout << endl; - vec2.print(); - cout << endl; - Vectors v2 = vec1.componentParallelTo(vec2); - v2.print(); - cout << vec1.areaOfParallelogramWith(vec2) << endl; - cout << vec1.areaOfTriangleWith(vec2) << endl; - return 0; -} diff --git a/tests/vector/add.cpp b/tests/vector/add.cpp new file mode 100644 index 0000000..8d64bd5 --- /dev/null +++ b/tests/vector/add.cpp @@ -0,0 +1,39 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, add__different_size__error) { + Firefly::Vector v1{{1, 2, 3}}; + Firefly::Vector v2{{1, 2, 3, 4}}; + + ASSERT_THROW({ auto _ = v1 + v2; }, std::length_error); +} + +TEST(Vector, add__vector) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{5, 6, 7, 8}}; + + ASSERT_NO_THROW({ + auto v3 = v1 + v2; + + ASSERT_EQ(v3.Size(), v1.Size()); + for (auto i = 0; i < v2.Size(); i++) { + ASSERT_EQ(v3.At(i), v1.At(i) + v2.At(i)); + } + }); +} + +TEST(Vector, add__scalar) { + Firefly::Vector v1{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ + auto v2 = v1 + 10; + + ASSERT_EQ(v2.Size(), v1.Size()); + ASSERT_EQ(v2.At(0), 11); + ASSERT_EQ(v2.At(1), 12); + ASSERT_EQ(v2.At(2), 13); + ASSERT_EQ(v2.At(3), 14); + }); +} diff --git a/tests/vector/angle_with.cpp b/tests/vector/angle_with.cpp new file mode 100644 index 0000000..51083c0 --- /dev/null +++ b/tests/vector/angle_with.cpp @@ -0,0 +1,41 @@ +#include "firefly/vector.hpp" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +TEST(Vector, angle_with__zero_vector__error) { + Firefly::Vector v{10}; + + ASSERT_THROW({ auto _ = v.AngleWith(v); }, std::logic_error); +} + +TEST(Vector, angle_with__perp_vector__90) { + Firefly::Vector v1{{3, 4}}; + Firefly::Vector v2{{-4, 3}}; + + ASSERT_NO_THROW({ ASSERT_EQ(v1.AngleWith(v2), M_PI / 2); }); +} + +TEST(Vector, angle_with__parallel_vector__180) { + Firefly::Vector v{{1, 3}}; + + ASSERT_NO_THROW({ + EXPECT_NEAR(v.AngleWith(v), 0, + std::max(static_cast(0), v.AngleWith(v))); + }); +} + +TEST(Vector, angle_with__opp_vector__180) { + using namespace ::testing; + Firefly::Vector v{{3, -1}}; + + ASSERT_NO_THROW({ ASSERT_NEAR(v.AngleWith(-v), M_PI, 0.01); }); +} + +TEST(Vector, angle_with__regular_vector) { + using namespace ::testing; + Firefly::Vector v1{{3, 7}}; + Firefly::Vector v2{{2, 0}}; + + ASSERT_NO_THROW( + { ASSERT_THAT(v1.AngleWith(v2), AnyOf(Ge(-M_PI), Le(M_PI))); }); +} diff --git a/tests/vector/anti_parallel.cpp b/tests/vector/anti_parallel.cpp new file mode 100644 index 0000000..93747de --- /dev/null +++ b/tests/vector/anti_parallel.cpp @@ -0,0 +1,14 @@ +#include +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, subtract__unary__make_opposite) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ + ASSERT_TRUE(v.IsParallel(-v)); + ASSERT_EQ(v.AngleWith(-v), M_PI); + }); +} diff --git a/tests/vector/area.cpp b/tests/vector/area.cpp new file mode 100644 index 0000000..1680c86 --- /dev/null +++ b/tests/vector/area.cpp @@ -0,0 +1,42 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, parallelogram_area__non_3d__error) { + Firefly::Vector v{2}; + + ASSERT_THROW({ auto _ = v.ParallelogramArea(v); }, std::length_error); +} + +TEST(Vector, parallelogram_area__orthogonal__rect_area) { + Firefly::Vector v1{{1, 0, 1}}; + Firefly::Vector v2{{0, 1, 0}}; + + ASSERT_NO_THROW({ + ASSERT_EQ(v1.ParallelogramArea(v2), v1.Magnitude() * v2.Magnitude()); + }); +} + +TEST(Vector, parallelogram_area__parallel__0) { + Firefly::Vector v1{{1, 0, 1}}; + auto v2 = v1 * 10; + + ASSERT_NO_THROW({ ASSERT_EQ(v1.ParallelogramArea(v2), 0); }); +} + +TEST(Vector, parallelogram_area__regular__cross_mag) { + Firefly::Vector v1{{1, 0, 3}}; + Firefly::Vector v2{{1, 0, 1}}; + + ASSERT_NO_THROW( + { ASSERT_EQ(v1.ParallelogramArea(v2), v1.Cross(v2).Magnitude()); }); +} + +TEST(Vector, triangle_area__regular__half_parallelogram) { + Firefly::Vector v1{{1, 0, 3}}; + Firefly::Vector v2{{1, 0, 1}}; + + ASSERT_NO_THROW( + { ASSERT_EQ(v1.TriangleArea(v2), v1.ParallelogramArea(v2) / 2); }); +} \ No newline at end of file diff --git a/tests/vector/constructor.cpp b/tests/vector/constructor.cpp new file mode 100644 index 0000000..2e8a36c --- /dev/null +++ b/tests/vector/constructor.cpp @@ -0,0 +1,31 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, construct__from_size) { + Firefly::Vector v{0}; + + ASSERT_EQ(v.Size(), 0); +} + +TEST(Vector, construct__with_size__zero) { + Firefly::Vector v{4}; + + ASSERT_EQ(v.Size(), 4); + ASSERT_TRUE(v.IsZero()); +} + +TEST(Vector, construct__from_std_vector) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_EQ(v.Size(), 4); + ASSERT_EQ(v.ElemSum(), 10); +} + +TEST(Vector, construct__from_firefly_vector) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{v1}; + + ASSERT_EQ(v1, v2); +} \ No newline at end of file diff --git a/tests/vector/cross.cpp b/tests/vector/cross.cpp new file mode 100644 index 0000000..6206b33 --- /dev/null +++ b/tests/vector/cross.cpp @@ -0,0 +1,64 @@ +#include +#include + +#include "firefly/vector.hpp" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +TEST(Vector, cross__non_3d__error) { + Firefly::Vector v{2}; + + ASSERT_THROW({ auto _ = v.Cross(v); }, std::length_error); +} + +TEST(Vector, cross__zero__zero) { + Firefly::Vector v{3}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.Cross(v).IsZero()); }); +} + +TEST(Vector, cross__zero_non_zero__zero) { + Firefly::Vector v1{3}; + Firefly::Vector v2{{1, 2, 3}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v1.Cross(v2).IsZero()); }); +} + +TEST(Vector, cross__orthogonal__mag_product) { + Firefly::Vector v1{{1, 0, 0}}; + Firefly::Vector v2{{0, 1, 1}}; + + ASSERT_NO_THROW({ + auto crossed = v1.Cross(v2); + + ASSERT_TRUE(crossed.IsOrthogonal(v1)); + ASSERT_TRUE(crossed.IsOrthogonal(v2)); + ASSERT_STREQ(crossed.View().c_str(), "[0, -1, 1]"); + ASSERT_EQ(crossed.Magnitude(), v1.Magnitude() * v2.Magnitude()); + }); +} + +TEST(Vector, cross__parallel__zero) { + Firefly::Vector v1{{1, 0, 0}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v1.Cross(v1).IsZero()); }); +} + +TEST(Vector, cross__regular) { + using namespace testing; + Firefly::Vector v1{{1, 3, 1}}; + Firefly::Vector v2{{1, 3, 4}}; + + ASSERT_NO_THROW({ + auto crossed = v1.Cross(v2); + + ASSERT_TRUE(v1.IsOrthogonal(crossed)); + ASSERT_TRUE(v2.IsOrthogonal(crossed)); + ASSERT_FALSE(crossed.IsZero()); + + auto angle = + std::asin(crossed.Magnitude() / (v1.Magnitude() * v2.Magnitude())); + + ASSERT_THAT(angle, AllOf(Gt(-M_PI), Lt(M_PI))); + }); +} \ No newline at end of file diff --git a/tests/vector/dot.cpp b/tests/vector/dot.cpp new file mode 100644 index 0000000..fe6d288 --- /dev/null +++ b/tests/vector/dot.cpp @@ -0,0 +1,53 @@ +#include +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, dot__different_size__error) { + Firefly::Vector v1{10}; + Firefly::Vector v2{5}; + + ASSERT_THROW({ auto _ = v1.Dot(v2); }, std::length_error); +} + +TEST(Vector, dot__zero__zero) { + Firefly::Vector v1{5}; + Firefly::Vector v2{5}; + + ASSERT_EQ(v1.Dot(v2), 0); +} + +TEST(Vector, dot__zero_non_zero__zero) { + Firefly::Vector v1{{1, 2, 3, 4, 5}}; + Firefly::Vector v2{5}; + + ASSERT_EQ(v1.Dot(v2), 0); +} + +TEST(Vector, dot__orthogonal__zero) { + Firefly::Vector v1{{5, -4}}; + Firefly::Vector v2{{4, 5}}; + + ASSERT_EQ(v1.Dot(v2), 0); +} + +TEST(Vector, dot__same__mag_sqed) { + Firefly::Vector v1{{3, -4}}; + + ASSERT_EQ(v1.Dot(v1), std::pow(v1.Magnitude(), 2)); +} + +TEST(Vector, dot__parallel__maq_multiplied) { + Firefly::Vector v1{{3, -4}}; + auto v2 = v1 * 4; + + ASSERT_EQ(v1.Dot(v2), v1.Magnitude() * v2.Magnitude()); +} + +TEST(Vector, dot__regular__non_zero) { + Firefly::Vector v1{{3, -4}}; + Firefly::Vector v2{{4, 5}}; + + ASSERT_EQ(v1.Dot(v2), -8); +} \ No newline at end of file diff --git a/tests/vector/elem_sum.cpp b/tests/vector/elem_sum.cpp new file mode 100644 index 0000000..06126e4 --- /dev/null +++ b/tests/vector/elem_sum.cpp @@ -0,0 +1,22 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, elemsum__empty__zero) { + Firefly::Vector v{0}; + + ASSERT_EQ(v.ElemSum(), 0); +} + +TEST(Vector, elemsum__zero__zero) { + Firefly::Vector v{10}; + + ASSERT_EQ(v.ElemSum(), 0); +} + +TEST(Vector, elemsum__non_zero__non_zero) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_EQ(v.ElemSum(), 10); +} diff --git a/tests/vector/indexers.cpp b/tests/vector/indexers.cpp new file mode 100644 index 0000000..44738d5 --- /dev/null +++ b/tests/vector/indexers.cpp @@ -0,0 +1,26 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" +#include + +TEST(Vector, indexers__empty__error) { + Firefly::Vector v{0}; + + ASSERT_THROW({ auto _ = v[0]; }, std::length_error); +} + +TEST(Vector, indexers__negative__error) { + Firefly::Vector v{0}; + ASSERT_THROW({ auto _ = v[-1]; }, std::length_error); +} + +TEST(Vector, indexers__valid_input__return_reference) { + Firefly::Vector v{5}; + + ASSERT_NO_THROW({ + ASSERT_EQ(v[3], 0); + v[3] = 10; + ASSERT_EQ(v[3], 10); + }); +} \ No newline at end of file diff --git a/tests/vector/is_normalized.cpp b/tests/vector/is_normalized.cpp new file mode 100644 index 0000000..5e49710 --- /dev/null +++ b/tests/vector/is_normalized.cpp @@ -0,0 +1,38 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_normalized__empty__false) { + Firefly::Vector v{0}; + + ASSERT_FALSE(v.IsNormalized()); +} + +TEST(Vector, is_normalized__zero__false) { + Firefly::Vector v{10}; + + ASSERT_FALSE(v.IsNormalized()); +} + +TEST(Vector, is_normalized__normalize_check__true) { + Firefly::Vector v{{56, 33}}; + + ASSERT_TRUE(v.Normalize().IsNormalized()); +} + +TEST(Vector, is_normalized__normalized__true) { + Firefly::Vector v{{0.6, 0.8}}; + + ASSERT_TRUE(v.IsNormalized()); +} + +TEST(Vector, is_normalized__basis__true) { + Firefly::Vector v1{{1, 0, 0}}; + Firefly::Vector v2{{0, 1, 0}}; + Firefly::Vector v3{{0, 0, 1}}; + + ASSERT_TRUE(v1.IsNormalized()); + ASSERT_TRUE(v2.IsNormalized()); + ASSERT_TRUE(v3.IsNormalized()); +} diff --git a/tests/vector/is_orthogonal.cpp b/tests/vector/is_orthogonal.cpp new file mode 100644 index 0000000..3581d71 --- /dev/null +++ b/tests/vector/is_orthogonal.cpp @@ -0,0 +1,44 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_orthogonal__different_size__error) { + Firefly::Vector v1{0}; + Firefly::Vector v2{10}; + + ASSERT_THROW({ auto _ = v1.IsOrthogonal(v2); }, std::length_error); +} + +TEST(Vector, is_orthogonal__empty__true) { + Firefly::Vector v{0}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsOrthogonal(v)); }); +} + +TEST(Vector, is_orthogonal__zero__true) { + Firefly::Vector v{10}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsOrthogonal(v)); }); +} + +TEST(Vector, is_orthogonal__non_zero_zero__true) { + Firefly::Vector v1{3}; + Firefly::Vector v2{{1, 2, 3}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v1.IsOrthogonal(v2)); }); +} + +TEST(Vector, is_orthogonal__valid__true) { + Firefly::Vector v1{{1, 0, 1}}; + Firefly::Vector v2{{{0, 1, 0}}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v1.IsOrthogonal(v2)); }); +} + +TEST(Vector, is_orthogonal__otherwise__false) { + Firefly::Vector v1{{1, 0, 1}}; + Firefly::Vector v2{{{0, 1, 1}}}; + + ASSERT_NO_THROW({ ASSERT_FALSE(v1.IsOrthogonal(v2)); }); +} \ No newline at end of file diff --git a/tests/vector/is_parallel.cpp b/tests/vector/is_parallel.cpp new file mode 100644 index 0000000..8adef63 --- /dev/null +++ b/tests/vector/is_parallel.cpp @@ -0,0 +1,34 @@ +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_parallel__unequal_size__false) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{1, 2, 3}}; + + ASSERT_FALSE(v1.IsParallel(v2)); +} + +TEST(Vector, is_parallel__zero__true) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsParallel(v * 0)); }); +} + +TEST(Vector, is_parallel__same__true) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsParallel(v)); }); +} + +TEST(Vector, is_parallel__opposite__true) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsParallel(-v)); }); +} + +TEST(Vector, is_parallel__otherwise__false) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{2, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_FALSE(v1.IsParallel(-v2)); }); +} \ No newline at end of file diff --git a/tests/vector/is_same.cpp b/tests/vector/is_same.cpp new file mode 100644 index 0000000..4458c68 --- /dev/null +++ b/tests/vector/is_same.cpp @@ -0,0 +1,22 @@ +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_same__unequal_size__false) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{1, 2, 3}}; + + ASSERT_FALSE(v1 == v2); +} + +TEST(Vector, is_same__all_equal__true) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_TRUE(v == v); +} + +TEST(Vector, is_same__any_one_diff__false) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{1, 2, 3, 5}}; + + ASSERT_FALSE(v1 == v2); +} diff --git a/tests/vector/is_sparse.cpp b/tests/vector/is_sparse.cpp new file mode 100644 index 0000000..87605e0 --- /dev/null +++ b/tests/vector/is_sparse.cpp @@ -0,0 +1,40 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_sparse__empty__error) { + Firefly::Vector v{0}; + + ASSERT_THROW({ auto _ = v.IsSparse(); }, std::length_error); +} + +TEST(Vector, is_sparse__zero__true) { + Firefly::Vector v{10}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsSparse()); }); +} + +TEST(Vector, is_sparse__all_non_zero__false) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_FALSE(v.IsSparse()); }); +} + +TEST(Vector, is_sparse__zeros_gt_non_zero__true) { + Firefly::Vector v{{1, 2, 0, 0, 0}}; + + ASSERT_NO_THROW({ ASSERT_TRUE(v.IsSparse()); }); +} + +TEST(Vector, is_sparse__zeros_lt_non_zero__false) { + Firefly::Vector v{{1, 2, 3, 0, 0}}; + + ASSERT_NO_THROW({ ASSERT_FALSE(v.IsSparse()); }); +} + +TEST(Vector, is_sparse__zeros_eq_non_zero__false) { + Firefly::Vector v{{1, 2, 3, 0, 0, 0}}; + + ASSERT_NO_THROW({ ASSERT_FALSE(v.IsSparse()); }); +} diff --git a/tests/vector/is_zero.cpp b/tests/vector/is_zero.cpp new file mode 100644 index 0000000..fb4418f --- /dev/null +++ b/tests/vector/is_zero.cpp @@ -0,0 +1,22 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, is_zero__empty__true) { + Firefly::Vector v{0}; + + ASSERT_TRUE(v.IsZero()); +} + +TEST(Vector, is_zero__zero__true) { + Firefly::Vector v{10}; + + ASSERT_TRUE(v.IsZero()); +} + +TEST(Vector, is_zero__any_non_zero__false) { + Firefly::Vector v{{1, 0, 0}}; + + ASSERT_FALSE(v.IsZero()); +} diff --git a/tests/vector/magnitude.cpp b/tests/vector/magnitude.cpp new file mode 100644 index 0000000..097a742 --- /dev/null +++ b/tests/vector/magnitude.cpp @@ -0,0 +1,28 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, magnitude__empty__zero) { + Firefly::Vector v{0}; + + ASSERT_EQ(v.Magnitude(), 0); +} + +TEST(Vector, magnitude__zero__zero) { + Firefly::Vector v{10}; + + ASSERT_EQ(v.Magnitude(), 0); +} + +TEST(Vector, magnitude__non_zero__non_zero) { + Firefly::Vector v{{3, 4}}; + + ASSERT_EQ(v.Magnitude(), 5); +} + +TEST(Vector, magnitude__normalized__1) { + Firefly::Vector v{{0.6, 0.8}}; + + ASSERT_EQ(v.Magnitude(), 1); +} diff --git a/tests/vector/normalize.cpp b/tests/vector/normalize.cpp new file mode 100644 index 0000000..2851aa6 --- /dev/null +++ b/tests/vector/normalize.cpp @@ -0,0 +1,25 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, normalize__empty__error) { + Firefly::Vector v{0}; + + ASSERT_THROW({ auto _ = v.Normalize(); }, std::logic_error); +} + +TEST(Vector, normalize__zero__error) { + Firefly::Vector v{10}; + + ASSERT_THROW({ auto _ = v.Normalize(); }, std::logic_error); +} + +TEST(Vector, normalize__regular) { + Firefly::Vector v{{3, 4}}; + + ASSERT_NO_THROW({ + ASSERT_EQ(v.Normalize().Magnitude(), 1); + ASSERT_EQ(v.Normalize(), v * (1 / v.Magnitude())); + }); +} diff --git a/tests/vector/scale.cpp b/tests/vector/scale.cpp new file mode 100644 index 0000000..3b554e2 --- /dev/null +++ b/tests/vector/scale.cpp @@ -0,0 +1,41 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, scale__zero__zero_vector) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_TRUE((v * 0).IsZero()); +} + +TEST(Vector, scale__any_with_zero_vector__zero_vector) { + Firefly::Vector v{10}; + + ASSERT_TRUE((v * 10).IsZero()); +} + +TEST(Vector, scale__positive) { + Firefly::Vector v1{{1, 2, 3}}; + Firefly::Vector v2{{10, 20, 30}}; + Firefly::Vector v3 = v1 * 10; + + ASSERT_EQ(v3, v2); + ASSERT_EQ(v3.AngleWith(v1), 0); + ASSERT_TRUE(v3.IsParallel(v1)); +} + +TEST(Vector, scale__positive_n__n_times_magnitude) { + Firefly::Vector v{{1, 2, 3}}; + + ASSERT_EQ((v * 10).Magnitude(), v.Magnitude() * 10); +} + +TEST(Vector, scale__negative__opposite) { + Firefly::Vector v1{{1, 2, 3}}; + Firefly::Vector v2 = v1 * -1; + + ASSERT_EQ(v2, -v1); + ASSERT_EQ(v1.AngleWith(v2), M_PI); + ASSERT_TRUE(v1.IsParallel(v2)); +} \ No newline at end of file diff --git a/tests/vector/size.cpp b/tests/vector/size.cpp new file mode 100644 index 0000000..57d2f9b --- /dev/null +++ b/tests/vector/size.cpp @@ -0,0 +1,16 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, size__empty__zero) { + Firefly::Vector v{0}; + + ASSERT_EQ(v.Size(), 0); +} + +TEST(Vector, size__non_empty__non_zero) { + Firefly::Vector v{10}; + + ASSERT_EQ(v.Size(), 10); +} diff --git a/tests/vector/subtract.cpp b/tests/vector/subtract.cpp new file mode 100644 index 0000000..068caa0 --- /dev/null +++ b/tests/vector/subtract.cpp @@ -0,0 +1,36 @@ +#include +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, subtract__different_size__error) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{1, 2, 3}}; + + ASSERT_THROW({ auto _ = v1 - v2; }, std::length_error); +} + +TEST(Vector, subtract__same__zero) { + Firefly::Vector v1{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_TRUE((v1 - v1).IsZero()); }); +} + +TEST(Vector, subtract__different__non_zero) { + Firefly::Vector v1{{1, 2, 3, 4}}; + Firefly::Vector v2{{1, 3, 3, 4}}; + + ASSERT_NO_THROW({ ASSERT_FALSE((v1 - v2).IsZero()); }); +} + +TEST(Vector, subtract__scalar__element_wise) { + Firefly::Vector v{{1, 2, 3, 4}}; + + ASSERT_NO_THROW({ + auto sub = v - 1; + for (auto i = 0; i < v.Size(); i++) { + ASSERT_EQ(v[i] - 1, sub[i]); + } + }); +} diff --git a/tests/vector/view.cpp b/tests/vector/view.cpp new file mode 100644 index 0000000..c9ced74 --- /dev/null +++ b/tests/vector/view.cpp @@ -0,0 +1,16 @@ +#include + +#include "firefly/vector.hpp" +#include "gtest/gtest.h" + +TEST(Vector, view__empty) { + Firefly::Vector v{0}; + + ASSERT_STREQ(v.View().c_str(), "[]"); +} + +TEST(Vector, view__non_empty) { + Firefly::Vector v{3}; + + ASSERT_STREQ(v.View().c_str(), "[0, 0, 0]"); +}