Skip to main content

ExecSpecFixedWidthArith

Trait ExecSpecFixedWidthArith 

Source
pub trait ExecSpecFixedWidthArith: Sized {
    // Required methods
    spec fn spec_fixed_add(self, rhs: Self) -> Self;
    spec fn spec_fixed_sub(self, rhs: Self) -> Self;
    spec fn spec_fixed_mul(self, rhs: Self) -> Self;
    exec fn exec_fixed_add(self, rhs: Self) -> res : Self;
    exec fn exec_fixed_sub(self, rhs: Self) -> res : Self;
    exec fn exec_fixed_mul(self, rhs: Self) -> res : Self;
}

Required Methods§

Source

spec fn spec_fixed_add(self, rhs: Self) -> Self

Source

spec fn spec_fixed_sub(self, rhs: Self) -> Self

Source

spec fn spec_fixed_mul(self, rhs: Self) -> Self

Source

exec fn exec_fixed_add(self, rhs: Self) -> res : Self

ensures
res == self.spec_fixed_add(rhs),
Source

exec fn exec_fixed_sub(self, rhs: Self) -> res : Self

ensures
res == self.spec_fixed_sub(rhs),
Source

exec fn exec_fixed_mul(self, rhs: Self) -> res : Self

ensures
res == self.spec_fixed_mul(rhs),

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ExecSpecFixedWidthArith for i8

Source§

open spec fn spec_fixed_add(self, rhs: i8) -> i8

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: i8) -> i8

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: i8) -> i8

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: i8) -> res : i8

Source§

exec fn exec_fixed_sub(self, rhs: i8) -> res : i8

Source§

exec fn exec_fixed_mul(self, rhs: i8) -> res : i8

Source§

impl ExecSpecFixedWidthArith for i16

Source§

open spec fn spec_fixed_add(self, rhs: i16) -> i16

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: i16) -> i16

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: i16) -> i16

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: i16) -> res : i16

Source§

exec fn exec_fixed_sub(self, rhs: i16) -> res : i16

Source§

exec fn exec_fixed_mul(self, rhs: i16) -> res : i16

Source§

impl ExecSpecFixedWidthArith for i32

Source§

open spec fn spec_fixed_add(self, rhs: i32) -> i32

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: i32) -> i32

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: i32) -> i32

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: i32) -> res : i32

Source§

exec fn exec_fixed_sub(self, rhs: i32) -> res : i32

Source§

exec fn exec_fixed_mul(self, rhs: i32) -> res : i32

Source§

impl ExecSpecFixedWidthArith for i64

Source§

open spec fn spec_fixed_add(self, rhs: i64) -> i64

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: i64) -> i64

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: i64) -> i64

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: i64) -> res : i64

Source§

exec fn exec_fixed_sub(self, rhs: i64) -> res : i64

Source§

exec fn exec_fixed_mul(self, rhs: i64) -> res : i64

Source§

impl ExecSpecFixedWidthArith for isize

Source§

open spec fn spec_fixed_add(self, rhs: isize) -> isize

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: isize) -> isize

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: isize) -> isize

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: isize) -> res : isize

Source§

exec fn exec_fixed_sub(self, rhs: isize) -> res : isize

Source§

exec fn exec_fixed_mul(self, rhs: isize) -> res : isize

Source§

impl ExecSpecFixedWidthArith for u8

Source§

open spec fn spec_fixed_add(self, rhs: u8) -> u8

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: u8) -> u8

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: u8) -> u8

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: u8) -> res : u8

Source§

exec fn exec_fixed_sub(self, rhs: u8) -> res : u8

Source§

exec fn exec_fixed_mul(self, rhs: u8) -> res : u8

Source§

impl ExecSpecFixedWidthArith for u16

Source§

open spec fn spec_fixed_add(self, rhs: u16) -> u16

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: u16) -> u16

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: u16) -> u16

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: u16) -> res : u16

Source§

exec fn exec_fixed_sub(self, rhs: u16) -> res : u16

Source§

exec fn exec_fixed_mul(self, rhs: u16) -> res : u16

Source§

impl ExecSpecFixedWidthArith for u32

Source§

open spec fn spec_fixed_add(self, rhs: u32) -> u32

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: u32) -> u32

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: u32) -> u32

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: u32) -> res : u32

Source§

exec fn exec_fixed_sub(self, rhs: u32) -> res : u32

Source§

exec fn exec_fixed_mul(self, rhs: u32) -> res : u32

Source§

impl ExecSpecFixedWidthArith for u64

Source§

open spec fn spec_fixed_add(self, rhs: u64) -> u64

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: u64) -> u64

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: u64) -> u64

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: u64) -> res : u64

Source§

exec fn exec_fixed_sub(self, rhs: u64) -> res : u64

Source§

exec fn exec_fixed_mul(self, rhs: u64) -> res : u64

Source§

impl ExecSpecFixedWidthArith for usize

Source§

open spec fn spec_fixed_add(self, rhs: usize) -> usize

{ add(self, rhs) }
Source§

open spec fn spec_fixed_sub(self, rhs: usize) -> usize

{ sub(self, rhs) }
Source§

open spec fn spec_fixed_mul(self, rhs: usize) -> usize

{ mul(self, rhs) }
Source§

exec fn exec_fixed_add(self, rhs: usize) -> res : usize

Source§

exec fn exec_fixed_sub(self, rhs: usize) -> res : usize

Source§

exec fn exec_fixed_mul(self, rhs: usize) -> res : usize

Implementors§