Example #1
0
lcon2val_ASL(ASL *a, int i, real *X, fint *nerror)
#endif
{
	real f;

	INchk(a, "lcon2val", i, a->i.n_lcon_);
	f = c2ival((ASL_fgh*)a, i + a->i.n_con0, X, nerror);
	return f != 0.;
	}
Example #2
0
 real
con2ival_ASL(ASL *a, int i, real *X, fint *nerror)
{
	ASL_fgh *asl;
	cgrad *gr;
	int j1, kv, *vmi;
	real f, *vscale;

	INchk(a, "con2ival", i, a->i.n_con0);
	asl = (ASL_fgh*)a;
	f = c2ival(asl, i, X, nerror);
	kv = 0;
	vmi = 0;
	if ((vscale = asl->i.vscale))
		kv = 2;
	if (asl->i.vmap) {
		vmi = get_vminv_ASL(a);
		++kv;
		}
	gr = asl->i.Cgrad0[i];
	switch(kv) {
	  case 3:
		for(; gr; gr = gr->next) {
			j1 = vmi[gr->varno];
			f += X[j1] * vscale[j1] * gr->coef;
			}
		break;
	  case 2:
		for(; gr; gr = gr->next) {
			j1 = gr->varno;
			f += X[j1] * vscale[j1] * gr->coef;
			}
		break;
	  case 1:
		for(; gr; gr = gr->next)
			f += X[vmi[gr->varno]] * gr->coef;
		break;
	  case 0:
		for(; gr; gr = gr->next)
			f += X[gr->varno] * gr->coef;
	  }
	return f;
	}
Example #3
0
con2ival_ASL(ASL *a, int i, real *X, fint *nerror)
#endif
{
	ASL_fgh *asl;
	cgrad *gr, **gr0;
	expr_v *V;
	real f;

	INchk(a, "con2ival", i, a->i.n_con_);
	f = c2ival(asl = (ASL_fgh*)a, i, X, nerror);
	gr0 = Cgrad + i;
	gr = *gr0;
	if (asl->i.vscale)
		for(V = var_e; gr; gr = gr->next)
			f += gr->coef * V[gr->varno].v;
	else
		for(; gr; gr = gr->next)
			f += gr->coef * X[gr->varno];
	if (asl->i.cscale)
		f *= asl->i.cscale[i];
	return f;
	}