Divido en Haskelo

Esperante · English
la 5-an de aŭgusto 2018
Laste ĝisdatigita: la 8-an de aŭgusto 2018

Kiam lerni pri divido en Haskelo, mi konsciis, ke la koncepto ne estas kiel bagatela tiel ĝin mi komence volis. Estas subtilaj kontrastoj inter la funkcioj kiu iun povas facile faligi ki ne estas konscias de ili. Entjeran dividon kiu rondigas al nulo quot faras. div similas al quot, tamen ĝi rondigas sub nulo—negativa senfineco. La reston de divido rem liveras. mod, aliflanke, modulan aritmetikon faras.

En la «GHCi»-a interago ĉi-supre, la opon de la apliko de quot kaj rem al iliaj argumentoj quotRem liveras, dum la opon de la apliko de div kaj mod al iliaj argumentoj divMod liveras.

Prelude> quotRem 13 5
(2,3)
Prelude> quotRem (-13) 5
(-2,-3)
Prelude> quotRem 13 (-5)
(-2,3)
Prelude> quotRem 5 13
(0,5)
Prelude> quotRem (-5) 13
(0,-5)
Prelude> quotRem 5 (-13)
(0,5)
Prelude> divMod 13 5
(2,3)
Prelude> divMod (-13) 5
(-3,2)
Prelude> divMod 13 (-5)
(-3,-2)
Prelude> divMod 5 13
(0,5)
Prelude> divMod (-5) 13
(-1,8)
Prelude> divMod 5 (-13)
(-1,-8)

Apartan atenton al negativaj nombroj donante, jen kelkaj rimarkoj pri ĝi: