Restructure headers to ensure ewald.h C++ compatibility
This commit is contained in:
parent
89f7400c71
commit
856903a98b
|
@ -7,6 +7,7 @@
|
|||
#include <complex.h>
|
||||
#include "tiny_inlines.h"
|
||||
#include "qpms_error.h"
|
||||
#include "lattices.h"
|
||||
#include <gsl/gsl_integration.h>
|
||||
#include <gsl/gsl_errno.h>
|
||||
#include <gsl/gsl_sf_legendre.h>
|
||||
|
|
|
@ -36,7 +36,8 @@ extern "C" {
|
|||
#include <gsl/gsl_errno.h>
|
||||
#include <math.h> // for inlined lilgamma
|
||||
#include "qpms_types.h"
|
||||
#include "lattices.h"
|
||||
#include "lattices_types.h"
|
||||
#include <complex.h>
|
||||
|
||||
|
||||
/// Use this handler to ignore underflows of incomplete gamma.
|
||||
|
@ -288,7 +289,7 @@ int ewald3_sigma_short(
|
|||
* In such case, it is the responsibility of the caller to deallocate
|
||||
* the generator.
|
||||
*/
|
||||
PGen *pgen_R,
|
||||
struct PGen *pgen_R,
|
||||
/// Indicates whether pgen_R already generates shifted points.
|
||||
/** If false, the behaviour corresponds to the old ewald32_sigma_short_points_and_shift(),
|
||||
* so the function assumes that the generated points correspond to the unshifted Bravais lattice,
|
||||
|
@ -320,7 +321,7 @@ int ewald3_sigma_long( // calls ewald3_21_sigma_long or ewald3_3_sigma_long, dep
|
|||
* In such case, it is the responsibility of the caller to deallocate
|
||||
* the generator.
|
||||
*/
|
||||
PGen *pgen_K,
|
||||
struct PGen *pgen_K,
|
||||
/// Indicates whether pgen_K already generates shifted points.
|
||||
/** If false, the behaviour corresponds to the old ewald32_sigma_long_points_and_shift(),
|
||||
* so the function assumes that the generated points correspond to the unshifted reciprocal Bravais lattice,
|
||||
|
|
|
@ -4,10 +4,12 @@
|
|||
*/
|
||||
#ifndef LATTICES_H
|
||||
#define LATTICES_H
|
||||
#ifdef __cplusplus
|
||||
#ifdef __cplusplus // FIXME Not C++ compatible. Include "lattices_types.h" for minimal necessary enum decls.
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "lattices_types.h"
|
||||
|
||||
#include <math.h>
|
||||
#include <stdbool.h>
|
||||
#include <assert.h>
|
||||
|
@ -33,22 +35,6 @@ extern "C" {
|
|||
*
|
||||
*/
|
||||
|
||||
typedef enum LatticeDimensionality {
|
||||
LAT1D = 1,
|
||||
LAT2D = 2,
|
||||
LAT3D = 4,
|
||||
SPACE1D = 8,
|
||||
SPACE2D = 16,
|
||||
SPACE3D = 32,
|
||||
LAT_1D_IN_3D = 33,
|
||||
LAT_2D_IN_3D = 34,
|
||||
LAT_3D_IN_3D = 40,
|
||||
// special coordinate arrangements (indicating possible optimisations)
|
||||
LAT_ZONLY = 64,
|
||||
LAT_XYONLY = 128,
|
||||
LAT_1D_IN_3D_ZONLY = 97, // LAT1D | SPACE3D | 64
|
||||
LAT_2D_IN_3D_XYONLY = 162 // LAT2D | SPACE3D | 128
|
||||
} LatticeDimensionality;
|
||||
|
||||
inline static bool LatticeDimensionality_checkflags(
|
||||
LatticeDimensionality a, LatticeDimensionality flags_a_has_to_contain) {
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "tolerances.h"
|
||||
#include "beyn.h"
|
||||
#include "tiny_inlines.h"
|
||||
#include "lattices.h"
|
||||
|
||||
#ifdef QPMS_SCATSYSTEM_USE_OWN_BLAS
|
||||
#include "qpmsblas.h"
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
#include "normalisation.h"
|
||||
#include "translations_inlines.h"
|
||||
|
||||
#if defined LATTICESUMS31 || defined LATTICESUMS32
|
||||
#include "lattices.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define macros with additional factors that "should not be there" according
|
||||
* to the "original" formulae but are needed to work with my vswfs.
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "tiny_inlines.h"
|
||||
#include "qpms_error.h"
|
||||
#include "normalisation.h"
|
||||
#include "lattices.h"
|
||||
|
||||
|
||||
int qpms_trans_calculator_test_sswf(const qpms_trans_calculator *c,
|
||||
|
|
Loading…
Reference in New Issue