📄 mcsrandomnumbergenerator.cpp
字号:
/* Random Number Generator (appropriate for simulation) The function generate_random_number is from Appendix A of "Simulation Using Promodel" by Harrell, Ghosh, and Bowden, 3rd Edition, McGraw Hill, Boston, year 2000. The constructor contains the parameters specified by the book. *//* MCS-libre, a library to facilite Monte-Carlo simulation. Copyright (C) 2002 D. E. Williams This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA The full text of the GNU Lesser General Public License is contained in the files COPYING and LICENSE. See the 'MCS-libre-HOWTO' in the 'doc' directory for author's contact information. Have a nice day!*/#include <cmath>#include "mcsRandomNumberGenerator.h"double randomNumberGenerator::show_maximum(){ // used by stream.h for normalization of random output // i.e., to create uniform(0,1) distribution return m;}double randomNumberGenerator::generate_random_number(double zlast) { return fmod((a * zlast) + c, m);}randomNumberGenerator::randomNumberGenerator(){ m = pow(2,31) - 1; a = 630360016; c = 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -