Trait bempp::traits::KernelEvaluator

source ·
pub trait KernelEvaluator {
    type T: RlstScalar;

    // Required methods
    fn assemble_pairwise_st(
        &self,
        sources: &[<Self::T as RlstScalar>::Real],
        targets: &[<Self::T as RlstScalar>::Real],
        result: &mut [Self::T],
    );
    fn assemble_st(
        &self,
        sources: &[<Self::T as RlstScalar>::Real],
        targets: &[<Self::T as RlstScalar>::Real],
        result: &mut [Self::T],
    );
}
Expand description

Kernel evaluator

Required Associated Types§

source

type T: RlstScalar

Scalar type

Required Methods§

source

fn assemble_pairwise_st( &self, sources: &[<Self::T as RlstScalar>::Real], targets: &[<Self::T as RlstScalar>::Real], result: &mut [Self::T], )

Evaluate the kernel values for all source and target pairs

For each source, the kernel is evaluated for exactly one target. This is equivalent to taking the diagonal of the matrix assembled by assemble_st

source

fn assemble_st( &self, sources: &[<Self::T as RlstScalar>::Real], targets: &[<Self::T as RlstScalar>::Real], result: &mut [Self::T], )

Evaluate the kernel values for all sources and all targets

For every source, the kernel is evaluated for every target.

Implementors§

source§

impl<T: RlstScalar, K: Kernel<T = T>> KernelEvaluator for KernelEvaluator<T, K>

source§

type T = T