home *** CD-ROM | disk | FTP | other *** search
/ Chip Special: HTML & Java / Chip-Special_1997-01_HTML-a-Java.bin / javasdk / sdk-java.exe / SDKJava.cab / Samples / native / SieveDemo2 / SieveDemo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-10  |  584 b   |  27 lines

  1. #include <varargs.h>
  2. #include <native.h>
  3. #include "Sieve.h"
  4.  
  5. long __cdecl Sieve_CountPrimes(struct HSieve *phThis, HArrayOfByte *phFlags)
  6. {
  7.     unsigned long count = 0;
  8.     unsigned long i;
  9.  
  10.     for (i = 0; i < obj_length(phFlags); i++)
  11.         (phFlags->body)[i] = 1;
  12.  
  13.     for (i = 2; i < obj_length(phFlags); i++)
  14.     {
  15.         if ((phFlags->body)[i] != 0)
  16.         {
  17.             unsigned long k;
  18.             for (k = i + i; k < obj_length(phFlags); k += i)
  19.                 (phFlags->body)[k] = 0;
  20.  
  21.             count++;
  22.         }
  23.     }
  24.  
  25.     return count;
  26. }
  27.