HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SYS_Flicks.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: SYS_Flicks.h (SYS Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __SYS_Flicks__
12 #define __SYS_Flicks__
13 
14 #include <flicks.h>
15 #include "SYS_Types.h"
16 
17 // Define SYS_Flicks
19 
20 // Extract constants for flicks
21 // 0 seconds
22 constexpr SYS_Flicks SYS_FLICKS_0S = util::k_flicks_zero_seconds;
23 // 1 second
25 // 0.5 seconds
26 constexpr SYS_Flicks SYS_FLICKS_1_2S{
27  std::chrono::duration_cast<SYS_Flicks>(
28  std::chrono::duration<SYS_Flicks::rep, std::ratio<1, 2>>{1})};
29 // 1/24th of a second
31 // 1/90th of a second
33 // The minimum unit of time that can be expressed in flicks
35 
36 constexpr int64 SYStoInt(const SYS_Flicks f)
37 {
38  // Return the number of flicks -- This is consistent across platforms and
39  // can be used to compute a hash for flicks
40  return f.count();
41 }
42 
43 
44 /// NOTE: the util::flicks_hash() hasher is *not* consistent across platforms
45 /// and should not be used. Use SYShash() instead.
46 constexpr size_t SYShash(const SYS_Flicks f)
47 {
48  return f.count();
49 }
50 
51 constexpr double SYStoSeconds(const SYS_Flicks f)
52 {
53  return util::to_seconds(f);
54 }
55 constexpr SYS_Flicks SYStoFlicks(double seconds)
56 {
57  return util::to_flicks(seconds);
58 }
59 
60 #endif
constexpr flicks k_flicks_one_ninetieth_of_second
Definition: flicks.h:95
constexpr SYS_Flicks SYStoFlicks(double seconds)
Definition: SYS_Flicks.h:55
constexpr size_t SYShash(const SYS_Flicks f)
Definition: SYS_Flicks.h:46
constexpr double SYStoSeconds(const SYS_Flicks f)
Definition: SYS_Flicks.h:51
constexpr flicks k_flicks_one_twenty_fourth_of_second
Definition: flicks.h:92
std::chrono::duration< std::chrono::nanoseconds::rep, std::ratio< 1, 705600000 >> flicks
Definition: flicks.h:85
GLfloat f
Definition: glcorearb.h:1926
constexpr SYS_Flicks SYS_FLICKS_1S
Definition: SYS_Flicks.h:24
constexpr flicks k_flicks_one_second
Definition: flicks.h:90
long long int64
Definition: SYS_Types.h:116
constexpr SYS_Flicks SYS_FLICKS_1_24S
Definition: SYS_Flicks.h:30
constexpr double to_seconds(const flicks ns)
Definition: flicks.h:102
constexpr int64 SYStoInt(const SYS_Flicks f)
Definition: SYS_Flicks.h:36
util::flicks SYS_Flicks
Definition: SYS_Flicks.h:18
constexpr SYS_Flicks SYS_FLICKS_1_90S
Definition: SYS_Flicks.h:32
constexpr flicks to_flicks(const double s)
Definition: flicks.h:108
constexpr SYS_Flicks SYS_FLICKS_MIN
Definition: SYS_Flicks.h:34
constexpr SYS_Flicks SYS_FLICKS_0S
Definition: SYS_Flicks.h:22
constexpr flicks k_flicks_min_time
Definition: flicks.h:98