PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Classes | Namespaces | Typedefs | Functions | Variables
parameter.hpp File Reference

Implements the parameter class encapsulating all important C-SVM parameters. More...

#include "plssvm/default_value.hpp"
#include "plssvm/detail/type_traits.hpp"
#include "plssvm/detail/utility.hpp"
#include "plssvm/kernel_function_types.hpp"
#include "fmt/core.h"
#include "fmt/ostream.h"
#include "igor/igor.hpp"
#include <iostream>
#include <string_view>
#include <type_traits>
#include <utility>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plssvm::detail::parameter< T >
 Class for encapsulating all important C-SVM parameters. More...
 

Namespaces

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

Typedefs

using plssvm::parameter = detail::parameter< double >
 The public parameter type uses double to store the SVM parameters.
 

Functions

template<typename ExpectedType , typename IgorParser , typename NamedArgType >
ExpectedType plssvm::detail::get_value_from_named_parameter (const IgorParser &parser, const NamedArgType &named_arg)
 Parse the value hold be named_arg and return it converted to the ExpectedType. More...
 
template<typename T >
constexpr bool plssvm::detail::operator== (const parameter< T > &lhs, const parameter< T > &rhs) noexcept
 Compares the two parameter sets lhs and rhs for equality. More...
 
template<typename T >
constexpr bool plssvm::detail::operator!= (const parameter< T > &lhs, const parameter< T > &rhs) noexcept
 Compares the two parameter sets lhs and rhs for inequality. More...
 
template<typename T >
constexpr bool plssvm::detail::equivalent (const parameter< T > &lhs, const parameter< T > &rhs) noexcept
 Checks whether the two parameter sets lhs and rhs are equivalent. More...
 
template<typename T >
std::ostream & plssvm::detail::operator<< (std::ostream &out, const parameter< T > &params)
 Output all parameters encapsulated by params to the given output-stream out. More...
 
constexpr bool plssvm::equivalent (const parameter &lhs, const parameter &rhs) noexcept
 Checks whether the two parameter sets lhs and rhs are equivalent. More...
 

Variables

template<typename... Args>
constexpr bool plssvm::detail::has_only_named_args_v = !igor::has_unnamed_arguments<Args...>()
 Trait to check whether Args only contains named-parameter.
 
template<typename... Args>
constexpr bool plssvm::detail::has_only_parameter_named_args_v = !igor::has_other_than<Args...>(plssvm::kernel_type, plssvm::gamma, plssvm::degree, plssvm::coef0, plssvm::cost)
 Trait to check whether Args only contains named-parameter that can be used to initialize a plssvm::parameter struct.
 
template<typename... Args>
constexpr bool plssvm::detail::has_only_sycl_parameter_named_args_v = !igor::has_other_than<Args...>(plssvm::kernel_type, plssvm::gamma, plssvm::degree, plssvm::coef0, plssvm::cost, plssvm::sycl_implementation_type, plssvm::sycl_kernel_invocation_type)
 Trait to check whether Args only contains named-parameter that can be used to initialize a plssvm::parameter struct including SYCL specific named-parameters.
 

Detailed Description

Implements the parameter class encapsulating all important C-SVM parameters.

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.