Named constant for failed vswf index remap
This commit is contained in:
parent
1659588196
commit
6b89feed70
|
@ -882,7 +882,9 @@ qpms_errno_t qpms_tmatrix_axialsym_fill(
|
||||||
// R now contains -T^T.
|
// R now contains -T^T.
|
||||||
for(size_t i1 = 0; i1 < bspec->n; ++i1)
|
for(size_t i1 = 0; i1 < bspec->n; ++i1)
|
||||||
for(size_t i2 = 0; i2 < bspec->n; ++i2) {
|
for(size_t i2 = 0; i2 < bspec->n; ++i2) {
|
||||||
if (reindex[i1] == ~(size_t) 0 && reindex[i2] == ~(size_t) 0) QPMS_WTF;
|
if (reindex[i1] == QPMS_VSWF_SET_REINDEX_UNMAPPED &&
|
||||||
|
reindex[i2] == QPMS_VSWF_SET_REINDEX_UNMAPPED)
|
||||||
|
QPMS_WTF;
|
||||||
const size_t it = i1 * bspec->n + i2;
|
const size_t it = i1 * bspec->n + i2;
|
||||||
const size_t iQR = reindex[i1] + reindex[i2] * bspecQR->n;
|
const size_t iQR = reindex[i1] + reindex[i2] * bspecQR->n;
|
||||||
t->m[it] = -R[iQR];
|
t->m[it] = -R[iQR];
|
||||||
|
|
|
@ -134,7 +134,7 @@ size_t *qpms_vswf_set_reindex(const qpms_vswf_set_spec_t *small, const qpms_vswf
|
||||||
if(big_pairs[bi].ui == small_pairs[si].ui)
|
if(big_pairs[bi].ui == small_pairs[si].ui)
|
||||||
r[small_pairs[si].i_orig] = big_pairs[bi].i_orig;
|
r[small_pairs[si].i_orig] = big_pairs[bi].i_orig;
|
||||||
else
|
else
|
||||||
r[small_pairs[si].i_orig] = ~(size_t)0;
|
r[small_pairs[si].i_orig] = QPMS_VSWF_SET_REINDEX_UNMAPPED;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(small_pairs);
|
free(small_pairs);
|
||||||
|
|
|
@ -65,12 +65,14 @@ static inline ssize_t qpms_vswf_set_spec_find_uvswfi(const qpms_vswf_set_spec_t
|
||||||
* It's not lossless if the two bspecs contain different combinations of waves.
|
* It's not lossless if the two bspecs contain different combinations of waves.
|
||||||
*
|
*
|
||||||
* Preferably, big->ilist contains everything small->ilist does.
|
* Preferably, big->ilist contains everything small->ilist does.
|
||||||
* If small->ilist[i] is not found in big->ilist, r[i] will be set to ~(size_t)0.
|
* If small->ilist[i] is not found in big->ilist, r[i] will be set to
|
||||||
|
* \ref QPMS_VSWF_SET_REINDEX_UNMAPPED = ~(size_t)0.
|
||||||
*
|
*
|
||||||
* Discard with free() after use.
|
* Discard with free() after use.
|
||||||
*/
|
*/
|
||||||
size_t *qpms_vswf_set_reindex(const qpms_vswf_set_spec_t *small, const qpms_vswf_set_spec_t *big);
|
size_t *qpms_vswf_set_reindex(const qpms_vswf_set_spec_t *small, const qpms_vswf_set_spec_t *big);
|
||||||
|
|
||||||
|
static const size_t QPMS_VSWF_SET_REINDEX_UNMAPPED = ~(size_t)0;
|
||||||
|
|
||||||
/// Evaluates a set of VSWF basis functions at a given point.
|
/// Evaluates a set of VSWF basis functions at a given point.
|
||||||
/** The list of basis wave indices is specified in \a setspec;
|
/** The list of basis wave indices is specified in \a setspec;
|
||||||
|
|
Loading…
Reference in New Issue