From 78ecc9e960b32564bd2642079417f765f6dd933b Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 29 Nov 2019 00:17:40 +0100 Subject: [PATCH] fixed some crashes in E2xE --- cell.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cell.cpp b/cell.cpp index 5b30a4e8..acf60fe2 100644 --- a/cell.cpp +++ b/cell.cpp @@ -860,7 +860,8 @@ EX cdata *arcmCdata(cell *c) { } EX int getCdata(cell *c, int j) { - if(euclid && !archimedean && !penrose) return getEuclidCdata(euc2_coordinates(c))->val[j]; + if(prod) { c = hybrid::get_where(c).first; return PIU(getBits(c)); } + else if(euclid && !archimedean && !penrose) return getEuclidCdata(euc2_coordinates(c))->val[j]; else if(archimedean && euclid) return getEuclidCdata(pseudocoords(c))->val[j]; else if(archimedean && hyperbolic) @@ -877,7 +878,8 @@ EX int getCdata(cell *c, int j) { } EX int getBits(cell *c) { - if(euclid && !archimedean && !penrose) return getEuclidCdata(euc2_coordinates(c))->bits; + if(prod) { c = hybrid::get_where(c).first; return PIU(getBits(c)); } + else if(euclid && !archimedean && !penrose) return getEuclidCdata(euc2_coordinates(c))->bits; else if(archimedean && euclid) return getEuclidCdata(pseudocoords(c))->bits; else if(archimedean && (hyperbolic || sl2))