Ethiopian multiplication: Difference between revisions

Content deleted Content added
Line 190:
 
=={{header|Haskell}}==
<lang haskell>ethiopicmult 1:: Integral a => a pliand acc =-> acca +-> plianda
ethiopicmult plierx pliandy acc= ethiopicmult' x y 0 where
|ethiopicmult' even0 plier = ethiopicmult (plier `div`_ 2) (pliand * 2) acc = acc
| otherwise = ethiopicmult' (plier `div` 2) (pliand * 2) (acc + pliand)</lang>
| even plier = ethiopicmult' (plier `div` 2) (pliand * 2) acc
| otherwise = ethiopicmult' (plier `div` 2) (pliand * 2) (acc + pliand)</lang>
 
'''Usage example''' from the interpreter
<pre>*Main> ethiopicmult 17 34 0
578</pre>