Skip to main content

OpType

Enum OpType 

Source
#[repr(u32)]
pub enum OpType {
Show 89 variants Minus = 1, Plus = 2, Not = 3, BitNeg = 4, UnaryAnd = 5, UnaryNand = 6, UnaryOr = 7, UnaryNor = 8, UnaryXor = 9, UnaryXNor = 10, Sub = 11, Div = 12, Mod = 13, Eq = 14, Neq = 15, CaseEq = 16, CaseNeq = 17, Gt = 18, Ge = 19, Lt = 20, Le = 21, LShift = 22, RShift = 23, Add = 24, Mult = 25, LogAnd = 26, LogOr = 27, BitAnd = 28, BitOr = 29, BitXor = 30, BitXnor = 31, Condition = 32, Concat = 33, MultiConcat = 34, EventOr = 35, Null = 36, List = 37, MinTypMax = 38, Posedge = 39, Negedge = 40, ArithLShift = 41, ArithRShift = 42, Power = 43, Imply = 50, NonOverlapImply = 51, OverlapImply = 52, UnaryCycleDelay = 53, CycleDelay = 54, Intersect = 55, FirstMatch = 56, Throughout = 57, Within = 58, Repeat = 59, ConsecutiveRepeat = 60, GotoRepeat = 61, PostInc = 62, PreInc = 63, PostDec = 64, PreDec = 65, Match = 66, Cast = 67, Iff = 68, WildEq = 69, WildNeq = 70, StreamLR = 71, StreamRL = 72, Matched = 73, Triggered = 74, AssignmentPattern = 75, MultiAssignmentPattern = 76, If = 77, IfElse = 78, CompAnd = 79, CompOr = 80, Type = 81, Assignment = 82, AcceptOn = 83, RejectOn = 84, SyncAcceptOn = 85, SyncRejectOn = 86, OverlapFollowedBy = 87, NonOverlapFollowedBy = 88, Nexttime = 89, Always = 90, Eventually = 91, Until = 92, UntilWith = 93, Implies = 94, Inside = 95,
}
Expand description

Operation subtype for expression objects.

Variants§

§

Minus = 1

1: unary minus

§

Plus = 2

2: unary plus

§

Not = 3

3: unary logical not

§

BitNeg = 4

4: unary bitwise negation

§

UnaryAnd = 5

5: bitwise reduction AND

§

UnaryNand = 6

6: bitwise reduction NAND

§

UnaryOr = 7

7: bitwise reduction OR

§

UnaryNor = 8

8: bitwise reduction NOR

§

UnaryXor = 9

9: bitwise reduction XOR

§

UnaryXNor = 10

10: bitwise reduction XNOR

§

Sub = 11

11: binary subtraction

§

Div = 12

12: binary division

§

Mod = 13

13: binary modulus

§

Eq = 14

14: equality

§

Neq = 15

15: inequality

§

CaseEq = 16

16: case equality (x and z aware)

§

CaseNeq = 17

17: case inequality

§

Gt = 18

18: greater than

§

Ge = 19

19: greater than or equal

§

Lt = 20

20: less than

§

Le = 21

21: less than or equal

§

LShift = 22

22: left shift

§

RShift = 23

23: right shift

§

Add = 24

24: addition

§

Mult = 25

25: multiplication

§

LogAnd = 26

26: logical AND

§

LogOr = 27

27: logical OR

§

BitAnd = 28

28: bitwise AND

§

BitOr = 29

29: bitwise OR

§

BitXor = 30

30: bitwise XOR

§

BitXnor = 31

31: bitwise XNOR

§

Condition = 32

32: ternary conditional (? :)

§

Concat = 33

33: concatenation

§

MultiConcat = 34

34: repeated concatenation

§

EventOr = 35

35: event OR

§

Null = 36

36: null operation

§

List = 37

37: list of expressions

§

MinTypMax = 38

38: min:typ:max delay expression

§

Posedge = 39

39: posedge

§

Negedge = 40

40: negedge

§

ArithLShift = 41

41: arithmetic left shift

§

ArithRShift = 42

42: arithmetic right shift

§

Power = 43

43: power/exponentiation

§

Imply = 50

Available on crate feature sv only.

50: implication operator (->)

§

NonOverlapImply = 51

Available on crate feature sv only.

51: non-overlapping implication operator (|=>)

§

OverlapImply = 52

Available on crate feature sv only.

52: overlapping implication operator (|->)

§

UnaryCycleDelay = 53

Available on crate feature sv only.

53: unary cycle delay operator (##)

§

CycleDelay = 54

Available on crate feature sv only.

54: binary cycle delay operator (##)

§

Intersect = 55

Available on crate feature sv only.

55: sequence intersection operator

§

FirstMatch = 56

Available on crate feature sv only.

56: first_match operator

§

Throughout = 57

Available on crate feature sv only.

57: throughout operator

§

Within = 58

Available on crate feature sv only.

58: within operator

§

Repeat = 59

Available on crate feature sv only.

59: non-consecutive repetition operator ([=])

§

ConsecutiveRepeat = 60

Available on crate feature sv only.

60: consecutive repetition operator ([*])

§

GotoRepeat = 61

Available on crate feature sv only.

61: goto repetition operator ([->])

§

PostInc = 62

Available on crate feature sv only.

62: post-increment operator (++)

§

PreInc = 63

Available on crate feature sv only.

63: pre-increment operator (++)

§

PostDec = 64

Available on crate feature sv only.

64: post-decrement operator (–)

§

PreDec = 65

Available on crate feature sv only.

65: pre-decrement operator (–)

§

Match = 66

Available on crate feature sv only.

66: match operator

§

Cast = 67

Available on crate feature sv only.

67: type cast operator (type’())

§

Iff = 68

Available on crate feature sv only.

68: iff operator

§

WildEq = 69

Available on crate feature sv only.

69: wildcard equality operator (==?)

§

WildNeq = 70

Available on crate feature sv only.

70: wildcard inequality operator (!=?)

§

StreamLR = 71

Available on crate feature sv only.

71: left-to-right streaming operator ({>>})

§

StreamRL = 72

Available on crate feature sv only.

72: right-to-left streaming operator ({<<})

§

Matched = 73

Available on crate feature sv only.

73: .matched sequence operation

§

Triggered = 74

Available on crate feature sv only.

74: .triggered sequence operation

§

AssignmentPattern = 75

Available on crate feature sv only.

75: assignment pattern operator (’{})

§

MultiAssignmentPattern = 76

Available on crate feature sv only.

76: multi-assignment pattern operator (’{n{}})

§

If = 77

Available on crate feature sv only.

77: if operator

§

IfElse = 78

Available on crate feature sv only.

78: if-else operator

§

CompAnd = 79

Available on crate feature sv only.

79: composite and operator

§

CompOr = 80

Available on crate feature sv only.

80: composite or operator

§

Type = 81

Available on crate feature sv only.

81: type operator

§

Assignment = 82

Available on crate feature sv only.

82: assignment operator

§

AcceptOn = 83

Available on crate feature sv only.

83: accept_on operator

§

RejectOn = 84

Available on crate feature sv only.

84: reject_on operator

§

SyncAcceptOn = 85

Available on crate feature sv only.

85: sync_accept_on operator

§

SyncRejectOn = 86

Available on crate feature sv only.

86: sync_reject_on operator

§

OverlapFollowedBy = 87

Available on crate feature sv only.

87: overlapped followed_by operator (|=>)

§

NonOverlapFollowedBy = 88

Available on crate feature sv only.

88: non-overlapped followed_by operator (|->)

§

Nexttime = 89

Available on crate feature sv only.

89: nexttime operator

§

Always = 90

Available on crate feature sv only.

90: always operator

§

Eventually = 91

Available on crate feature sv only.

91: eventually operator

§

Until = 92

Available on crate feature sv only.

92: until operator

§

UntilWith = 93

Available on crate feature sv only.

93: until_with operator

§

Implies = 94

Available on crate feature sv only.

94: implies operator

§

Inside = 95

Available on crate feature sv only.

95: inside operator

Implementations§

Source§

impl OpType

Source

pub const BitXNor: Self = OpType::BitXnor

Alias retained for compatibility with legacy naming.

Trait Implementations§

Source§

impl FromPrimitive for OpType

Source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u64(n: u64) -> Option<Self>

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_isize(n: isize) -> Option<Self>

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i8(n: i8) -> Option<Self>

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i16(n: i16) -> Option<Self>

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i32(n: i32) -> Option<Self>

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_i128(n: i128) -> Option<Self>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_usize(n: usize) -> Option<Self>

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u8(n: u8) -> Option<Self>

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u16(n: u16) -> Option<Self>

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u32(n: u32) -> Option<Self>

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_u128(n: u128) -> Option<Self>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

impl ToPrimitive for OpType

Source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.
Source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.
Source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.
Source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.
Source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.
Source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.
Source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned. Read more
Source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.
Source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.
Source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
Source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.
Source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.