PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Namespaces | Enumerations | Functions
layout.hpp File Reference

Defines functions to convert 2D vectors to 1D SoA or AoS vectors. More...

#include "plssvm/detail/assert.hpp"
#include "plssvm/detail/logger.hpp"
#include "plssvm/detail/performance_tracker.hpp"
#include "fmt/chrono.h"
#include "fmt/core.h"
#include "fmt/ostream.h"
#include <algorithm>
#include <chrono>
#include <cstddef>
#include <iosfwd>
#include <iostream>
#include <vector>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 plssvm
 The main namespace containing all public API functions.
 
 plssvm::detail
 Namespace containing implementation details. Should not directly be used by users.
 

Enumerations

enum class  plssvm::detail::layout_type { plssvm::detail::aos , plssvm::detail::soa }
 Enum class for all available layout types. More...
 

Functions

std::ostream & plssvm::detail::operator<< (std::ostream &out, layout_type layout)
 Output the layout to the given output-stream out. More...
 
std::istream & plssvm::detail::operator>> (std::istream &in, layout_type &layout)
 Use the input-stream in to initialize the layout type. More...
 
template<typename real_type >
std::vector< real_type > plssvm::detail::transform_to_aos_layout (const std::vector< std::vector< real_type >> &matrix, const std::size_t boundary_size, const std::size_t num_points, const std::size_t num_features)
 Convert a 2D matrix into a 1D array in Array-of-Structs layout adding boundary_size values per data point for padding. More...
 
template<typename real_type >
std::vector< real_type > plssvm::detail::transform_to_soa_layout (const std::vector< std::vector< real_type >> &matrix, const std::size_t boundary_size, const std::size_t num_points, const std::size_t num_features)
 Convert a 2D matrix into a 1D array in Struct-of-Arrays layout adding boundary_size values per feature for padding. More...
 
template<typename real_type >
std::vector< real_type > plssvm::detail::transform_to_layout (const layout_type layout, const std::vector< std::vector< real_type >> &matrix, const std::size_t boundary_size, const std::size_t num_points)
 Convert a 2D matrix into a 1D array in the layout adding boundary_size values per data point or feature respectively for padding. More...
 

Detailed Description

Defines functions to convert 2D vectors to 1D SoA or AoS vectors.

Author
Alexander Van Craen
Marcel Breyer
License
This file is part of the PLSSVM project which is released under the MIT license. See the LICENSE.md file in the project root for full license information.