Ethiopian multiplication: Difference between revisions
m
moved PowerShell after Powerbuilder (alphabetized)
m (moved PowerShell after Powerbuilder (alphabetized)) |
|||
Line 1,740:
end;
/</lang>
=={{header|Powerbuilder}}==▼
<lang powerbuilder>public function boolean wf_iseven (long al_arg);return mod(al_arg, 2 ) = 0▼
end function▼
public function long wf_halve (long al_arg);RETURN int(al_arg / 2)▼
end function▼
public function long wf_double (long al_arg);RETURN al_arg * 2▼
end function▼
public function long wf_ethiopianmultiplication (long al_multiplicand, long al_multiplier);// calculate result▼
long ll_product▼
DO WHILE al_multiplicand >= 1▼
IF wf_iseven(al_multiplicand) THEN▼
// do nothing▼
ELSE▼
ll_product += al_multiplier▼
END IF▼
al_multiplicand = wf_halve(al_multiplicand)▼
al_multiplier = wf_double(al_multiplier)▼
LOOP▼
return ll_product▼
end function▼
// example call▼
long ll_answer▼
ll_answer = wf_ethiopianmultiplication(17,34)</lang>▼
=={{header|PowerShell}}==
Line 1,810 ⟶ 1,842:
Ethiopian 17 34
</lang>
▲=={{header|Powerbuilder}}==
▲<lang powerbuilder>public function boolean wf_iseven (long al_arg);return mod(al_arg, 2 ) = 0
▲end function
▲public function long wf_halve (long al_arg);RETURN int(al_arg / 2)
▲end function
▲public function long wf_double (long al_arg);RETURN al_arg * 2
▲end function
▲public function long wf_ethiopianmultiplication (long al_multiplicand, long al_multiplier);// calculate result
▲long ll_product
▲DO WHILE al_multiplicand >= 1
▲ IF wf_iseven(al_multiplicand) THEN
▲ // do nothing
▲ ELSE
▲ ll_product += al_multiplier
▲ END IF
▲ al_multiplicand = wf_halve(al_multiplicand)
▲ al_multiplier = wf_double(al_multiplier)
▲LOOP
▲return ll_product
▲end function
▲// example call
▲long ll_answer
▲ll_answer = wf_ethiopianmultiplication(17,34)</lang>
=={{header|PureBasic}}==
|