pub trait KernelMethodCompatibility<K: KernelType, M: ApproximationMethod> {
const IS_COMPATIBLE: bool;
const PERFORMANCE_TIER: PerformanceTier;
const MEMORY_COMPLEXITY: ComplexityClass;
}Expand description
Compile-time compatibility checking between kernels and methods
Required Associated Constants§
Sourceconst IS_COMPATIBLE: bool
const IS_COMPATIBLE: bool
Whether this kernel-method combination is supported
Sourceconst PERFORMANCE_TIER: PerformanceTier
const PERFORMANCE_TIER: PerformanceTier
Performance characteristics of this combination
Sourceconst MEMORY_COMPLEXITY: ComplexityClass
const MEMORY_COMPLEXITY: ComplexityClass
Memory complexity
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl KernelMethodCompatibility<ArcCosineKernel, FastfoodMethod> for ()
impl KernelMethodCompatibility<ArcCosineKernel, FastfoodMethod> for ()
const IS_COMPATIBLE: bool = false
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Poor
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::DimensionDependent
Source§impl KernelMethodCompatibility<ArcCosineKernel, NystromMethod> for ()
impl KernelMethodCompatibility<ArcCosineKernel, NystromMethod> for ()
const IS_COMPATIBLE: bool = false
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Poor
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic
Source§impl KernelMethodCompatibility<ArcCosineKernel, RandomFourierFeatures> for ()
Arc-cosine kernels have limited compatibility
impl KernelMethodCompatibility<ArcCosineKernel, RandomFourierFeatures> for ()
Arc-cosine kernels have limited compatibility
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Acceptable
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear
Source§impl KernelMethodCompatibility<LaplacianKernel, NystromMethod> for ()
impl KernelMethodCompatibility<LaplacianKernel, NystromMethod> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic
Source§impl KernelMethodCompatibility<LaplacianKernel, RandomFourierFeatures> for ()
impl KernelMethodCompatibility<LaplacianKernel, RandomFourierFeatures> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Optimal
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear
Source§impl KernelMethodCompatibility<PolynomialKernel, NystromMethod> for ()
impl KernelMethodCompatibility<PolynomialKernel, NystromMethod> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic
Source§impl KernelMethodCompatibility<PolynomialKernel, RandomFourierFeatures> for ()
impl KernelMethodCompatibility<PolynomialKernel, RandomFourierFeatures> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear
Source§impl KernelMethodCompatibility<RBFKernel, FastfoodMethod> for ()
impl KernelMethodCompatibility<RBFKernel, FastfoodMethod> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Optimal
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::DimensionDependent
Source§impl KernelMethodCompatibility<RBFKernel, NystromMethod> for ()
impl KernelMethodCompatibility<RBFKernel, NystromMethod> for ()
const IS_COMPATIBLE: bool = true
const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good
const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic
Source§impl KernelMethodCompatibility<RBFKernel, RandomFourierFeatures> for ()
Implement compatibility rules
impl KernelMethodCompatibility<RBFKernel, RandomFourierFeatures> for ()
Implement compatibility rules