MACHINE	 Int_TYPE_Ops 

SEES	Bool_TYPE,  Int_TYPE
 
OPERATIONS

  uu <-- MINI(vv:INT & ww:INT) = 
     SELECT vv <= ww THEN uu := vv 
     WHEN  ww <= vv THEN uu := ww END;

  uu <-- MAXI(vv:INT & ww:INT) = 
     SELECT vv >= ww THEN uu := vv 
     WHEN  ww >= vv THEN uu := ww END;

  uu <-- INCI(vv:INT) =
    PRE vv < MaxINT THEN uu:=vv+(+1) END;

  uu <-- DECI(vv:INT) =
    PRE vv > MinINT THEN uu:=vv-(+1) END;


  uu <-- ADDI(vv:INT & ww:INT) =
    PRE vv+ww : INT THEN uu:=vv+ww END;

  uu <-- MULI(vv:INT & ww:INT) =
    PRE vv*ww : INT THEN uu:=vv*ww END;

  uu <-- SUBI(vv:INT & ww:INT) =
    PRE vv-ww : INT THEN uu:=vv-ww END;

  uu <-- DIVI(vv:INT & ww:INT) =
    PRE ww /= +0 THEN uu:=vv/ww END;

  uu <-- MODI(vv:INT & ww:INT) =
    PRE ww /= +0 THEN uu:=vv-ww*(vv/ww) END;


  bb <-- EQLI(vv:INT & ww:INT) = BEGIN bb:=bool(vv=ww) END;

  bb <-- NEQI(vv:INT & ww:INT) = BEGIN bb:=bool(vv/=ww) END;

  bb <-- GTRI(vv:INT & ww:INT) = BEGIN bb:=bool(vv>ww) END;

  bb <-- GEQI(vv:INT & ww:INT) = BEGIN bb:=bool(vv>=ww) END;

  bb <-- SMRI(vv:INT & ww:INT) = BEGIN bb:=bool(vvEND;

  bb <-- LEQI(vv:INT & ww:INT) = BEGIN bb:=bool(vv<=ww) END;

  bb <-- EQZI(vv:INT) = BEGIN bb:=bool(vv=(+0)) END

END


Analysed Constructs

Hypertext Constructs Page

On-line Help

Help Contents Page
Index

Document Last Updated: Wed Aug 25 17:35:37 1999

B-Toolkit Beta 4.55