]> git.cameronkatri.com Git - bsdgames-darwin.git/commitdiff
avoid strange typcast.
authoritojun <itojun@NetBSD.org>
Sat, 20 Jan 2001 15:06:34 +0000 (15:06 +0000)
committeritojun <itojun@NetBSD.org>
Sat, 20 Jan 2001 15:06:34 +0000 (15:06 +0000)
primes/pr_tbl.c
primes/primes.c

index 25d2132a67a22ba158f0e27a90fd35f75b79a08b..f743cf5c27f97b30489ba702ed1f7cf1fe626388 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: pr_tbl.c,v 1.5 1999/09/08 21:17:55 jsm Exp $   */
+/*     $NetBSD: pr_tbl.c,v 1.6 2001/01/20 15:06:34 itojun Exp $        */
 
 /*
  * Copyright (c) 1989, 1993
@@ -41,7 +41,7 @@
 #if 0
 static char sccsid[] = "@(#)pr_tbl.c   8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: pr_tbl.c,v 1.5 1999/09/08 21:17:55 jsm Exp $");
+__RCSID("$NetBSD: pr_tbl.c,v 1.6 2001/01/20 15:06:34 itojun Exp $");
 #endif
 #endif /* not lint */
 
@@ -550,4 +550,4 @@ const ubig prime[] = {
 };
 
 /* pr_limit - largest prime in the prime table */
-const unsigned long *pr_limit = &prime[(sizeof(prime)/sizeof(prime[0]))-1];
+const ubig *pr_limit = &prime[(sizeof(prime)/sizeof(prime[0]))-1];
index 67fa6a4fb7e8bca0d5cbb42c737c63fb3a6fea3f..bd2a993cf5d2db245dd1d7223d09e76e86915443 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: primes.c,v 1.9 1999/09/08 21:17:55 jsm Exp $   */
+/*     $NetBSD: primes.c,v 1.10 2001/01/20 15:06:35 itojun Exp $       */
 
 /*
  * Copyright (c) 1989, 1993
@@ -46,7 +46,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\
 #if 0
 static char sccsid[] = "@(#)primes.c   8.5 (Berkeley) 5/10/95";
 #else
-__RCSID("$NetBSD: primes.c,v 1.9 1999/09/08 21:17:55 jsm Exp $");
+__RCSID("$NetBSD: primes.c,v 1.10 2001/01/20 15:06:35 itojun Exp $");
 #endif
 #endif /* not lint */
 
@@ -229,6 +229,7 @@ primes(start, stop)
        char *tab_lim;          /* the limit to sieve on the table */
        const ubig *p;          /* prime table pointer */
        ubig fact_lim;          /* highest prime for current block */
+       ubig mod;               /* temp storage for mod */
 
        /*
         * A number of systems can not convert double values into unsigned
@@ -309,11 +310,11 @@ primes(start, stop)
                p = &prime[7];  /* 19 is next prime, pi(19)=7 */
                do {
                        /* determine the factor's initial sieve point */
-                       q = (char *)(start%factor); /* temp storage for mod */
-                       if ((long)q & 0x1) {
-                               q = &table[(factor-(long)q)/2];
+                       mod = start%factor;
+                       if (mod & 0x1) {
+                               q = &table[(factor-mod)/2];
                        } else {
-                               q = &table[q ? factor-((long)q/2) : 0];
+                               q = &table[mod ? factor-(mod/2) : 0];
                        }
                        /* sive for our current factor */
                        for ( ; q < tab_lim; q += factor) {