kim-api  2.3.0+v2.3.0.GNU.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 /* KIM-API: An API for interatomic models */
3 /* Copyright (c) 2013--2022, Regents of the University of Minnesota. */
4 /* All rights reserved. */
5 /* */
6 /* Contributors: */
7 /* Ryan S. Elliott */
8 /* */
9 /* SPDX-License-Identifier: LGPL-2.1-or-later */
10 /* */
11 /* This library is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public */
13 /* License as published by the Free Software Foundation; either */
14 /* version 2.1 of the License, or (at your option) any later version. */
15 /* */
16 /* This library is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
19 /* Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this library; if not, write to the Free Software Foundation, */
23 /* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
24 /* */
25 
26 /* */
27 /* Release: This file is part of the kim-api-2.3.0 package. */
28 /* */
29 
30 
31 #ifndef KIM_TIME_UNIT_H_
32 #define KIM_TIME_UNIT_H_
33 
42 {
52 };
53 #ifndef KIM_TIME_UNIT_DEFINED_
54 #define KIM_TIME_UNIT_DEFINED_
55 
60 typedef struct KIM_TimeUnit KIM_TimeUnit;
61 #endif
62 
71 KIM_TimeUnit KIM_TimeUnit_FromString(char const * const str);
72 
80 int KIM_TimeUnit_Known(KIM_TimeUnit const timeUnit);
81 
89 int KIM_TimeUnit_Equal(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs);
90 
98 int KIM_TimeUnit_NotEqual(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs);
99 
107 char const * KIM_TimeUnit_ToString(KIM_TimeUnit const timeUnit);
108 
117 
125 extern KIM_TimeUnit const KIM_TIME_UNIT_fs;
126 
134 extern KIM_TimeUnit const KIM_TIME_UNIT_ps;
135 
143 extern KIM_TimeUnit const KIM_TIME_UNIT_ns;
144 
152 extern KIM_TimeUnit const KIM_TIME_UNIT_s;
153 
162 void KIM_TIME_UNIT_GetNumberOfTimeUnits(int * const numberOfTimeUnits);
163 
171 int KIM_TIME_UNIT_GetTimeUnit(int const index, KIM_TimeUnit * const timeUnit);
172 
173 #endif /* KIM_TIME_UNIT_H_ */
int timeUnitID
Integer identifying the specific TimeUnit represented.
Definition: KIM_TimeUnit.h:51
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:41
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...