File: ncrandom.c

package info (click to toggle)
netcdf-parallel 1%3A4.9.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 116,192 kB
  • sloc: ansic: 279,265; sh: 14,143; cpp: 5,971; yacc: 2,612; makefile: 2,075; lex: 1,218; javascript: 280; xml: 173; awk: 2
file content (34 lines) | stat: -rw-r--r-- 741 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 *	Copyright 2018, University Corporation for Atmospheric Research
 *      See netcdf/COPYRIGHT file for copying and redistribution conditions.
 */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STDIO_H
#include <stdio.h>
#endif

#if defined(_WIN32) || defined(_MSC_VER)
extern errno_t rand_s(unsigned int *randomValue);
#endif

/* Support platform independent generation of 32-bit unsigned int random numbers */

int
main() {
    unsigned int urnd = 0; /* range 0..2147483647 */
#if defined(_WIN32) || defined(_MSC_VER)
    (void)rand_s(&urnd);
#else
    long rnd;
    rnd = random();
    urnd = (unsigned)(rnd & 0xffffffff);
#endif
    printf("%u",urnd);
    exit(0);    
}