ftp.nice.ch/pub/next/developer/languages/lisp/AKCL.1.599.s.tar.gz#/akcl-1-599/V/c/predicate.c

This is predicate.c in view mode; [Download] [Up]

Changes file for /usr/local/src/kcl/c/predicate.c
Created on Fri Jul 26 09:09:38 1991
Usage \n@s[Original text\n@s|Replacement Text\n@s]
See the file rascal.ics.utexas.edu:/usr2/ftp/merge.c
for a program to merge change files.  Anything not between
"\n@s[" and  "\n@s]" is a simply a comment.
This file was constructed using emacs and  merge.el
Enhancements Copyright (c) W. Schelter All rights reserved.
   by (Bill Schelter)  wfs@carl.ma.utexas.edu 


****Change:(orig (239 239 c))
@s[	if (t == t_cfun || t == t_cclosure)

@s|	if (t == t_cfun || t == t_cclosure || t == t_sfun || t == t_gfun
	    || t == t_vfun)

@s]


****Change:(orig (249 249 a))
@s[		if (x == Slambda || x == Slambda_block ||

@s|		if (x == Slambda || x == Slambda_block ||
		    x == siSlambda_block_expanded ||

@s]


****Change:(orig (263 263 c))
@s[	    type_of(vs_base[0]) == t_cclosure)

@s|	    type_of(vs_base[0]) == t_cclosure  ||
	    type_of(vs_base[0]) == t_sfun   ||
	    type_of(vs_base[0]) == t_gfun ||
	    type_of(vs_base[0]) == t_vfun
	    
	    
	    )

@s]


****Change:(orig (363 363 a))
@s[	if (eql(vs_base[0], vs_base[1]))
		vs_base[0] = Ct;
	else
		vs_base[0] = Cnil;
	vs_pop;
}

bool

@s|	if (eql(vs_base[0], vs_base[1]))
		vs_base[0] = Ct;
	else
		vs_base[0] = Cnil;
	vs_pop;
}

bool


@s]


****Change:(orig (365 365 c))
@s[equal(x, y)
object x, y;

@s|equal(x, y)
register object x;
#ifdef UNIX   /* in non unix case cs_check want's an address */
register
#endif
object y;

@s]


****Change:(orig (367 367 c))
@s[{
	enum type t;

@s|{
register enum type t;

@s]


****Change:(orig (369 369 c))
@s[
	cs_check(x);

@s|
	cs_check(y);

@s]


****Change:(orig (374 374 c))
@s[		return(FALSE);
	if (eql(x, y))

@s|		return(FALSE);
	if (x==y)

@s]


****Change:(orig (385 385 c))
@s[		goto BEGIN;

	case t_string:

@s|		goto BEGIN;

        case t_structure:
	case t_symbol: 
	case t_vector:
        case t_array:
		return FALSE;

	case t_fixnum :
	return(fix(x)==fix(y));
	case t_shortfloat:
	return(x->SF.SFVAL==y->SF.SFVAL);
	case t_longfloat:
	return(x->LF.LFVAL==y->LF.LFVAL);

 	case t_string:

@s]


****Change:(orig (403 414 d))
@s[	case t_structure:
	{
		int i;


@s,				return(FALSE);
		return(TRUE);
	}


@s|
@s]


****Change:(orig (424 431 d))
@s[#ifdef AOSVS






#endif

@s|
@s]


****Change:(orig (437 437 c))
@s[			return(FALSE);

	}
	return(FALSE);

@s|			return(FALSE);

	}
	return(eql(x,y));

@s]


****Change:(orig (488 489 c))
@s[		if (ty == t_array && x->a.a_rank != y->a.a_rank)
			goto ARRAY;

@s|		if (ty == t_array && x->a.a_rank == y->a.a_rank)
		  { if (x->a.a_rank > 1)
		     {int i=0;
		      for (i=0; i< x->a.a_rank; i++)
			{if (x->a.a_dims[i]!=y->a.a_dims[i])
			   return(FALSE);}}
			goto ARRAY;}

@s]


****Change:(orig (507 507 c))
@s[		goto BEGIN;

	case t_structure:
	{

@s|		goto BEGIN;

	case t_structure:
		{

@s]


****Change:(orig (509 510 c))
@s[
		if (x->str.str_name != y->str.str_name)

@s|		if (x->str.str_def != y->str.str_def)

@s]


****Change:(orig (512 514 c))
@s[		for (i = 0;  i < x->str.str_length;  i++)
			if (!equalp(x->str.str_self[i], y->str.str_self[i]))
				return(FALSE);

@s|		{int leng= S_DATA(x->str.str_def)->length;
		 unsigned char *s_type= & SLOT_TYPE(x->str.str_def,0);
		 unsigned short *s_pos= & SLOT_POS(x->str.str_def,0);
		for (i = 0;  i < leng;  i++,s_pos++)
		 {if (s_type[i]==0)
		   {if (!equalp(STREF(object,x,*s_pos),STREF(object,y,*s_pos)))
		       return FALSE;}
		  else
		   if (! (*s_pos & (sizeof(object)-1)))
		    switch(s_type[i]){
		    case aet_lf:
		     if(STREF(longfloat,x,*s_pos) != STREF(longfloat,y,*s_pos))
			return(FALSE);
		      break;
		    case aet_sf:
		     if(STREF(shortfloat,x,*s_pos)!=STREF(shortfloat,y,*s_pos))
			return(FALSE);
		      break;
		    default:
		      if(STREF(int,x,*s_pos)!=STREF(int,y,*s_pos))
			return(FALSE);
		      break;}}

@s]


****Change:(orig (516 516 c))
@s[		return(TRUE);
	}

@s|		return(TRUE);
	}}

@s]


****Change:(orig (529 529 a))
@s[		if (x->a.a_dim != y->a.a_dim)
			return(FALSE);

@s|		if (x->a.a_dim != y->a.a_dim)
			return(FALSE);
		j=x->a.a_dim;
		if (tx!=t_array)
		  /*So these are both t_vector,t_string,or t_bitvector
		    and may have fill-pointers so limit J must be decreased*/
		  {if (x->v.v_hasfillp && (j > x->v.v_fillp))
		     j=x->v.v_fillp;
		   if (y->v.v_hasfillp && (j > y->v.v_fillp))
		     j=y->v.v_hasfillp;}

@s]


****Change:(orig (532 532 c))
@s[		for (i = 0, j = x->a.a_dim;  i < j;  i++) {

@s|		for (i = 0;  i < j;  i++) {

@s]

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.