bridge/class-master/depend/pari/src/language/eval.c
/* Push x on value stack attached to ep. */
Push x on value stack attached to ep.
Push x on value stack attached to ep .
static void
new_val_cell(entree *ep, GEN x, char flag)
{
  var_cell *v = (var_cell*) pari_malloc(sizeof(var_cell));
  v->value  = (GEN)ep->value;
  v->prev   = (var_cell*) ep->pvalue;
  v->flag   = flag;
  v->valence= ep->valence;
  ep->value = (flag == COPY_VAL)? gclone(x):
                                  (x && isclone(x))? gcopy(x): x;
  ep->pvalue= (char*)v;
  ep->valence=EpVAR;
}
static void new_val_cell ( entree * ep , GEN x , char flag ) { var_cell * v = ( var_cell * ) pari_malloc ( sizeof ( var_cell ) ) ; v -> value = ( GEN ) ep -> value ; v -> prev = ( var_cell * ) ep -> pvalue ; v -> flag = flag ; v -> valence = ep -> valence ; ep -> value = ( flag == COPY_VAL ) ? gclone ( x ) : ( x && isclone ( x ) ) ? gcopy ( x ) : x ; ep -> pvalue = ( char * ) v ; ep -> valence = EpVAR ; }
Push x on value stack attached to ep.
Push x on value stack attached to ep .
/* beware: f(p) = Nv = 0
   *         Nv = p; f(Nv) --> this call would destroy p [ isclone ] */ /* Do this last. In case the clone is <C-C>'ed before completion ! */