Siv3D/include/ThirdParty/SFMT/SFMT.hpp
inline void sfmt_fill_array64(sfmt_t * sfmt, uint64_t *array, int size) {
		assert(sfmt->idx == SFMT_N32);
		assert(size % 2 == 0);
		assert(size >= SFMT_N64);

		gen_rand_array(sfmt, (w128_t *)array, size / 2);
		sfmt->idx = SFMT_N32;

#if defined(BIG_ENDIAN64) && !defined(ONLY64)
		swap((w128_t *)array, size / 2);
#endif
	}
/**
	* This function generates pseudorandom 64-bit integers in the
	* specified array[] by one call. The number of pseudorandom integers
	* is specified by the argument size, which must be at least 312 and a
	* multiple of two.  The generation by this function is much faster
	* than the following gen_rand function.
	*
	* @param sfmt SFMT internal state
	* For initialization, init_gen_rand or init_by_array must be called
	* before the first call of this function. This function can not be
	* used after calling gen_rand function, without initialization.
	*
	* @param array an array where pseudorandom 64-bit integers are filled
	* by this function.  The pointer to the array must be "aligned"
	* (namely, must be a multiple of 16) in the SIMD version, since it
	* refers to the address of a 128-bit integer.  In the standard C
	* version, the pointer is arbitrary.
	*
	* @param size the number of 64-bit pseudorandom integers to be
	* generated.  size must be a multiple of 2, and greater than or equal
	* to (MEXP / 128 + 1) * 2
	*
	* @note \b memalign or \b posix_memalign is available to get aligned
	* memory. Mac OSX doesn't have these functions, but \b malloc of OSX
	* returns the pointer to the aligned memory block.
	*/
This function generates pseudorandom 64-bit integers in the
specified array[] by one call. The number of pseudorandom integers
is specified by the argument size, which must be at least 312 and a
multiple of two.  The generation by this function is much faster
than the following gen_rand function.

@param sfmt SFMT internal state
For initialization, init_gen_rand or init_by_array must be called
before the first call of this function. This function can not be
used after calling gen_rand function, without initialization.

@param array an array where pseudorandom 64-bit integers are filled
by this function.  The pointer to the array must be "aligned"
(namely, must be a multiple of 16) in the SIMD version, since it
refers to the address of a 128-bit integer.  In the standard C
version, the pointer is arbitrary.

@param size the number of 64-bit pseudorandom integers to be
generated.  size must be a multiple of 2, and greater than or equal
to (MEXP / 128 + 1) * 2

@note \b memalign or \b posix_memalign is available to get aligned
memory. Mac OSX doesn't have these functions, but \b malloc of OSX
returns the pointer to the aligned memory block.
This function generates pseudorandom 64 - bit integers in the specified array [] by one call . The number of pseudorandom integers is specified by the argument size which must be at least 312 and a multiple of two . The generation by this function is much faster than the following gen_rand function . @param sfmt SFMT internal state For initialization init_gen_rand or init_by_array must be called before the first call of this function . This function can not be used after calling gen_rand function without initialization . @param array an array where pseudorandom 64 - bit integers are filled by this function . The pointer to the array must be " aligned " ( namely must be a multiple of 16 ) in the SIMD version since it refers to the address of a 128 - bit integer . In the standard C version the pointer is arbitrary . @param size the number of 64 - bit pseudorandom integers to be generated . size must be a multiple of 2 and greater than or equal to ( MEXP / 128 + 1 ) * 2 @note \ b memalign or \ b posix_memalign is available to get aligned memory . Mac OSX doesn ' t have these functions but \ b malloc of OSX returns the pointer to the aligned memory block .
inline void sfmt_fill_array64(sfmt_t * sfmt, uint64_t *array, int size) {
		assert(sfmt->idx == SFMT_N32);
		assert(size % 2 == 0);
		assert(size >= SFMT_N64);
		gen_rand_array(sfmt, (w128_t *)array, size / 2);
		sfmt->idx = SFMT_N32;
#if defined(BIG_ENDIAN64) && !defined(ONLY64)
		swap((w128_t *)array, size / 2);
#endif
	}
inline void sfmt_fill_array64 ( sfmt_t * sfmt , uint64_t * array , int size ) { assert ( sfmt -> idx == SFMT_N32 ) ; assert ( size % 2 == 0 ) ; assert ( size >= SFMT_N64 ) ; gen_rand_array ( sfmt , ( w128_t * ) array , size / 2 ) ; sfmt -> idx = SFMT_N32 ; #if defined ( BIG_ENDIAN64 ) && ! defined ( ONLY64 ) swap ( ( w128_t * ) array , size / 2 ) ; #endif }
This function generates pseudorandom 64-bit integers in the
 specified array[] by one call.
This function generates pseudorandom 64 - bit integers in the specified array [] by one call .