Это RTL какой-то, не указано, какой, реализации языка C
Да, виноват. Указываю версии:
1). Linux Debian 9.13 32bit/64bit LXDE
clang version 3.8.1-24
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
Везде RAND_MAX=2**31-1=2147483647
P.S. Это еще проверял на клоне Ubuntu: Runtu 14.01.1 LITE в 2014 году.
2). Windows 7 32bit/64bit SP1 со всеми обновлениями до 14.01.2020.
Qt 5.5.0
mingw492_32
и другой компилятор
gcc version 9.2.0 (tdm64-1)
Везде RAND_MAX=2**15-1=32767
P.S. Тоже самое на Win 10 Home 64bit.
Хотелось бы узнать, в чем проблема. Грешил на Windows, видимо по моей ошибке. (Где-то услышал мнение, что RAND_MAX прописана в API Windows).
Для моих задач важен качественный датчик псевдослучайных чисел, а не оперирующий только цифрами 0, 1,..., 32767.
А класс только под C++? Под обычный ansi C таких функций нет?