[Back to MATH SWAG index]  [Back to Main SWAG index]  [Original]

{
>> Is there a faster way to find the GCD of two numbers than
>> Euclid's algorithm?

> Euclid's algorithm isn't fast enough for you?

Oh yes, I gather it is, but I'm interested in whether there are faster
ways or not.

> quick div or mod.  The following should be fast enough.
> function GCD( u, v : LongInt) : LongInt;

Here's my implementation:
}

function gcd(a, b : word) : word; assembler;
asm
  mov     ax,a
  mov     bx,b
@start:
  or      bx,bx
  jz      @endgcd
  xor     dx,dx
  div     bx
  mov     ax,bx
  mov     bx,dx
  jmp     @start
@endgcd:
end;


[Back to MATH SWAG index]  [Back to Main SWAG index]  [Original]