kim-api  2.1.4-git+v2.1.3-git-3-g4c859c7f.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_TimeUnit.h
Go to the documentation of this file.
1 /* */
2 /* CDDL HEADER START */
3 /* */
4 /* The contents of this file are subject to the terms of the Common */
5 /* Development and Distribution License Version 1.0 (the "License"). */
6 /* */
7 /* You can obtain a copy of the license at */
8 /* http://www.opensource.org/licenses/CDDL-1.0. See the License for the */
9 /* specific language governing permissions and limitations under the License. */
10 /* */
11 /* When distributing Covered Code, include this CDDL HEADER in each file and */
12 /* include the License file in a prominent location with the name */
13 /* LICENSE.CDDL. */
14 /* If applicable, add the following below this CDDL HEADER, with the fields */
15 /* enclosed by brackets "[]" replaced with your own identifying information: */
16 /* */
17 /* Portions Copyright (c) [yyyy] [name of copyright owner]. */
18 /* All rights reserved. */
19 /* */
20 /* CDDL HEADER END */
21 /* */
22 
23 /* */
24 /* Copyright (c) 2016--2019, Regents of the University of Minnesota. */
25 /* All rights reserved. */
26 /* */
27 /* Contributors: */
28 /* Ryan S. Elliott */
29 /* */
30 
31 /* */
32 /* Release: This file is part of the kim-api.git repository. */
33 /* */
34 
35 
36 #ifndef KIM_TIME_UNIT_H_
37 #define KIM_TIME_UNIT_H_
38 
47 {
57 };
58 #ifndef KIM_TIME_UNIT_DEFINED_
59 #define KIM_TIME_UNIT_DEFINED_
60 
65 typedef struct KIM_TimeUnit KIM_TimeUnit;
66 #endif
67 
76 KIM_TimeUnit KIM_TimeUnit_FromString(char const * const str);
77 
85 int KIM_TimeUnit_Known(KIM_TimeUnit const timeUnit);
86 
94 int KIM_TimeUnit_Equal(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs);
95 
103 int KIM_TimeUnit_NotEqual(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs);
104 
112 char const * KIM_TimeUnit_ToString(KIM_TimeUnit const timeUnit);
113 
122 
130 extern KIM_TimeUnit const KIM_TIME_UNIT_fs;
131 
139 extern KIM_TimeUnit const KIM_TIME_UNIT_ps;
140 
148 extern KIM_TimeUnit const KIM_TIME_UNIT_ns;
149 
157 extern KIM_TimeUnit const KIM_TIME_UNIT_s;
158 
167 void KIM_TIME_UNIT_GetNumberOfTimeUnits(int * const numberOfTimeUnits);
168 
176 int KIM_TIME_UNIT_GetTimeUnit(int const index, KIM_TimeUnit * const timeUnit);
177 
178 #endif /* KIM_TIME_UNIT_H_ */
int timeUnitID
Integer identifying the specific TimeUnit represented.
Definition: KIM_TimeUnit.h:56
int KIM_TimeUnit_NotEqual(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs)
Compares TimeUnit objects for inequality.
KIM_TimeUnit const KIM_TIME_UNIT_unused
Indicates that a TimeUnit is not used.
int KIM_TimeUnit_Equal(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs)
Compares TimeUnit objects for equality.
int KIM_TIME_UNIT_GetTimeUnit(int const index, KIM_TimeUnit *const timeUnit)
Get the identity of each defined standard TimeUnit.
An Extensible Enumeration for the TimeUnit's supported by the KIM API.
Definition: KIM_TimeUnit.h:46
KIM_TimeUnit const KIM_TIME_UNIT_ps
The standard picosecond unit of time.
KIM_TimeUnit const KIM_TIME_UNIT_fs
The standard femtosecond unit of time.
int KIM_TimeUnit_Known(KIM_TimeUnit const timeUnit)
Determines if the object is a quantity known to the KIM API.
void KIM_TIME_UNIT_GetNumberOfTimeUnits(int *const numberOfTimeUnits)
Get the number of standard TimeUnit's defined by the KIM API.
char const * KIM_TimeUnit_ToString(KIM_TimeUnit const timeUnit)
Converts the object to a string.
KIM_TimeUnit const KIM_TIME_UNIT_s
The standard second unit of time.
KIM_TimeUnit const KIM_TIME_UNIT_ns
The standard nanosecond unit of time.
KIM_TimeUnit KIM_TimeUnit_FromString(char const *const str)
Create a TimeUnit object corresponding to the provided string. If the string does not match one of th...