Ethiopian multiplication: Difference between revisions

Content added Content deleted
(→‎{{header|Objeck}}: Marked incomplete as functions to halve and double are missing.)
Line 1,859: Line 1,859:


=={{header|Objeck}}==
=={{header|Objeck}}==
{{incomplete|Objeck|Functions to halve and double are missing.}}
{{trans|Java}}
{{trans|Java}}
<lang objeck>
<lang objeck>
Line 1,880: Line 1,879:
sum := isEven(first)? 0 : second;
sum := isEven(first)? 0 : second;
do {
do {
first := first >> 1;
first := halveInt(first);
second := second << 1;
second := doubleInt(second);
if(isEven(first) = false){
if(isEven(first) = false){
sum += second;
sum += second;
Line 1,889: Line 1,888:
return sum;
return sum;
}
function : halveInt(num : Int) ~ Bool {
return num >> 1;
}

function : doubleInt(num : Int) ~ Bool {
return num << 1;
}
}