Protocol++® (Protocolpp®)  v5.6.2
SFMT Class Reference

SIMD oriented Fast Mersenne Twister(SFMT) pseudorandom number generator using C structure. More...

#include "include/SFMT.h"

Detailed Description

SIMD oriented Fast Mersenne Twister(SFMT) pseudorandom number generator using C structure.

Author
Mutsuo Saito (Hiroshima University)
Makoto Matsumoto (The University of Tokyo)

Copyright (C) 2006, 2007 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. Copyright (C) 2012 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo. All rights reserved.

The 3-clause BSD License is applied to this software, see LICENSE.txt

Note
We assume that your system has inttypes.h. If your system doesn't have inttypes.h, you have to typedef uint32_t and uint64_t, and you have to define PRIu64 and PRIx64 in this file as follows:
/// typedef unsigned int uint32_t
/// typedef unsigned long long uint64_t
/// #define PRIu64 "llu"
/// #define PRIx64 "llx"
/// 
uint32_t must be exactly 32-bit unsigned integer type (no more, no
less), and uint64_t must be exactly 64-bit unsigned integer type.
PRIu64 and PRIx64 are used for printf function to print 64-bit
unsigned int and 64-bit unsigned int in hexadecimal format.

<center>ported to C++ by : John Peter Greninger &bull; &copy; John Peter Greninger 2015-2024 &bull; All Rights Reserved</center>
<center><sub>All copyrights and trademarks are the property of their respective owners</sub></center>

The source code contained or described herein and all documents related to the source code 
(herein called "Material") are owned by John Peter Greninger and Sheila Rocha Greninger. Title
to the Material remains with John Peter Greninger and Sheila Rocha Greninger. The Material contains
trade secrets and proprietary and confidential information of John Peter Greninger and Sheila Rocha
Greninger. The Material is protected by worldwide copyright and trade secret laws and treaty
provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded,
posted, transmitted, distributed, or disclosed in any way without prior express written consent of
John Peter Greninger and Sheila Rocha Greninger (both are required)

No license under any patent, copyright, trade secret, or other intellectual property right is granted
to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication,
inducement, estoppel, or otherwise. Any license under such intellectual property rights must be express
and approved by John Peter Greninger and Sheila Rocha Greninger in writing

Licensing information can be found at <B>www.protocolpp.com/license</B> with use of the binary forms
permitted provided that the following conditions are met:

* Redistributions in binary form must reproduce the above copyright notice, this list
  of conditions and the following disclaimer in the documentation and/or other materials
  provided with the distribution

* Any and all modifications must be returned to John Peter Greninger at GitHub.com
  https://github.com/jpgreninger/protocolpp for evaluation. Inclusion of modifications
  in the source code shall be determined solely by John Peter Greninger. Failure to
  provide modifications shall render this license NULL and VOID and revoke any rights
  to use of Protocol++&reg;

* Commercial use (incidental or not) requires a fee-based license obtainable at <B>www.protocolpp.com/shop</B>

* Academic or research use requires prior written and notarized permission from John Peter
  and Sheila Rocha Greninger

Use of the source code requires purchase of the source code. Source code can be purchased
at <B>www.protocolpp.com/shop</B>

* <B>US Copyrights at https://www.copyright.gov/</B>
  * <B>TXu002059872 (Version 1.0.0)</B>
  * <B>TXu002066632 (Version 1.2.7)</B>
  * <B>TXu002082674 (Version 1.4.0)</B>
  * <B>TXu002097880 (Version 2.0.0)</B>
  * <B>TXu002169236 (Version 3.0.1)</B>
  * <B>TXu002182417 (Version 4.0.0)</B>
  * <B>TXu002219402 (Version 5.0.0)</B>
  * <B>TXu002272076 (Version 5.2.1)</B>
  * <B>TXu002383571 (Version 5.4.3)</B>

The name of its contributor may not be used to endorse or promote products derived
from this software without specific prior written permission and licensing

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTOR "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

The documentation for this class was generated from the following file: