GenericCell.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * AUTHOR: Serena Pallecchi student of Computer Science University of Pisa (Italy)
  3. * Commission from Faunalia Pontedera (PI) www.faunalia.it
  4. *
  5. * This program is free software under the GPL (>=v2)
  6. * Read the COPYING file that comes with GRASS for details.
  7. *
  8. */
  9. #include "GenericCell.h"
  10. int equalsGenericCell(generic_cell c1, generic_cell c2)
  11. {
  12. if ((c1.t) != (c2.t)) {
  13. return GC_DIFFERENT_TYPE;
  14. }
  15. switch (c1.t) {
  16. case CELL_TYPE:
  17. {
  18. if (((c1.val).c) > ((c2.val).c))
  19. return GC_HIGHER;
  20. else {
  21. if (((c1.val).c) == ((c2.val).c))
  22. return GC_EQUAL;
  23. else
  24. return GC_LOWER;
  25. }
  26. break;
  27. }
  28. case DCELL_TYPE:
  29. {
  30. if (((c1.val).dc) > ((c2.val).dc))
  31. return GC_HIGHER;
  32. else {
  33. if (((c1.val).dc) == ((c2.val).dc))
  34. return GC_EQUAL;
  35. else
  36. return GC_LOWER;
  37. }
  38. break;
  39. }
  40. case FCELL_TYPE:
  41. {
  42. if (((c1.val).fc) > ((c2.val).fc))
  43. return GC_HIGHER;
  44. else {
  45. if (((c1.val).fc) == ((c2.val).fc))
  46. return GC_EQUAL;
  47. else
  48. return GC_LOWER;
  49. }
  50. break;
  51. }
  52. default:
  53. {
  54. return GC_ERR_UNKNOWN;
  55. break;
  56. }
  57. }
  58. }
  59. void printGenericCell(generic_cell c)
  60. {
  61. switch (c.t) {
  62. case CELL_TYPE:
  63. {
  64. printf("\n genericCell_print:c.val.c=%d", (c.val).c);
  65. fflush(stdout);
  66. break;
  67. }
  68. case DCELL_TYPE:
  69. {
  70. printf("\n genericCell_print:c.val.dc=%f", (c.val).dc);
  71. fflush(stdout);
  72. break;
  73. }
  74. case FCELL_TYPE:
  75. {
  76. printf("\n genericCell_print:c.val.fc=%f", (c.val).fc);
  77. fflush(stdout);
  78. break;
  79. }
  80. default:
  81. {
  82. G_fatal_error("printUnionCel: Wrong type");
  83. break;
  84. }
  85. }
  86. }