/* * AUTHOR: Serena Pallecchi student of Computer Science University of Pisa (Italy) * Commission from Faunalia Pontedera (PI) www.faunalia.it * * This program is free software under the GPL (>=v2) * Read the COPYING file that comes with GRASS for details. * */ #include "GenericCell.h" int equalsGenericCell(generic_cell c1, generic_cell c2) { if ((c1.t) != (c2.t)) { return GC_DIFFERENT_TYPE; } switch (c1.t) { case CELL_TYPE: { if (((c1.val).c) > ((c2.val).c)) return GC_HIGHER; else { if (((c1.val).c) == ((c2.val).c)) return GC_EQUAL; else return GC_LOWER; } break; } case DCELL_TYPE: { if (((c1.val).dc) > ((c2.val).dc)) return GC_HIGHER; else { if (((c1.val).dc) == ((c2.val).dc)) return GC_EQUAL; else return GC_LOWER; } break; } case FCELL_TYPE: { if (((c1.val).fc) > ((c2.val).fc)) return GC_HIGHER; else { if (((c1.val).fc) == ((c2.val).fc)) return GC_EQUAL; else return GC_LOWER; } break; } default: { return GC_ERR_UNKNOWN; break; } } } void printGenericCell(generic_cell c) { switch (c.t) { case CELL_TYPE: { printf("\n genericCell_print:c.val.c=%d", (c.val).c); fflush(stdout); break; } case DCELL_TYPE: { printf("\n genericCell_print:c.val.dc=%f", (c.val).dc); fflush(stdout); break; } case FCELL_TYPE: { printf("\n genericCell_print:c.val.fc=%f", (c.val).fc); fflush(stdout); break; } default: { G_fatal_error("printUnionCel: Wrong type"); break; } } }