Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #147695

Re: Bart, a tcc "issue"

Subject Re: Bart, a tcc "issue"
Newsgroups comp.lang.c
References <uRIwF.17878$kE3.891@fx36.iad> <zbJwF.44884$vV6.3918@fx17.am4>
From Bart <bc@freeuk.com>
Message-ID <nGKwF.372084$7ei.124382@fx36.am4> (permalink)
Organization virginmedia.com
Date 2019-11-07 01:44 +0000

Show all headers | View raw


On 07/11/2019 00:03, Bart wrote:
> On 06/11/2019 23:40, DFS wrote:
>> I wrote a distribution of characters counter, and on tcc (0.9.26) on 
>> Windows it always undercounts the last character in the set (9).  If 
>> you have tcc on Windows maybe you could test it.  Doesn't happen on 
>> gcc/MSYS2/Windows.

> 
> So, it would be interesting to see whether gcc/MSYS RAND_MAX is bigger.

I've tried Linux under my Windows system (bloody thing takes 6 minutes 
to start up so I try to avoid it). It appears to have a 31-bit RAND_MAX 
value. This program seemed to give a more even distribution on my Linux, 
but it can also give funny numbers if you're not careful with that 
random number function.

(Getting random numbers equally distributed among 0..N-1 is difficult 
when N is not a power of 2. Here it's 62. I think a bigger RAND_MAX 
helps, but this is not my field.)

This code seemed to work reasonably well on Linux:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <string.h>

int randNbr(int low, int high) {
     int span=high-low+1;
     return (rand()) % span+low;
}

int main(void) {

   int i=0,j=0,k=0,cnt=0;

   srand(time(NULL));

   char charset[63] = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   int charsetLen = strlen(charset);
   printf("RAND_MAX= %d\n",RAND_MAX);
   printf("n = 1000000\n");
   for(i=0;i<charsetLen;i++) {
     for(j=0;j<1000000;j++) {
       k = randNbr(0,charsetLen-1);
       if(charset[i] == charset[k]) {cnt++;}
     }
//    printf("%c = %d\n",charset[i],cnt-16129);
     printf("%c = %d\n",charset[i],cnt);
     cnt=0;
   }

   exit(0);
}

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Bart, a tcc "issue" DFS <nospam@dfs.com> - 2019-11-06 18:40 -0500
  Re: Bart, a tcc "issue" Bart <bc@freeuk.com> - 2019-11-07 00:03 +0000
    Re: Bart, a tcc "issue" Bart <bc@freeuk.com> - 2019-11-07 00:06 +0000
    Re: Bart, a tcc "issue" Bart <bc@freeuk.com> - 2019-11-07 01:44 +0000
  Re: Bart, a tcc "issue" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-07 10:05 -0500
    Re: Bart, a tcc "issue" DFS <nospam@dfs.com> - 2019-11-07 13:22 -0500
    Re: Bart, a tcc "issue" DFS <nospam@dfs.com> - 2019-11-08 09:19 -0500
      Re: Bart, a tcc "issue" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-08 11:03 -0500
  Re: Bart, a tcc "issue" Manfred <noname@add.invalid> - 2019-11-07 18:22 +0100
    Re: Bart, a tcc "issue" Manfred <noname@add.invalid> - 2019-11-07 18:30 +0100
  Re: Bart, a tcc "issue" Richard Damon <Richard@Damon-Family.org> - 2019-11-08 20:51 -0500
    Re: Bart, a tcc "issue" Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-08 20:59 -0800
      Re: Bart, a tcc "issue" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-09 23:16 +0000
        Re: Bart, a tcc "issue" Richard Damon <Richard@Damon-Family.org> - 2019-11-09 20:27 -0500
          Re: Bart, a tcc "issue" Bart <bc@freeuk.com> - 2019-11-10 01:38 +0000
            Re: Bart, a tcc "issue" Richard Damon <Richard@Damon-Family.org> - 2019-11-09 20:59 -0500
              Re: Bart, a tcc "issue" Keith Thompson <kst-u@mib.org> - 2019-11-09 19:22 -0800
          Re: Bart, a tcc "issue" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-10 03:04 +0000
            Re: Bart, a tcc "issue" Richard Damon <Richard@Damon-Family.org> - 2019-11-09 23:04 -0500
              Re: Bart, a tcc "issue" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-10 13:15 +0000
        Re: Bart, a tcc "issue" Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-10 06:04 -0800
        Re: Bart, a tcc "issue" Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-10 07:49 -0800
          Re: Bart, a tcc "issue" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-10 17:49 +0000
      Re: Bart, a tcc "issue" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2019-11-11 02:44 -0800
        Re: Bart, a tcc "issue" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-11 13:57 -0500
          Re: Bart, a tcc "issue" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2019-11-14 16:51 -0800
        Re: Bart, a tcc "issue" Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-28 16:03 -0800

csiph-web