GENERIC INTERFACEResidueClassFmtLex (RF, ResC);
Arithmetic for Modula-3, see doc for details
Abstract: Formatting and parsing residue classes
FROM Arithmetic IMPORT Error;
FROM FmtLexSupport IMPORT Precedence;
TYPE T = ResC.T;
TYPE FmtStyle = RECORD elemStyle := RF.FmtStyle{}; END;
PROCEDURE Fmt (READONLY x: T; READONLY style := FmtStyle{}; ): TEXT;
outputs as FRACTION{re:=<r>; im:=<r>} Uses simple F.Real if x.im=0.0.
TYPE
TexFlag = {ShowDivisor (* Show the divisor as index *)
};
TexFlagSet = SET OF TexFlag;
TexStyle = RECORD
flags := TexFlagSet{};
elemStyle := RF.TexStyle{};
END;
PROCEDURE Tex (READONLY x : T;
READONLY style := TexStyle{};
within := Precedence.Sum; ): TEXT;
END ResidueClassFmtLex.