/**
 * \mainpage
 *
 * This is SIMD oriented Fast Mersenne Twister pseudorandom number
 * generator(dSFMT) with jump function.
 *
 * This Project provides jump function of dSFMT.
 *
 * There are two steps for jumpping.
 * <ol>
 *  <li>Calculate jump polynomial using magic polynomial.
 *   <ul>
 *    <li>\b calc-jump executable file calculates a jump polynomial.
 *    <li>\b calc-jump is written in C++ language and needs NTL for compile.
 *    <li> Additionally, users can call
 *     dsfmt::calc_jump(std::string& jump_str, NTL::ZZ& step,
 *     NTL::GF2X& characteristic) in SFMT-calc-jump.hpp from their
 *     programs.
 *    <li> jump steps used above is based on internal state,
 *     i.e, doubles are skipped 2 * jump steps.
 *   </ul>
 *  <li> Change internal state of dSFMT into jumpped state.
 *   <ul>
 *     <li>\b dSFMT_jump(dsfmt_t * dsfmt, const char * jump_str)
 *         changes internal state of \b dsfmt in user's programs.
 *     <li> @see sample1.c sample2.c
 *   </ul>
 * </ol>
 *
 * Caution:
 *   The jump polynomial calculated using a magic polynomial
 * is only available for jumpping dSFMT states which has MEXP
 * correspond to the magic polynomial.
 *
 * @author Mutsuo Saito (Hiroshima University)
 * @author Makoto Matsumoto (The University of Tokyo)
 *
 * @date 2012-07-03
 *
 * 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.
 * \verbinclude LICENSE.txt
 */
