used to tell if a number is prime
you should find it a bit faster than your normal prime number algorithm
i'm not sure which compilers don't accept inline assembly, but i compiled in visual studio.
#include <cmath>
bool prime(unsigned n)
{
switch (n)
{
case 0:
case 1:
return false;
case 2:
case 3:
return true;
default:
break;
}
double dSq = sqrt((double)n);
unsigned sqrt = (int)dSq;
unsigned prime;
// check 2 to sqrt for divisibility
__asm
{
mov esi, n
mov edi, sqrt
mov ebx, 1
mov ecx, 1
_loop:
inc ecx
cmp ecx, edi
ja _end
mov eax, esi
xor edx, edx
div ecx
cmp edx, 0
jne _loop
mov ebx, 0
_end:
mov prime, ebx
}
return (prime == 1);
}