bridge/class-master/depend/pari/src/language/eval.c
/* set new value of ep directly to val (COPY), do not save last value unless
 * it's INITIAL. */
set new value of ep directly to val (COPY), do not save last value unless
it's INITIAL.
set new value of ep directly to val ( COPY ) do not save last value unless it ' s INITIAL .
void
changevalue(entree *ep, GEN x)
{
  var_cell *v = (var_cell*) ep->pvalue;
  if (v == INITIAL) new_val_cell(ep, x, COPY_VAL);
  else
  {
    GEN old_val = (GEN) ep->value; 
    ep->value = (void *) gclone(x);
    if (v->flag == COPY_VAL) gunclone_deep(old_val); else v->flag = COPY_VAL;
  }
}
void changevalue ( entree * ep , GEN x ) { var_cell * v = ( var_cell * ) ep -> pvalue ; if ( v == INITIAL ) new_val_cell ( ep , x , COPY_VAL ) ; else { GEN old_val = ( GEN ) ep -> value ; ep -> value = ( void * ) gclone ( x ) ; if ( v -> flag == COPY_VAL ) gunclone_deep ( old_val ) ; else v -> flag = COPY_VAL ; } }
set new value of ep directly to val (COPY), do not save last value unless
 it's INITIAL.
set new value of ep directly to val ( COPY ) do not save last value unless it ' s INITIAL .
/* beware: gunclone_deep may destroy old x */