https://github.com/teuben/nemo
Raw File
Tip revision: 27d447ea1e0c092be8e577a3569a022c11e2c3bc authored by Peter Teuben on 07 April 2021, 03:16:34 UTC
dynamic loader should be simpler (i5-11x?) clang
Tip revision: 27d447e
potential.h
/*
 *  POTENTIAL: 
 *	interfaces to aid in dynamically loading potentials
 *
 *	jul 1987:	original implementation
 *	sep 2001:	added C++ support, including const'ing 
 */

#ifndef _potential_h
#define _potential_h


typedef struct a_potential {
    string name;
    string pars;
    string file;
    struct a_potential *next;
} a_potential;

/* should we make args 1,2 and 5 const ?? */

typedef void (*potproc_double)(const int *, const double *, double *, double *, const double *);
typedef void (*potproc_float) (const int *, const float *,  float *,  float *,  const float *);
#ifdef SINGLEPREC
typedef potproc_float potproc_real;
#else
typedef potproc_double potproc_real;
#endif

#if defined(__cplusplus)
extern "C" {
#endif


potproc_real   get_potential        (const string, const string, const string);
potproc_float  get_potential_float  (const string, const string, const string);
potproc_double get_potential_double (const string, const string, const string);
proc           get_inipotential     (void);
real           get_pattern          (void);

#if defined(__cplusplus)
}
#endif


#endif
back to top