/* See {hr2_pmap_opt_translation.h}. */ /* Last edited on 2024-09-05 19:17:20 by stolfi */ #define _GNU_SOURCE #include #include #include #include #include #include #include void hr2_pmap_encode_translation(hr2_pmap_t *M, double y[]) { double A00 = M->dir.c[0][0]; y[0] = M->dir.c[0][1] / A00; y[1] = M->dir.c[0][2] / A00; return; } void hr2_pmap_decode_translation(double y[], hr2_pmap_t *M) { r3x3_ident(&(M->dir)); M->dir.c[0][1] = y[0]; M->dir.c[0][2] = y[1]; r3x3_ident(&(M->inv)); M->inv.c[0][1] = - y[0]; M->inv.c[0][2] = - y[1]; return; }