18 #ifndef MAGICKCORE_RANDOM_PRIVATE_H
19 #define MAGICKCORE_RANDOM_PRIVATE_H
21 #include "magick/thread-private.h"
23 #if defined(__cplusplus) || defined(c_plusplus)
33 for (i=0; i < (ssize_t) GetMagickResourceLimit(ThreadResource); i++)
35 random_info[i]=DestroyRandomInfo(random_info[i]);
36 return((
RandomInfo **) RelinquishAlignedMemory(random_info));
39 static inline RandomInfo **AcquireRandomInfoTLS(
void)
50 number_threads=(size_t) GetMagickResourceLimit(ThreadResource);
51 random_info=(
RandomInfo **) AcquireAlignedMemory(number_threads,
52 sizeof(*random_info));
54 ThrowFatalException(ResourceLimitFatalError,
"MemoryAllocationFailed");
55 (void) memset(random_info,0,number_threads*
sizeof(*random_info));
56 for (i=0; i < (ssize_t) number_threads; i++)
57 random_info[i]=AcquireRandomInfo();
61 extern MagickExport
unsigned long
64 extern MagickExport
double
67 #if defined(__cplusplus) || defined(c_plusplus)