Esempio n. 1
0
/* evaluate the expression after seeing any operand change.
 * return whether expression evaluated to 0.
 * exit(2) is trouble or timeout waiting for operands we expect.
 */
static int
runEval (FILE *fp)
{
	char errmsg[1024];
	double v;

	alarm(timeout);
	while (1) {
	    if (evalExpr (&v, errmsg) < 0) {
		fprintf (stderr, "Eval: %s\n", errmsg);
		exit(2);
	    }
	    if (bflag && v)
		fprintf (stderr, "\a");
	    if (eflag)
		fprintf (stderr, "%g\n", v);
	    if (!wflag || v != 0)
		break;
	    while (setOp (nxtEle (fp)) < 0)
		continue;
	    alarm(timeout);
	}
	alarm(0);

	if (!eflag && fflag)
	    fprintf (stderr, "%g\n", v);

	return (v == 0);
}
Esempio n. 2
0
OOModel::Expression* AssignmentDescriptor::create(const QList<OOModel::Expression*>& operands)
{
	auto ae = new OOModel::AssignmentExpression();
	ae->setOp(assignmentType_);
	ae->setLeft(operands.first());
	ae->setRight(operands.last());
	return ae;
}
Esempio n. 3
0
/* wait for defXXX or setXXX for each property in the expression.
 * return when find all operands are found or
 * exit(2) if time out waiting for all known operands.
 */
static void
initProps (FILE *fp)
{
	alarm (timeout);
	while (allOperandsSet() < 0) {
	    if (setOp (nxtEle (fp)) == 0)
		alarm(timeout);
	}
	alarm (0);
}
Esempio n. 4
0
void GLTextureStage::setOp(OpType alpha, TextureOp op, TextureArg arg0, TextureArg arg1) {
	
	if(op != OpDisable) {
		if(op != OpSelectArg2) {
			args[alpha][0] = arg0;
		}
		if(op != OpSelectArg1) {
			args[alpha][1] = arg1;
		}
	}
	
	setOp(alpha, op);
}
Esempio n. 5
0
/** @param mode 'v' to set voice, 'a' to set admin, 'h' to set halfop, 'o' to set op.
 *  @param state what to set the mode to.
 */
bool ChannelNick::setMode(char mode, bool state)
{
    switch (mode)
    {
        case 'q':
            return setOwner(state);
        case 'a':
            return setAdmin(state);
        case 'o':
            return setOp(state);
        case 'h':
            return setHalfOp(state);
        case 'v':
            return setVoice(state);
        default:
            qDebug() << "Mode '" << mode << "' not recognised in setModeForChannelNick";
            return false;
    }
}
Esempio n. 6
0
void matrixEnter::make_visible(int li, int co, /*MaceInt characteristic,*/ QListWidgetItem *i, bool vec, bool quad){

    q = quad;
    this->clean();

    mercury->setData(100,i->data(100));
    setOp(i);

    if (vec && op == "write a matrix") label->setText("write a vector");
    else label->setText(factory->get_info(op));

    lines = li;
    columns = co;

    matInfo = "No";

    if (fctnCode == 143){
        for(int i = 0; i < lines; i++){
            for(int j = 0; j <= columns; j++){
                dit = new MaceLineEdit;
                chooseMode(/*characteristic,*/dit);
                dit->setText("0");
                matrix->addWidget(dit,i,2*j,1, 1);
                edits.append(dit);
                if (j<columns){
                    hText = hText.number(j);
                    hText = hText.prepend("<font size=\"4\">&middot; X<sub>");
                    if(j < columns-1){
                        hText = hText.append("</sub>&nbsp;  + </font>");
                    }
                    else{
                        hText = hText.append("</sub> &nbsp; = </font>");
                    }
                    labHelp = new QLabel;
                    labHelp->setText(hText);
                    matrix->addWidget(labHelp,i,2*j+1,1, 1);
                    labels.append(labHelp);
                }
            }
        }
    }
    else{
        for(int i = 0; i < lines; i++){
            for(int j = 0; j < columns; j++){
                dit = new MaceLineEdit;
                chooseMode(/*characteristic,*/dit);
                dit->setText("0");
                matrix->addWidget(dit,i,j,1, 1);
                edits.append(dit);
            }
        }
    }

    info->setHtml(factory->help_info(op,fctnCode));

    if (op == "+ for matrices" || op =="- for matrices" || op == "cross product"
            || op == "change of basis" || op == "/ for matrices" || vec){
        changeLinCol->setHidden(true);
    }
    else{
        changeLinCol->setHidden(false);
    }

    info->setHidden(true);
    layout()->setSizeConstraint(QLayout::SetFixedSize);

    but->setFocus();
    emit hello();
    show();
}
Esempio n. 7
0
	Move::Move()
	{
		setOp("->");
	}
Esempio n. 8
0
void GLTextureStage::SetAlphaOp(TextureOp op) {
	setOp(Alpha, op);
}
Esempio n. 9
0
void GLTextureStage::SetAlphaOp(TextureOp op, TextureArg arg0, TextureArg arg1) {
	setOp(Alpha, op, arg0, arg1);
}
Esempio n. 10
0
void GLTextureStage::SetColorOp(TextureOp op) {
	setOp(Color, op);
}
Esempio n. 11
0
void GLTextureStage::SetColorOp(TextureOp op, TextureArg arg0, TextureArg arg1) {
	setOp(Color, op, arg0, arg1);
}
Esempio n. 12
0
void GLTextureStage::setOp(OpType alpha, TextureOp op) {
	
	if(mStage != 0) {
		glActiveTexture(GL_TEXTURE0 + mStage);
	}
	
	bool wasEnabled = isEnabled();
	
	ops[alpha] = op;
	
	bool enabled = isEnabled();
	if(wasEnabled != enabled) {
		if(enabled) {
			glEnable(GL_TEXTURE_2D);
			glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
			renderer->maxTextureStage = std::max<size_t>(mStage, renderer->maxTextureStage);
		} else {
			glDisable(GL_TEXTURE_2D);
			if(renderer->maxTextureStage == mStage) {
				renderer->maxTextureStage = 0;
				for(int stage = mStage - 1; stage >= 0; stage--) {
					if(renderer->GetTextureStage(stage)->isEnabled()) {
						renderer->maxTextureStage = stage;
						break;
					}
				}
			}
		}
	}
	
	CHECK_GL;
	
	switch(op) {
		
		case OpDisable: {
			setOp(alpha, GL_REPLACE, 1);
			setArg(alpha, Arg0, ArgCurrent);
			CHECK_GL;
			break;
		}
		
		case OpSelectArg1: {
			setOp(alpha, GL_REPLACE, 1);
			setArg(alpha, Arg0, args[alpha][Arg0]);
			CHECK_GL;
			break;
		}
		
		case OpSelectArg2: {
			setOp(alpha, GL_REPLACE, 1);
			setArg(alpha, Arg0, args[alpha][Arg1]);
			CHECK_GL;
			break;
		}
		
		case OpModulate: {
			setOp(alpha, GL_MODULATE, 1);
			setArg(alpha, Arg0, args[alpha][Arg0]);
			setArg(alpha, Arg1, args[alpha][Arg1]);
			CHECK_GL;
			break;
		}
		
		case OpModulate2X: {
			setOp(alpha, GL_MODULATE, 2);
			setArg(alpha, Arg0, args[alpha][Arg0]);
			setArg(alpha, Arg1, args[alpha][Arg1]);
			CHECK_GL;
			break;
		}
		
		case OpModulate4X: {
			setOp(alpha, GL_MODULATE, 4);
			setArg(alpha, Arg0, args[alpha][Arg0]);
			setArg(alpha, Arg1, args[alpha][Arg1]);
			CHECK_GL;
			break;
		}
		
		case OpAddSigned: {
			setOp(alpha, GL_ADD_SIGNED, 1);
			setArg(alpha, Arg0, args[alpha][Arg0]);
			setArg(alpha, Arg1, args[alpha][Arg1]);
			CHECK_GL;
			break;
		}
		
	}
	
	if(mStage != 0) {
		glActiveTexture(GL_TEXTURE0);
	}
	
}
Esempio n. 13
0
void GLTextureStage::setOp(OpType alpha, TextureOp op) {
	
	if(mStage != 0) {
		glActiveTexture(GL_TEXTURE0 + mStage);
	}
		
	bool wasEnabled = isEnabled();
	
	ops[alpha] = op;
	
	bool enabled = isEnabled();
	if(wasEnabled != enabled) {
		if(enabled) {
			glEnable(GL_TEXTURE_2D);
			setTexEnv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
			renderer->maxTextureStage = std::max<size_t>(mStage, renderer->maxTextureStage);
		} else {
			glDisable(GL_TEXTURE_2D);
			if(renderer->maxTextureStage == mStage) {
				renderer->maxTextureStage = 0;
				for(int stage = mStage - 1; stage >= 0; stage--) {
					if(renderer->GetTextureStage(stage)->isEnabled()) {
						renderer->maxTextureStage = stage;
						break;
					}
				}
			}
		}
	}
	
	switch(op) {
		
		case OpDisable: {
			setOp(alpha, GL_REPLACE, 1);
			setArg(alpha, GL_PREVIOUS);
			break;
		}
		
		case OpSelectArg1: {
			setOp(alpha, GL_REPLACE, 1);
			setArg(alpha, GL_TEXTURE);
			break;
		}
		
		case OpModulate: {
			setOp(alpha, GL_MODULATE, 1);
			setArg(alpha, GL_TEXTURE);
			break;
		}
		
		case OpModulate2X: {
			setOp(alpha, GL_MODULATE, 2);
			setArg(alpha, GL_TEXTURE);
			break;
		}
		
		case OpModulate4X: {
			setOp(alpha, GL_MODULATE, 4);
			setArg(alpha, GL_TEXTURE);
			break;
		}
		
	}

	if(mStage != 0) {
		glActiveTexture(GL_TEXTURE0);
	}
}