aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcrystfel/src/cell.c4
-rw-r--r--libcrystfel/src/rational.c8
-rw-r--r--libcrystfel/src/rational.h10
-rw-r--r--tests/rational_check.c2
4 files changed, 14 insertions, 10 deletions
diff --git a/libcrystfel/src/cell.c b/libcrystfel/src/cell.c
index 9ae77a6d..63b84fc3 100644
--- a/libcrystfel/src/cell.c
+++ b/libcrystfel/src/cell.c
@@ -736,7 +736,7 @@ static void check_point_fwd(RationalMatrix *m, CenteringMask *cmask,
Rational nc[3];
/* Transform the lattice point */
- rtnl_mtx_solve(m, c, nc);
+ transform_fractional_coords_rtnl(m, c, nc);
/* Eliminate any centerings which don't include the transformed point */
maybe_eliminate(CMASK_P, cmask, nc, 'P');
@@ -759,7 +759,7 @@ static void check_point_bwd(RationalMatrix *m, CenteringMask *mask,
Rational nc[3];
Rational c[3] = {x, y, z};
- rtnl_mtx_mult(m, c, nc);
+ transform_fractional_coords_rtnl_inverse(m, c, nc);
if ( !centering_has_point(cen, nc) ) {
*mask |= exclude;
diff --git a/libcrystfel/src/rational.c b/libcrystfel/src/rational.c
index ab1eff91..c1512b8d 100644
--- a/libcrystfel/src/rational.c
+++ b/libcrystfel/src/rational.c
@@ -424,7 +424,8 @@ void rtnl_mtx_free(RationalMatrix *mtx)
*
* Returns: non-zero on error
**/
-int rtnl_mtx_solve(const RationalMatrix *m, const Rational *ivec, Rational *ans)
+int transform_fractional_coords_rtnl(const RationalMatrix *m,
+ const Rational *ivec, Rational *ans)
{
RationalMatrix *cm;
Rational *vec;
@@ -571,8 +572,9 @@ void rtnl_mtx_mtxmult(const RationalMatrix *A, const RationalMatrix *B,
}
-/* Calculate ans = m.vec, where 'ans' and 'vec' are column vectors */
-void rtnl_mtx_mult(const RationalMatrix *m, const Rational *vec, Rational *ans)
+void transform_fractional_coords_rtnl_inverse(const RationalMatrix *m,
+ const Rational *vec,
+ Rational *ans)
{
int i, j;
diff --git a/libcrystfel/src/rational.h b/libcrystfel/src/rational.h
index 9ed20bfd..23c918cf 100644
--- a/libcrystfel/src/rational.h
+++ b/libcrystfel/src/rational.h
@@ -91,10 +91,12 @@ extern IntegerMatrix *intmat_from_rtnl_mtx(const RationalMatrix *m);
extern void rtnl_mtx_free(RationalMatrix *mtx);
extern void rtnl_mtx_mtxmult(const RationalMatrix *A, const RationalMatrix *B,
RationalMatrix *ans);
-extern void rtnl_mtx_mult(const RationalMatrix *m, const Rational *vec,
- Rational *ans);
-extern int rtnl_mtx_solve(const RationalMatrix *m, const Rational *vec,
- Rational *ans);
+extern int transform_fractional_coords_rtnl(const RationalMatrix *P,
+ const Rational *ivec,
+ Rational *ans);
+extern void transform_fractional_coords_rtnl_inverse(const RationalMatrix *P,
+ const Rational *vec,
+ Rational *ans);
extern void rtnl_mtx_print(const RationalMatrix *m);
extern Rational rtnl_mtx_det(const RationalMatrix *m);
diff --git a/tests/rational_check.c b/tests/rational_check.c
index 8957cfdd..484264d9 100644
--- a/tests/rational_check.c
+++ b/tests/rational_check.c
@@ -146,7 +146,7 @@ static int test_rational_matrix(gsl_rng *rng)
gans = solve_svd(gvec, gm, &filt, 0);
} while ( (gans==NULL) || (filt!=0) || (isnan(gsl_vector_get(gans,0))) );
- rtnl_mtx_solve(rm, rvec, rans);
+ transform_fractional_coords_rtnl(rm, rvec, rans);
for ( i=0; i<size; i++ ) {
if ( fabs(rtnl_as_double(rans[i]) - gsl_vector_get(gans, i) > 0.001) )