terrustrial 0.1.1

A Rust library for geospatial statistics, variograms, and kriging.
Documentation
use ultraviolet::{f64x4, DRotor3, DVec3, DVec3x4};

pub mod composite;
pub mod composite_iso;
pub mod iso_exponential;
pub mod iso_gaussian;
pub mod iso_nugget;
pub mod iso_spherical;
pub mod nugget;
pub mod spherical;

pub trait IsoVariogramModel {
    fn c_0(&self) -> f64;
    fn variogram(&self, h: f64) -> f64;
    fn covariogram(&self, h: f64) -> f64;
}

pub trait VariogramModel: Clone + Send {
    // fn variogram(&self, h: Vector3<f32>) -> f32;
    // fn covariogram(&self, h: Vector3<f32>) -> f32;

    fn c_0(&self) -> f64;
    fn variogram(&self, h: DVec3) -> f64;
    fn covariogram(&self, h: DVec3) -> f64;

    fn variogram_simd(&self, h: DVec3x4) -> f64x4;
    fn covariogram_simd(&self, h: DVec3x4) -> f64x4;

    fn set_orientation(&mut self, orientation: DRotor3);
}