UnityMol  1.0.25beta
OptimizedNBEnergy.h
Go to the documentation of this file.
1 //
2 // Linearize OS specific macros
3 //
4 #if defined(__unix__) || defined(__linux__) || defined(__APPLE__) || defined(__MACH__)
5 #define OS_UNIX
6 #endif
7 
8 #if defined(__APPLE__) || defined(__MACH__)
9 #define OS_OSX
10 #endif
11 
12 #if defined(_MSC_VER)
13 #define OS_WINDOWS
14 #endif
15 
16 //
17 // API export macro
18 //
19 #if defined(OS_OSX)
20 #define API __attribute__((visibility("default")))
21 #elif defined(OS_WINDOWS)
22 #define API __declspec(dllexport)
23 #else
24 #define API
25 #endif
26 
27 extern "C" {
28 
29 
30  struct Vector3 {
31  float x, y, z;
32  };
33  struct Vector2 {
34  float x, y;
35  };
36 
37 
38  API void setupEnergyComputation(int *atomPartition, int *sizePartition, int *uniqueTypeIndices, Vector2 *paramArray, float *atomFFCharge, int nbChains, float threshold, float elecScaling, int numUTypes);
39  API void ComputeNBEnergies(Vector3 *coords, float *elecEnergy, float *vdwEnergy);
40 }
float y
Definition: OptimizedNBEnergy.h:31
float x
Definition: OptimizedNBEnergy.h:31
Definition: OptimizedNBEnergy.h:30
#define API
Definition: OptimizedNBEnergy.h:24
API void ComputeNBEnergies(Vector3 *coords, float *elecEnergy, float *vdwEnergy)
Definition: OptimizedNBEnergy.cpp:46
Definition: OptimizedNBEnergy.h:33
float x
Definition: OptimizedNBEnergy.h:34
API void setupEnergyComputation(int *atomPartition, int *sizePartition, int *uniqueTypeIndices, Vector2 *paramArray, float *atomFFCharge, int nbChains, float threshold, float elecScaling, int numUTypes)
Definition: OptimizedNBEnergy.cpp:26
float z
Definition: OptimizedNBEnergy.h:31
float y
Definition: OptimizedNBEnergy.h:34