kim-api 2.3.0+AppleClang.AppleClang.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Loading...
Searching...
No Matches
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_
61#endif
62
71KIM_TimeUnit KIM_TimeUnit_FromString(char const * const str);
72
80int KIM_TimeUnit_Known(KIM_TimeUnit const timeUnit);
81
90
99
107char const * KIM_TimeUnit_ToString(KIM_TimeUnit const timeUnit);
108
117
125extern KIM_TimeUnit const KIM_TIME_UNIT_fs;
126
134extern KIM_TimeUnit const KIM_TIME_UNIT_ps;
135
143extern KIM_TimeUnit const KIM_TIME_UNIT_ns;
144
152extern KIM_TimeUnit const KIM_TIME_UNIT_s;
153
162void KIM_TIME_UNIT_GetNumberOfTimeUnits(int * const numberOfTimeUnits);
163
171int KIM_TIME_UNIT_GetTimeUnit(int const index, KIM_TimeUnit * const timeUnit);
172
173#endif /* KIM_TIME_UNIT_H_ */
KIM_TimeUnit const KIM_TIME_UNIT_unused
Indicates that a TimeUnit is not used.
KIM_TimeUnit const KIM_TIME_UNIT_ns
The standard nanosecond unit of time.
KIM_TimeUnit const KIM_TIME_UNIT_s
The standard second unit of time.
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_Equal(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs)
Compares TimeUnit objects for equality.
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...
int KIM_TIME_UNIT_GetTimeUnit(int const index, KIM_TimeUnit *const timeUnit)
Get the identity of each defined standard TimeUnit.
char const * KIM_TimeUnit_ToString(KIM_TimeUnit const timeUnit)
Converts the object to a string.
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.
int KIM_TimeUnit_NotEqual(KIM_TimeUnit const lhs, KIM_TimeUnit const rhs)
Compares TimeUnit objects for inequality.
An Extensible Enumeration for the TimeUnit's supported by the KIM API.
Definition: KIM_TimeUnit.h:42
int timeUnitID
Integer identifying the specific TimeUnit represented.
Definition: KIM_TimeUnit.h:51