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 <complex.h>
|
||||||
#include "tiny_inlines.h"
|
#include "tiny_inlines.h"
|
||||||
#include "qpms_error.h"
|
#include "qpms_error.h"
|
||||||
|
#include "lattices.h"
|
||||||
#include <gsl/gsl_integration.h>
|
#include <gsl/gsl_integration.h>
|
||||||
#include <gsl/gsl_errno.h>
|
#include <gsl/gsl_errno.h>
|
||||||
#include <gsl/gsl_sf_legendre.h>
|
#include <gsl/gsl_sf_legendre.h>
|
||||||
|
|
|
@ -36,7 +36,8 @@ extern "C" {
|
||||||
#include <gsl/gsl_errno.h>
|
#include <gsl/gsl_errno.h>
|
||||||
#include <math.h> // for inlined lilgamma
|
#include <math.h> // for inlined lilgamma
|
||||||
#include "qpms_types.h"
|
#include "qpms_types.h"
|
||||||
#include "lattices.h"
|
#include "lattices_types.h"
|
||||||
|
#include <complex.h>
|
||||||
|
|
||||||
|
|
||||||
/// Use this handler to ignore underflows of incomplete gamma.
|
/// 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
|
* In such case, it is the responsibility of the caller to deallocate
|
||||||
* the generator.
|
* the generator.
|
||||||
*/
|
*/
|
||||||
PGen *pgen_R,
|
struct PGen *pgen_R,
|
||||||
/// Indicates whether pgen_R already generates shifted points.
|
/// Indicates whether pgen_R already generates shifted points.
|
||||||
/** If false, the behaviour corresponds to the old ewald32_sigma_short_points_and_shift(),
|
/** 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,
|
* 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
|
* In such case, it is the responsibility of the caller to deallocate
|
||||||
* the generator.
|
* the generator.
|
||||||
*/
|
*/
|
||||||
PGen *pgen_K,
|
struct PGen *pgen_K,
|
||||||
/// Indicates whether pgen_K already generates shifted points.
|
/// Indicates whether pgen_K already generates shifted points.
|
||||||
/** If false, the behaviour corresponds to the old ewald32_sigma_long_points_and_shift(),
|
/** 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,
|
* so the function assumes that the generated points correspond to the unshifted reciprocal Bravais lattice,
|
||||||
|
|
|
@ -4,10 +4,12 @@
|
||||||
*/
|
*/
|
||||||
#ifndef LATTICES_H
|
#ifndef LATTICES_H
|
||||||
#define LATTICES_H
|
#define LATTICES_H
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus // FIXME Not C++ compatible. Include "lattices_types.h" for minimal necessary enum decls.
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "lattices_types.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <assert.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(
|
inline static bool LatticeDimensionality_checkflags(
|
||||||
LatticeDimensionality a, LatticeDimensionality flags_a_has_to_contain) {
|
LatticeDimensionality a, LatticeDimensionality flags_a_has_to_contain) {
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "tolerances.h"
|
#include "tolerances.h"
|
||||||
#include "beyn.h"
|
#include "beyn.h"
|
||||||
#include "tiny_inlines.h"
|
#include "tiny_inlines.h"
|
||||||
|
#include "lattices.h"
|
||||||
|
|
||||||
#ifdef QPMS_SCATSYSTEM_USE_OWN_BLAS
|
#ifdef QPMS_SCATSYSTEM_USE_OWN_BLAS
|
||||||
#include "qpmsblas.h"
|
#include "qpmsblas.h"
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
#include "normalisation.h"
|
#include "normalisation.h"
|
||||||
#include "translations_inlines.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
|
* Define macros with additional factors that "should not be there" according
|
||||||
* to the "original" formulae but are needed to work with my vswfs.
|
* to the "original" formulae but are needed to work with my vswfs.
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "tiny_inlines.h"
|
#include "tiny_inlines.h"
|
||||||
#include "qpms_error.h"
|
#include "qpms_error.h"
|
||||||
#include "normalisation.h"
|
#include "normalisation.h"
|
||||||
|
#include "lattices.h"
|
||||||
|
|
||||||
|
|
||||||
int qpms_trans_calculator_test_sswf(const qpms_trans_calculator *c,
|
int qpms_trans_calculator_test_sswf(const qpms_trans_calculator *c,
|
||||||
|
|
Loading…
Reference in New Issue