1+ /*
2+ Copyright (c) 2011 Arduino. All right reserved.
3+
4+ This library is free software; you can redistribute it and/or
5+ modify it under the terms of the GNU Lesser General Public
6+ License as published by the Free Software Foundation; either
7+ version 2.1 of the License, or (at your option) any later version.
8+
9+ This library is distributed in the hope that it will be useful,
10+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+ See the GNU Lesser General Public License for more details.
13+
14+ You should have received a copy of the GNU Lesser General Public
15+ License along with this library; if not, write to the Free Software
16+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17+ */
18+
19+ // ****************************************************************************
20+ // @Project Includes
21+ // ****************************************************************************
22+ extern " C" {
23+ #include " stdlib.h"
24+ #include " stdint.h"
25+ }
26+
27+
28+
29+ // ****************************************************************************
30+ // @Local Functions
31+ // ****************************************************************************
32+
33+ void randomSeed (uint32_t dwSeed) {
34+ if (dwSeed != 0 ) {
35+ srand (dwSeed);
36+ }
37+ }
38+
39+ long random (long howbig) {
40+ if (howbig == 0 ) {
41+ return 0 ;
42+ }
43+
44+ return rand () % howbig;
45+ }
46+
47+ long random (long howsmall, long howbig) {
48+ if (howsmall >= howbig) {
49+ return howsmall;
50+ }
51+
52+ long diff = howbig - howsmall;
53+
54+ return random (diff) + howsmall;
55+ }
56+
57+ // ****************************************************************************
58+ // END OF FILE
59+ // ****************************************************************************
0 commit comments