#include <stdio.h>
#include "chnlib.h"
+#include <time.h>
int main(int argc, const char * argv[])
{
- CHNLIB_String *str1, *str2, *str;
- CHNLIB_UIPArray *array;
+ int i;
+ CHNLIB_RandomGeneratorMT *mt;
+ CHNLIB_UUID *uuid, *uuid2;
- str = CHNLIB_String_Initialize("あいうえおかきs");
- printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
+ mt = CHNLIB_RandomGeneratorMT_Initialise();
+ CHNLIB_RandomGeneratorMT_SetSeed(mt, (int)&mt ^ time(NULL));
- str1 = CHNLIB_String_Initialize("あい");
- printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str1), CHNLIB_String_GetReferencePointerOfCString(str1));
- str2 = CHNLIB_String_Initialize("かき");
- printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str2), CHNLIB_String_GetReferencePointerOfCString(str2));
-
- str = CHNLIB_String_Concatenate(str1, str2);
- printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
+ for(i = 0; i < 1024; i++){
+ uuid = CHNLIB_GenerateUUIDVersion4WithRandomGeneratorMT(mt);
+ CHNLIB_UUID_Print(uuid);
+ printf(":0x%08X\n", CHNLIB_StructureHeader_GetHash(uuid));
+ release(uuid);
+ }
+
+ uuid = CHNLIB_GenerateUUIDVersion4WithRandomGeneratorMT(mt);
+ putc('\n', stdout);
+ CHNLIB_UUID_Print(uuid);
+
+ uuid2 = CHNLIB_UUID_Copy(uuid);
+ putc('\n', stdout);
+ CHNLIB_UUID_Print(uuid2);
- str = CHNLIB_String_Concatenate(str, str);
- printf("0x%X:%s\n", CHNLIB_StructureHeader_GetHash(str), CHNLIB_String_GetReferencePointerOfCString(str));
+ if(CHNLIB_UUID_IsEqualToUUID(uuid, uuid2)){
+ printf("\neq\n");
+ } else{
+ printf("\nNOTeq\n");
+ }
+ release(uuid2);
- array = CHNLIB_UIPArray_Initialize();
- CHNLIB_UIPArray_AppendLast(&array, 0, str);
- printf("0x%X", CHNLIB_StructureHeader_GetHash(array));
+ uuid2 = CHNLIB_GenerateUUIDVersion4WithRandomGeneratorMT(mt);
+ putc('\n', stdout);
+ CHNLIB_UUID_Print(uuid2);
- CHNLIB_UIPArray_AppendLast(&array, 0, str);
- printf("0x%X", CHNLIB_StructureHeader_GetHash(array));
+ if(CHNLIB_UUID_IsEqualToUUID(uuid, uuid2)){
+ printf("\neq\n");
+ } else{
+ printf("\nNOTeq\n");
+ }
+ release(uuid2);
return 0;
}