ohsl 0.12.0

A collection of numerical routines and mathematical types for use in scientific computing.
Documentation
use ohsl::complex::{Complex, Cmplx};

#[test]
fn construction() {
    let z = Complex::<i32>::new( 1, 1 );
    assert_eq!( z.real, 1 );
    assert_eq!( z.imag, 1 );
    let z = Cmplx::new( 1.0, 1.0 );
    assert_eq!( z.real, 1.0 );
    assert_eq!( z.imag, 1.0 );
}

#[test]
fn conjugate() {
    let z = Complex::new( 1.0, 1.0 );
    let zbar = z.conj();
    assert_eq!( zbar.real, 1.0 );
    assert_eq!( zbar.imag, -1.0 );
}

mod basic_arithmetic;
mod assignment_arithmetic;
mod elementary_functions;
mod trigonometric_functions;
mod hyperbolic_functions;

#[test]
fn test_complex_ordering() {
    let z = Complex::new( 0.0, 1.0 );
    let w = Complex::new( 0.0, 1.0 );
    assert!( z == w );
    let u = Complex::new( 1.0, -1.0 );
    assert!( u > z );
    let p = Complex::new( 0.0, -1.0 );
    assert!( p < z );
    assert!( u > p );
}