Exemplo n.º 1
0
static TaggedString *insert (char *buff, int tag, stringtable *tb)
{
  TaggedString *ts;
  unsigned long h = hash(buff, tag);
  int i;
  int j = -1;
  if ((Long)tb->nuse*3 >= (Long)tb->size*2)
  {
    if (!initialized)
      initialize();
    grow(tb);
  }
  i = h%tb->size;
  while ((ts = tb->hash[i]) != NULL)
  {
    if (ts == &EMPTY)
      j = i;
    else if ((ts->tag == LUA_T_STRING) ?
              (tag == LUA_T_STRING && (strcmp(buff, ts->str) == 0)) :
              ((tag == ts->tag || tag == LUA_ANYTAG) && buff == ts->u.v))
      return ts;
    i = (i+1)%tb->size;
  }
  /* not found */
  lua_pack();
  if (j != -1)  /* is there an EMPTY space? */
    i = j;
  else
    tb->nuse++;
  ts = tb->hash[i] = newone(buff, tag, h);
  return ts;
}
Exemplo n.º 2
0
void main()
{ 
 
 
  Tutorpair  tutorpair;
  Tutorpair   newone(12,3.7);
  cout<<"back in main"<<endl;

}
Exemplo n.º 3
0
ostream& RationalNumber::printTwoPart(ostream& out, const char* spacer) const {
   int tnum = _num;
   int tden = _den;
   int sign = 1;
   if (tnum < 0) {
      tnum = -tnum;
      sign = -sign;
   }
   if (tden < 0) {
      tden = -tden;
      sign = -sign;
   }

   if (tnum < tden) {
      out << *this;
      return out;
   }

   int integ = tnum / tden;
   tnum = tnum - tden * integ;

   if (sign < 0) {
      out << '-';
   }
   if (integ > 0) {
      out << integ;
      if (tnum > 0) {
         out << spacer;
         RationalNumber newone(tnum, tden);
         out << newone;
      }
   } else {
      RationalNumber newone(tnum, tden);
      out << newone;
   }

   return out;
}