resetting manifest requested domain to floor
[platform/upstream/libbullet.git] / Test / Source / Utils.h
1 //
2 //  Utils.h
3 //  BulletTest
4 //
5 //  Copyright (c) 2011 Apple Inc.
6 //
7
8 #ifndef BulletTest_Utils_h
9 #define BulletTest_Utils_h
10
11 #include "btIntDefines.h"
12
13
14
15 #include <stddef.h>
16 #include <stdio.h>
17
18 #ifdef _WIN32
19 #define LARGE_FLOAT17 (1.f * powf(2,17))
20 #define RANDF_16   (random_number32() * powf(2,-16))
21 #define RANDF_01   ( random_number32() * powf(2,-32) )
22 #define RANDF      ( random_number32() * powf(2,-8) )
23 #define RANDF_m1p1 (2.0f*( random_number32() * powf(2,-32)-1.0f))
24 #else
25 #define LARGE_FLOAT17 (0x1.0p17f)
26 #define RANDF_16   (random_number32() * 0x1.0p-16f)
27 #define RANDF_01   ( random_number32() * 0x1.0p-32f )
28 #define RANDF      ( random_number32() * 0x1.0p-8f )
29 #define RANDF_m1p1 (2.0f*( random_number32() * 0x1.0p-32f )-1.0f)
30 #endif//_WIN32
31
32
33 #ifdef __cplusplus
34 extern "C" { 
35 #endif
36     
37     /*********************
38      *      Timing       *
39      *********************/
40     extern int gReportNanoseconds;
41
42     uint64_t ReadTicks( void );
43     double  TicksToCycles( uint64_t delta );        // Performance data should be reported in cycles most of the time.
44     double  TicksToSeconds( uint64_t delta );
45
46     
47     /*********************
48      *    Guard Heap     *
49      *********************/
50     // return buffer containing count objects of size size, with guard pages in betweeen.
51     // The stride between one object and the next is given by objectStride. 
52     // objectStride may be NULL. Objects so created are freed with GuardFree
53     void *GuardCalloc( size_t count, size_t size, size_t *objectStride );
54     void GuardFree( void * );
55     // mark the contents of a guard buffer read-only or write-only. Return 0 on success.
56     int GuardMarkReadOnly( void *);
57     int GuardMarkWriteOnly( void *);
58     int GuardMarkReadWrite( void *);
59     
60     /*********************
61      *    Printing       *
62      *********************/
63     #define vlog( ... )        printf( __VA_ARGS__  )
64     uint32_t random_number32(void);    
65     uint64_t random_number64(void);
66     
67 #ifdef __cplusplus
68     }
69 #endif
70
71
72 #endif