The new Decimal API

This commit is contained in:
Krasimir Angelov committed 2023-08-21 20:14:26 +02:00
1 parent 58da8deca8
commit fb398c603e
147 files changed
+918 -188

No files matched your search

+15 -1
View File
@@ -1,4 +1,4 @@
concrete NumeralIce of Numeral = CatIce [Numeral,Digits] ** open Prelude, ResIce in {
concrete NumeralIce of Numeral = CatIce [Numeral,Digits,Decimal] ** open Prelude, ResIce in {
param
DForm = unit | teen | ten ;
@@ -203,6 +203,20 @@ concrete NumeralIce of Numeral = CatIce [Numeral,Digits] ** open Prelude, ResIce
D_8 = mkDig "8" ;
D_9 = mkDig "9" ;
PosDecimal d = d ** {hasDot=False} ;
NegDecimal d = {
s = \\o => "-" ++ BIND ++ d.s ! o ;
n = Pl ;
hasDot=False
} ;
IFrac d i = {
s = \\o => d.s ! NCard Sg Masc Nom ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
i.s ! o ;
n = Pl ;
hasDot=True
} ;
oper
mkDig : Str -> TDigit = \c -> mk2Dig c (c + ".") ;