Ejemplo n.º 1
0
uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h)
{
  register u8g_uint_t tmp;
  tmp = y;
  tmp += h;
  tmp--;
  if ( u8g_is_intersection_decision_tree(u8g->current_page.y0, u8g->current_page.y1, y, tmp) == 0 )
    return 0; 
  
  tmp = x;
  tmp += w;
  tmp--;
  return u8g_is_intersection_decision_tree(u8g->current_page.x0, u8g->current_page.x1, x, tmp);
}
Ejemplo n.º 2
0
void check(uint8_t b1, uint8_t b2)
{
  int intersection, p;
  clear();
  line(a1, a2, 1);
  line(b1, b2, 2);
  // show();
  intersection = is_array_intersection();
  p = conditionpattern(b1, b2); 
  pla[p] |= intersection+1;
  /*
  if ( p == 0 || p == 7)
    printf("%02x: [%d %d] [%d %d] array_intersection:%d\n", p, a1, a2, b1, b2, intersection);
  */
  if ( is_math_intersection(b1, b2) != intersection)
  {
    printf("%02x: [%d %d] [%d %d] array_intersection:%d != %d failed\n", p, a1, a2, b1, b2, intersection, is_math_intersection(b1, b2));
    exit(0);
  }
  if ( u8g_is_intersection_decision_tree(a1,a2,b1,b2)  != intersection )
  {
    printf("%02x: [%d %d] [%d %d] array_intersection:%d != %d failed\n", p, a1, a2, b1, b2, intersection, u8g_is_intersection_decision_tree(a1,a2,b1,b2));
    exit(0);
  }
  if ( u8g_is_intersection_math(a1,a2,b1,b2)  != intersection )
  {
    printf("%02x: [%d %d] [%d %d] array_intersection:%d != %d failed\n", p, a1, a2, b1, b2, intersection, u8g_is_intersection_math(a1,a2,b1,b2));
    exit(0);
  }
  
}