Move typedef qpms_vswf_set_spec_t to qpms_types.h
Former-commit-id: c81924f51823c999d91acf005e27105e16f96177
This commit is contained in:
parent
147bed193f
commit
e2722bc866
|
@ -280,6 +280,26 @@ typedef struct qpms_irot3_t {
|
|||
short det; ///< Determinant of the transformation (valid values are 1 (rotation) or -1 (improper rotation)
|
||||
} qpms_irot3_t;
|
||||
|
||||
/// Specifies a finite set of VSWFs.
|
||||
/**
|
||||
* When for example not all the M and N -type waves up to a degree lMax
|
||||
* need to be computed, this will specify the subset.
|
||||
*
|
||||
* A typical use case would be when only even/odd fields wrt. z-plane
|
||||
* mirror symmetry are considered.
|
||||
*
|
||||
* Check vswf.h for "methods".
|
||||
*/
|
||||
typedef struct qpms_vswf_set_spec_t {
|
||||
size_t n; ///< Actual number of VSWF indices included in ilist.
|
||||
qpms_uvswfi_t *ilist; ///< List of wave indices.
|
||||
qpms_l_t lMax; ///< Maximum degree of the waves specified in ilist.
|
||||
qpms_l_t lMax_M, ///< Maximum degree of the magnetic (M-type) waves.
|
||||
lMax_N, ///< Maximum degree of the electric (N-type) waves.
|
||||
lMax_L; ///< Maximum degree of the longitudinal (L-type) waves.
|
||||
size_t capacity; ///< Allocated capacity of ilist.
|
||||
qpms_normalisation_t norm; ///< Normalisation convention. To be set manually if needed.
|
||||
} qpms_vswf_set_spec_t;
|
||||
|
||||
#define lmcheck(l,m) assert((l) >= 1 && abs(m) <= (l))
|
||||
#endif // QPMS_TYPES
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
#ifndef QPMS_SCATSYSTEM_H
|
||||
#define QPMS_SCATSYSTEM_H
|
||||
#include "vswf.h"
|
||||
#include "qpms_types.h"
|
||||
#include <stdbool.h>
|
||||
#include <gsl/gsl_spline.h>
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
*/
|
||||
#ifndef SYMMETRIES_H
|
||||
#define SYMMETRIES_H
|
||||
#include "vswf.h"
|
||||
#include "qpms_types.h"
|
||||
#include <cblas.h>
|
||||
|
||||
|
|
19
qpms/vswf.h
19
qpms/vswf.h
|
@ -10,24 +10,7 @@
|
|||
#include "qpms_types.h"
|
||||
#include <gsl/gsl_sf_legendre.h>
|
||||
|
||||
/// Specifies a finite set of VSWFs.
|
||||
/**
|
||||
* When for example not all the M and N -type waves up to a degree lMax
|
||||
* need to be computed, this will specify the subset.
|
||||
*
|
||||
* A typical use case would be when only even/odd fields wrt. z-plane
|
||||
* mirror symmetry are considered.
|
||||
*/
|
||||
typedef struct qpms_vswf_set_spec_t {
|
||||
size_t n; ///< Actual number of VSWF indices included in ilist.
|
||||
qpms_uvswfi_t *ilist; ///< List of wave indices.
|
||||
qpms_l_t lMax; ///< Maximum degree of the waves specified in ilist.
|
||||
qpms_l_t lMax_M, ///< Maximum degree of the magnetic (M-type) waves.
|
||||
lMax_N, ///< Maximum degree of the electric (N-type) waves.
|
||||
lMax_L; ///< Maximum degree of the longitudinal (L-type) waves.
|
||||
size_t capacity; ///< Allocated capacity of ilist.
|
||||
qpms_normalisation_t norm; ///< Normalisation convention. To be set manually if needed.
|
||||
} qpms_vswf_set_spec_t;
|
||||
// Methods for qpms_vswf_spec_t
|
||||
/// Creates a qpms_vswf_set_spec_t structure with an empty list of wave indices.
|
||||
qpms_vswf_set_spec_t *qpms_vswf_set_spec_init();
|
||||
/// Appends a VSWF index to a \ref qpms_vswf_set_spec_t, also updating metadata.
|
||||
|
|
Loading…
Reference in New Issue