MulTE

Trait MulTE 

Source
pub trait MulTE<T, E> {
    // Required method
    fn mul(a: &T, b: &E) -> E;
}
Expand description

通过这个trait中的mul函数实现T和E类型相乘

如果需要使用自己定义的数据类型,则需要实现这个trait,如

use network_flow::graph::Graph;
use network_flow::costtype::MulTE;
#[derive(Default, Clone)]
struct Complex {
    x : f64,
    y : f64
}
 
struct Mul_u32_Complex;
 
impl MulTE<u32, Complex> for Mul_u32_Complex {
    fn mul(a : &u32, b : &Complex) -> Complex {
        Complex {
            x : *a as f64 * b.x,
            y : *a as f64 * b.y
        }
    }
}
 
let x = Graph::<String, u32, Complex, Mul_u32_Complex>::new();

Required Methods§

Source

fn mul(a: &T, b: &E) -> E

两个数相乘后得到一个和第二个数类型相同的值。

这要求原则上b的精度应该大于a的精度。

注意两个参数均为引用,使得可以更方便地作用于非Copy的type。

基础的数据类型(u8-u128, i8-i128, f32, f64)之间的转化默认已经实现,如可以声明graph为

Graph::<String, u32, f64>

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.

Implementors§

Source§

impl MulTE<f32, f32> for MulTEDefaultType

Source§

impl MulTE<f32, f64> for MulTEDefaultType

Source§

impl MulTE<f64, f64> for MulTEDefaultType

Source§

impl MulTE<i8, f32> for MulTEDefaultType

Source§

impl MulTE<i8, f64> for MulTEDefaultType

Source§

impl MulTE<i8, i8> for MulTEDefaultType

Source§

impl MulTE<i8, i16> for MulTEDefaultType

Source§

impl MulTE<i8, i32> for MulTEDefaultType

Source§

impl MulTE<i8, i64> for MulTEDefaultType

Source§

impl MulTE<i8, i128> for MulTEDefaultType

Source§

impl MulTE<i8, isize> for MulTEDefaultType

Source§

impl MulTE<i8, u8> for MulTEDefaultType

Source§

impl MulTE<i8, u16> for MulTEDefaultType

Source§

impl MulTE<i8, u32> for MulTEDefaultType

Source§

impl MulTE<i8, u64> for MulTEDefaultType

Source§

impl MulTE<i8, u128> for MulTEDefaultType

Source§

impl MulTE<i8, usize> for MulTEDefaultType

Source§

impl MulTE<i16, f32> for MulTEDefaultType

Source§

impl MulTE<i16, f64> for MulTEDefaultType

Source§

impl MulTE<i16, i16> for MulTEDefaultType

Source§

impl MulTE<i16, i32> for MulTEDefaultType

Source§

impl MulTE<i16, i64> for MulTEDefaultType

Source§

impl MulTE<i16, i128> for MulTEDefaultType

Source§

impl MulTE<i16, isize> for MulTEDefaultType

Source§

impl MulTE<i16, u16> for MulTEDefaultType

Source§

impl MulTE<i16, u32> for MulTEDefaultType

Source§

impl MulTE<i16, u64> for MulTEDefaultType

Source§

impl MulTE<i16, u128> for MulTEDefaultType

Source§

impl MulTE<i16, usize> for MulTEDefaultType

Source§

impl MulTE<i32, f32> for MulTEDefaultType

Source§

impl MulTE<i32, f64> for MulTEDefaultType

Source§

impl MulTE<i32, i32> for MulTEDefaultType

Source§

impl MulTE<i32, i64> for MulTEDefaultType

Source§

impl MulTE<i32, i128> for MulTEDefaultType

Source§

impl MulTE<i32, isize> for MulTEDefaultType

Source§

impl MulTE<i32, u32> for MulTEDefaultType

Source§

impl MulTE<i32, u64> for MulTEDefaultType

Source§

impl MulTE<i32, u128> for MulTEDefaultType

Source§

impl MulTE<i32, usize> for MulTEDefaultType

Source§

impl MulTE<i64, f32> for MulTEDefaultType

Source§

impl MulTE<i64, f64> for MulTEDefaultType

Source§

impl MulTE<i64, i64> for MulTEDefaultType

Source§

impl MulTE<i64, i128> for MulTEDefaultType

Source§

impl MulTE<i64, isize> for MulTEDefaultType

Source§

impl MulTE<i64, u64> for MulTEDefaultType

Source§

impl MulTE<i64, u128> for MulTEDefaultType

Source§

impl MulTE<i64, usize> for MulTEDefaultType

Source§

impl MulTE<i128, f32> for MulTEDefaultType

Source§

impl MulTE<i128, f64> for MulTEDefaultType

Source§

impl MulTE<i128, i128> for MulTEDefaultType

Source§

impl MulTE<i128, u128> for MulTEDefaultType

Source§

impl MulTE<isize, f32> for MulTEDefaultType

Source§

impl MulTE<isize, f64> for MulTEDefaultType

Source§

impl MulTE<isize, i64> for MulTEDefaultType

Source§

impl MulTE<isize, i128> for MulTEDefaultType

Source§

impl MulTE<isize, isize> for MulTEDefaultType

Source§

impl MulTE<isize, u64> for MulTEDefaultType

Source§

impl MulTE<isize, u128> for MulTEDefaultType

Source§

impl MulTE<isize, usize> for MulTEDefaultType

Source§

impl MulTE<u8, f32> for MulTEDefaultType

Source§

impl MulTE<u8, f64> for MulTEDefaultType

Source§

impl MulTE<u8, i8> for MulTEDefaultType

Source§

impl MulTE<u8, i16> for MulTEDefaultType

Source§

impl MulTE<u8, i32> for MulTEDefaultType

Source§

impl MulTE<u8, i64> for MulTEDefaultType

Source§

impl MulTE<u8, i128> for MulTEDefaultType

Source§

impl MulTE<u8, isize> for MulTEDefaultType

Source§

impl MulTE<u8, u8> for MulTEDefaultType

Source§

impl MulTE<u8, u16> for MulTEDefaultType

Source§

impl MulTE<u8, u32> for MulTEDefaultType

Source§

impl MulTE<u8, u64> for MulTEDefaultType

Source§

impl MulTE<u8, u128> for MulTEDefaultType

Source§

impl MulTE<u8, usize> for MulTEDefaultType

Source§

impl MulTE<u16, f32> for MulTEDefaultType

Source§

impl MulTE<u16, f64> for MulTEDefaultType

Source§

impl MulTE<u16, i16> for MulTEDefaultType

Source§

impl MulTE<u16, i32> for MulTEDefaultType

Source§

impl MulTE<u16, i64> for MulTEDefaultType

Source§

impl MulTE<u16, i128> for MulTEDefaultType

Source§

impl MulTE<u16, isize> for MulTEDefaultType

Source§

impl MulTE<u16, u16> for MulTEDefaultType

Source§

impl MulTE<u16, u32> for MulTEDefaultType

Source§

impl MulTE<u16, u64> for MulTEDefaultType

Source§

impl MulTE<u16, u128> for MulTEDefaultType

Source§

impl MulTE<u16, usize> for MulTEDefaultType

Source§

impl MulTE<u32, f32> for MulTEDefaultType

Source§

impl MulTE<u32, f64> for MulTEDefaultType

Source§

impl MulTE<u32, i32> for MulTEDefaultType

Source§

impl MulTE<u32, i64> for MulTEDefaultType

Source§

impl MulTE<u32, i128> for MulTEDefaultType

Source§

impl MulTE<u32, isize> for MulTEDefaultType

Source§

impl MulTE<u32, u32> for MulTEDefaultType

Source§

impl MulTE<u32, u64> for MulTEDefaultType

Source§

impl MulTE<u32, u128> for MulTEDefaultType

Source§

impl MulTE<u32, usize> for MulTEDefaultType

Source§

impl MulTE<u64, f32> for MulTEDefaultType

Source§

impl MulTE<u64, f64> for MulTEDefaultType

Source§

impl MulTE<u64, i64> for MulTEDefaultType

Source§

impl MulTE<u64, i128> for MulTEDefaultType

Source§

impl MulTE<u64, isize> for MulTEDefaultType

Source§

impl MulTE<u64, u64> for MulTEDefaultType

Source§

impl MulTE<u64, u128> for MulTEDefaultType

Source§

impl MulTE<u64, usize> for MulTEDefaultType

Source§

impl MulTE<u128, f32> for MulTEDefaultType

Source§

impl MulTE<u128, f64> for MulTEDefaultType

Source§

impl MulTE<u128, i128> for MulTEDefaultType

Source§

impl MulTE<u128, u128> for MulTEDefaultType

Source§

impl MulTE<usize, f32> for MulTEDefaultType

Source§

impl MulTE<usize, f64> for MulTEDefaultType

Source§

impl MulTE<usize, i64> for MulTEDefaultType

Source§

impl MulTE<usize, i128> for MulTEDefaultType

Source§

impl MulTE<usize, isize> for MulTEDefaultType

Source§

impl MulTE<usize, u64> for MulTEDefaultType

Source§

impl MulTE<usize, u128> for MulTEDefaultType

Source§

impl MulTE<usize, usize> for MulTEDefaultType

Source§

impl<T> MulTE<T, ()> for MulTEDefaultType