Shift Operations
Dart has implemented the triple shift operator (>>>
) in the opposite way as is implemented in SystemVerilog. That is to say in Dart, >>>
means logical shift right (fill with 0’s), and >>
means arithmetic shift right (maintaining sign). ROHD keeps consistency with Dart’s implementation to avoid introducing confusion within Dart code you write (whether ROHD or plain Dart).
a << b // logical shift left
a >> b // arithmetic shift right
a >>> b // logical shift right