Jump to content

Ethiopian multiplication: Difference between revisions

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>
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.