2012-06-29 17:17 UTC+0200 Viktor Szakats (harbour syenar.net)

* contrib/hbtinymt/core64.c
    ! type fixes

  * contrib/hbtinymt/3rd/tinymt/tinymt.dif
  * contrib/hbtinymt/3rd/tinymt/tinymt64.h
    * msvc warning silenced
This commit is contained in:
Viktor Szakats
2012-06-29 15:18:33 +00:00
parent 31d2f6401d
commit bd2317b57c
4 changed files with 33 additions and 23 deletions

View File

@@ -16,6 +16,14 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-06-29 17:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbtinymt/core64.c
! type fixes
* contrib/hbtinymt/3rd/tinymt/tinymt.dif
* contrib/hbtinymt/3rd/tinymt/tinymt64.h
* msvc warning silenced
2012-06-29 16:31 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbtinymt/core32.c
! applied patch received from Andi. Thank you.

View File

@@ -1,6 +1,6 @@
diff -urN tinymt.orig\tinymt32.c tinymt\tinymt32.c
--- tinymt.orig\tinymt32.c Fri Jun 29 12:11:18 2012
+++ tinymt\tinymt32.c Fri Jun 29 12:11:18 2012
--- tinymt.orig\tinymt32.c Fri Jun 29 17:16:46 2012
+++ tinymt\tinymt32.c Fri Jun 29 17:16:46 2012
@@ -60,17 +60,18 @@
* @param seed a 32-bit unsigned integer used as a seed.
*/
@@ -23,8 +23,8 @@ diff -urN tinymt.orig\tinymt32.c tinymt\tinymt32.c
}
}
diff -urN tinymt.orig\tinymt32.h tinymt\tinymt32.h
--- tinymt.orig\tinymt32.h Fri Jun 29 12:11:18 2012
+++ tinymt\tinymt32.h Fri Jun 29 12:11:18 2012
--- tinymt.orig\tinymt32.h Fri Jun 29 17:16:46 2012
+++ tinymt\tinymt32.h Fri Jun 29 17:16:46 2012
@@ -16,8 +16,17 @@
* LICENSE.txt
*/
@@ -160,8 +160,8 @@ diff -urN tinymt.orig\tinymt32.h tinymt\tinymt32.h
return tinymt32_temper(random) * (1.0 / 4294967296.0);
}
diff -urN tinymt.orig\tinymt64.c tinymt\tinymt64.c
--- tinymt.orig\tinymt64.c Fri Jun 29 12:11:18 2012
+++ tinymt\tinymt64.c Fri Jun 29 12:11:18 2012
--- tinymt.orig\tinymt64.c Fri Jun 29 17:16:46 2012
+++ tinymt\tinymt64.c Fri Jun 29 17:16:46 2012
@@ -56,9 +56,10 @@
* @param seed a 64-bit unsigned integer used as a seed.
*/
@@ -175,8 +175,8 @@ diff -urN tinymt.orig\tinymt64.c tinymt\tinymt64.c
* (random->status[(i - 1) & 1]
^ (random->status[(i - 1) & 1] >> 62));
diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
--- tinymt.orig\tinymt64.h Fri Jun 29 12:11:18 2012
+++ tinymt\tinymt64.h Fri Jun 29 12:11:18 2012
--- tinymt.orig\tinymt64.h Fri Jun 29 17:16:46 2012
+++ tinymt\tinymt64.h Fri Jun 29 17:16:46 2012
@@ -16,8 +16,23 @@
* LICENSE.txt
*/
@@ -203,7 +203,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
#define TINYMT64_MEXP 127
#define TINYMT64_SH0 12
@@ -48,12 +63,12 @@
@@ -48,12 +63,13 @@
* @param random not used
* @return always 127
*/
@@ -215,10 +215,11 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
#else
-inline static int tinymt64_get_mexp(tinymt64_t * random) {
+_HB_INLINE_ static int tinymt64_get_mexp(tinymt64_t * random) {
+ ( void ) random;
return TINYMT64_MEXP;
}
#endif
@@ -63,7 +78,7 @@
@@ -63,7 +79,7 @@
* Users should not call this function directly.
* @param random tinymt internal status
*/
@@ -227,7 +228,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
uint64_t x;
random->status[0] &= TINYMT64_MASK;
@@ -84,7 +99,7 @@
@@ -84,7 +100,7 @@
* @param random tinymt internal status
* @return 64-bit unsigned pseudorandom number
*/
@@ -236,7 +237,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
uint64_t x;
#if defined(LINEARITY_CHECK)
x = random->status[0] ^ random->status[1];
@@ -102,7 +117,7 @@
@@ -102,7 +118,7 @@
* @param random tinymt internal status
* @return floating point number r (1.0 <= r < 2.0)
*/
@@ -245,7 +246,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
uint64_t x;
union {
uint64_t u;
@@ -125,7 +140,7 @@
@@ -125,7 +141,7 @@
* @param random tinymt internal status
* @return floating point number r (1.0 < r < 2.0)
*/
@@ -254,7 +255,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
uint64_t x;
union {
uint64_t u;
@@ -147,7 +162,7 @@
@@ -147,7 +163,7 @@
* @param random tinymt internal status
* @return 64-bit unsigned integer r (0 <= r < 2^64)
*/
@@ -263,7 +264,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
tinymt64_next_state(random);
return tinymt64_temper(random);
}
@@ -158,7 +173,7 @@
@@ -158,7 +174,7 @@
* @param random tinymt internal status
* @return floating point number r (0.0 <= r < 1.0)
*/
@@ -272,7 +273,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
tinymt64_next_state(random);
return tinymt64_temper(random) * TINYMT64_MUL;
}
@@ -169,7 +184,7 @@
@@ -169,7 +185,7 @@
* @param random tinymt internal status
* @return floating point number r (0.0 <= r < 1.0)
*/
@@ -281,7 +282,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
tinymt64_next_state(random);
return tinymt64_temper_conv(random) - 1.0;
}
@@ -180,7 +195,7 @@
@@ -180,7 +196,7 @@
* @param random tinymt internal status
* @return floating point number r (1.0 <= r < 2.0)
*/
@@ -290,7 +291,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
tinymt64_next_state(random);
return tinymt64_temper_conv(random);
}
@@ -191,7 +206,7 @@
@@ -191,7 +207,7 @@
* @param random tinymt internal status
* @return floating point number r (0.0 < r <= 1.0)
*/
@@ -299,7 +300,7 @@ diff -urN tinymt.orig\tinymt64.h tinymt\tinymt64.h
tinymt64_next_state(random);
return 2.0 - tinymt64_temper_conv(random);
}
@@ -202,7 +217,7 @@
@@ -202,7 +218,7 @@
* @param random tinymt internal status
* @return floating point number r (0.0 < r < 1.0)
*/

View File

@@ -69,6 +69,7 @@ _HB_INLINE_ static int tinymt64_get_mexp(
}
#else
_HB_INLINE_ static int tinymt64_get_mexp(tinymt64_t * random) {
( void ) random;
return TINYMT64_MEXP;
}
#endif

View File

@@ -70,11 +70,11 @@ HB_FUNC( HB_TINYMT64_INIT )
{
PHB_TINYMTDATA tinymtData = ( PHB_TINYMTDATA ) hb_stackGetTSD( &s_tinymtData );
HB_U64 seed = ( HB_U64 ) hb_parnldef( 4, 1 );
HB_U64 seed = ( HB_U64 ) hb_parnintdef( 4, 1 );
tinymtData->tinymt.mat1 = hb_parnl( 1 );
tinymtData->tinymt.mat2 = hb_parnl( 2 );
tinymtData->tinymt.tmat = hb_parnl( 3 );
tinymtData->tinymt.tmat = hb_parnint( 3 );
tinymt64_init( &tinymtData->tinymt, seed );
@@ -95,11 +95,11 @@ HB_FUNC( HB_TINYMT64_INIT_BY_ARRAY )
HB_U64 seed_array[ 5 ];
seed_array[ 0 ] = ( HB_U64 ) hb_parnldef( 2, 1 );
seed_array[ 0 ] = ( HB_U64 ) hb_parnintdef( 2, 1 );
tinymtData->tinymt.mat1 = hb_arrayGetNL( pArray, 1 );
tinymtData->tinymt.mat2 = hb_arrayGetNL( pArray, 2 );
tinymtData->tinymt.tmat = hb_arrayGetNL( pArray, 3 );
tinymtData->tinymt.tmat = hb_arrayGetNInt( pArray, 3 );
tinymt64_init_by_array( &tinymtData->tinymt, seed_array, hb_parnldef( 3, 1 ) );