//foo()
{
  int16 anglereturn;
#define IHEADING2P(y,x,angleexpect) \
  anglereturn = IHEADING2((y),(x)); \
  PrintToScreen("IHEADING2(%d,%d) -> %d\r", y, x, anglereturn); \
  if( angleexpect != anglereturn ) \
    { \
      PrintToScreen("*** ERROR: is %d. should be %d\r", \
		    anglereturn, angleexpect); \
    }


  PrintToScreen("****************************************************\r");
  PrintToScreen("****************************************************\r");
  PrintToScreen("****************************************************\r");

  IHEADING2P( 1000,    0, 0);
  IHEADING2P(  866,  500, 300);
  IHEADING2P(  707,  700, 446);
  IHEADING2P(  707,  707, 450);
  IHEADING2P(  700,  707, 454);
  IHEADING2P(  500,  866, 600);
#if 0
  IHEADING2P(    0, 1000, 900);
  IHEADING2P( -500,  866, 1200);
  IHEADING2P( -700,  707, 1346);
  IHEADING2P( -707,  707, 1350);
  IHEADING2P( -707,  700, 1354);
  IHEADING2P( -866,  500, 1500);
  IHEADING2P( -1000,   0, 1800);
  IHEADING2P( -866, -500, -1500);
  IHEADING2P( -707, -700, -1354);
  IHEADING2P( -707, -707, -1350);
  IHEADING2P( -700, -707, -1346);
  IHEADING2P( -500, -866, -1200);
  IHEADING2P(    0, -1000, -900);
  IHEADING2P(  500, -866, -600);
  IHEADING2P(  700, -707, -454);
  IHEADING2P(  707, -707, -450);
  IHEADING2P(  707, -700, -446);
  IHEADING2P(  866, -500, -300);
  IHEADING2P(    0,    0, 0);
  IHEADING2P( 1890, -2474, -526);
  IHEADING2P( 1874, -2384, -519);
  IHEADING2P( 1856, -2294, -510);
  IHEADING2P( 1837, -2205, -501);
#endif    
  PrintToScreen("****************************************************\r");
  PrintToScreen("****************************************************\r");
  PrintToScreen("****************************************************\r");
}

