Ejemplo n.º 1
0
ATbool SG_IsMarked(ATerm t)
{
  if (ATindexedSetGetIndex(marks, t) == -1) {
    return ATfalse;
  }

  return ATtrue;
}
Ejemplo n.º 2
0
int HTmember (HTable *table, ATerm a, long *pn)
{ long index;


  index=ATindexedSetGetIndex(table->terms,a);

  if(index>=0){
     *pn=index;
     return 1;
  } else {
     return 0;
  }

}
Ejemplo n.º 3
0
static ATbool occurs_rec(ATerm var, ATerm t, ATbool *nonempty) {
  /* invariants: 
     - var doesn't occur in terms in No_occurs 
     - nonempty iff No_occurs is not empty
  */
  ATbool b;
  if (var==t) return ATtrue;
  else if (ATisVariable(t)) return ATfalse;
  else if (*nonempty && ATindexedSetGetIndex(No_occurs,t)>=0) return ATfalse;
  else {
    int i;
    for (i=ATgetArity(ATgetSymbol(t))-1;i>=0;i--)
      if (occurs_rec(var, ATgetArgument(t,i),nonempty)) return ATtrue;
  }
  *nonempty = ATtrue;
  ATindexedSetPut(No_occurs,t,&b);
  return ATfalse;
}