kim-api  2.3.0+v2.3.0.GNU.GNU.
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ComputeArguments.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_COMPUTE_ARGUMENTS_H_
32 #define KIM_COMPUTE_ARGUMENTS_H_
33 
34 #ifndef KIM_FUNCTION_TYPES_H_
35 #include "KIM_FunctionTypes.h" /* IWYU pragma: export */
36 #endif
37 
38 /* Forward declarations */
39 #ifndef KIM_LOG_VERBOSITY_DEFINED_
40 #define KIM_LOG_VERBOSITY_DEFINED_
41 
47 #endif
48 
49 #ifndef KIM_LANGUAGE_NAME_DEFINED_
50 #define KIM_LANGUAGE_NAME_DEFINED_
51 
57 #endif
58 
59 #ifndef KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
60 #define KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
61 
67 #endif
68 
69 #ifndef KIM_COMPUTE_CALLBACK_NAME_DEFINED_
70 #define KIM_COMPUTE_CALLBACK_NAME_DEFINED_
71 
77 #endif
78 
79 #ifndef KIM_SUPPORT_STATUS_DEFINED_
80 #define KIM_SUPPORT_STATUS_DEFINED_
81 
87 #endif
88 
89 
90 #ifndef KIM_COMPUTE_ARGUMENTS_DEFINED_
91 #define KIM_COMPUTE_ARGUMENTS_DEFINED_
92 
101 #endif
102 
112  KIM_ComputeArguments const * const computeArguments,
113  KIM_ComputeArgumentName const computeArgumentName,
114  KIM_SupportStatus * const supportStatus);
115 
125  KIM_ComputeArguments const * const computeArguments,
126  KIM_ComputeCallbackName const computeCallbackName,
127  KIM_SupportStatus * const supportStatus);
128 
138  KIM_ComputeArguments * const computeArguments,
139  KIM_ComputeArgumentName const computeArgumentName,
140  int const * const ptr);
141 
151  KIM_ComputeArguments * const computeArguments,
152  KIM_ComputeArgumentName const computeArgumentName,
153  double const * const ptr);
154 
164  KIM_ComputeArguments * const computeArguments,
165  KIM_ComputeCallbackName const computeCallbackName,
166  KIM_LanguageName const languageName,
167  KIM_Function * const fptr,
168  void * const dataObject);
169 
180  KIM_ComputeArguments const * const computeArguments, int * const result);
181 
191  KIM_ComputeArguments * const computeArguments, void * const ptr);
192 
202  KIM_ComputeArguments const * const computeArguments, void ** const ptr);
203 
212 char const * KIM_ComputeArguments_ToString(
213  KIM_ComputeArguments const * const computeArguments);
214 
224  KIM_ComputeArguments * const computeArguments, char const * const logID);
225 
235  KIM_ComputeArguments * const computeArguments,
236  KIM_LogVerbosity const logVerbosity);
237 
247  KIM_ComputeArguments * const computeArguments);
248 
249 #endif /* KIM_COMPUTE_ARGUMENTS_H_ */
struct KIM_ComputeArguments KIM_ComputeArguments
Provides the primary interface to a KIM API ComputeArguments object and is meant to be used by simula...
void KIM_ComputeArguments_PopLogVerbosity(KIM_ComputeArguments *const computeArguments)
Pop a LogVerbosity from the ComputeArguments object's Log object verbosity stack. ...
void KIM_ComputeArguments_PushLogVerbosity(KIM_ComputeArguments *const computeArguments, KIM_LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the ComputeArguments object's Log object verbosity stack.
int KIM_ComputeArguments_GetCallbackSupportStatus(KIM_ComputeArguments const *const computeArguments, KIM_ComputeCallbackName const computeCallbackName, KIM_SupportStatus *const supportStatus)
Get the SupportStatus of a ComputeCallbackName.
void KIM_ComputeArguments_GetSimulatorBufferPointer(KIM_ComputeArguments const *const computeArguments, void **const ptr)
Get the Simulator's buffer pointer from the ComputeArguments object.
void() KIM_Function(void)
Generic function type.
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API. ...
char const * KIM_ComputeArguments_ToString(KIM_ComputeArguments const *const computeArguments)
Get a string representing the internal state of the ComputeArguments object.
An Extensible Enumeration for the SupportStatus's supported by the KIM API.
int KIM_ComputeArguments_SetArgumentPointerInteger(KIM_ComputeArguments *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, int const *const ptr)
Set the data pointer for a ComputeArgumentName.
void KIM_ComputeArguments_AreAllRequiredArgumentsAndCallbacksPresent(KIM_ComputeArguments const *const computeArguments, int *const result)
Determine if non-NULL pointers have been set for all ComputeArgumentName's and ComputeCallbackName's ...
int KIM_ComputeArguments_SetCallbackPointer(KIM_ComputeArguments *const computeArguments, KIM_ComputeCallbackName const computeCallbackName, KIM_LanguageName const languageName, KIM_Function *const fptr, void *const dataObject)
Set the function pointer for a ComputeCallbackName.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
void KIM_ComputeArguments_SetLogID(KIM_ComputeArguments *const computeArguments, char const *const logID)
Set the identity of the Log object associated with the ComputeArguments object.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
int KIM_ComputeArguments_SetArgumentPointerDouble(KIM_ComputeArguments *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, double const *const ptr)
Set the data pointer for a ComputeArgumentName.
An Extensible Enumeration for the ComputeCallbackName's supported by the KIM API. ...
void KIM_ComputeArguments_SetSimulatorBufferPointer(KIM_ComputeArguments *const computeArguments, void *const ptr)
Set the Simulator's buffer pointer within the ComputeArguments object.
int KIM_ComputeArguments_GetArgumentSupportStatus(KIM_ComputeArguments const *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, KIM_SupportStatus *const supportStatus)
Get the SupportStatus of a ComputeArgumentName.