Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
intro_example:operators [2025/05/01 20:37] – created rajitintro_example:operators [2025/05/07 18:34] (current) rajit
Line 31: Line 31:
                [ neg & x.neg | ~neg & ~x.neg -> self.neg := neg; self.val := x.val + val                [ neg & x.neg | ~neg & ~x.neg -> self.neg := neg; self.val := x.val + val
                [] else -> [ x.val > val -> self.val := x.val - val;  self.neg := x.neg                [] else -> [ x.val > val -> self.val := x.val - val;  self.neg := x.neg
-                              [] else -> self.val := val - x.val; self.neg := neg +                          [] else -> self.val := val - x.val; self.neg := neg 
-                              ]+                          ]
               ]               ]
            }            }
Line 39: Line 39:
 } }
 </code> </code>
 +
 +Given this defintion, the CHP statement ''a := a + b'' would be translated to ''a := a.plus (b)'', and then the ''plus()'' function would be used to compute the result of the addition. Other expression operators can also be [[language:types2#operator_overloading|overloaded]] in a similar fashion.