当前位置: 首页>>代码示例>>C++>>正文


C++ Var::getDoubleValue方法代码示例

本文整理汇总了C++中Var::getDoubleValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Var::getDoubleValue方法的具体用法?C++ Var::getDoubleValue怎么用?C++ Var::getDoubleValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Var的用法示例。


在下文中一共展示了Var::getDoubleValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

double getTypedValue<double>(const Var& var) {
	assert(var.type() == VT_DOUBLE);
	return var.getDoubleValue();
}
开发者ID:nvmd,项目名称:spbau-mathvm,代码行数:4,代码来源:Runner.cpp

示例2: funExec

    void Interpreter::funExec(BytecodeFunction* f) {
        size_t bci = 0;
        size_t k = 0;
        while (bci < f->bytecode()->length()) {
            ++k;
            Instruction insn = f->bytecode()->getInsn(bci);
            switch (insn) {
                case BC_INVALID: {
                    std::cerr << "Invalid instruction!\n";
                    return;
                    break;
                }
                case BC_DLOAD: {
                    Var var(VT_DOUBLE, "");
                    var.setDoubleValue(f->bytecode()->getDouble(bci + 1));
                    programStack.push(var);
                    break;
                }
                case BC_ILOAD: {
                    Var var(VT_INT, "");
                    var.setIntValue(f->bytecode()->getInt64(bci + 1));
                    programStack.push(var);
                    break;
                }
                case BC_SLOAD: {
                    Var var(VT_STRING, "");
                    var.setStringValue(constantById(f->bytecode()->getUInt16(bci + 1)).c_str());
                    programStack.push(var);
                    break;
                }
                case BC_DLOAD0: {
                    Var var(VT_DOUBLE, "");
                    var.setDoubleValue(0.0);
                    programStack.push(var);
                    break;
                }
                case BC_ILOAD0: {
                    Var var(VT_INT, "");
                    var.setIntValue(0L);
                    programStack.push(var);
                    break;
                }
                case BC_SLOAD0: {
                    Var var(VT_STRING, "");
                    var.setStringValue("");
                    programStack.push(var);
                    break;
                }
                case BC_DLOAD1: {
                    Var var(VT_DOUBLE, "");
                    var.setDoubleValue(1.0);
                    programStack.push(var);
                    break;
                }
                case BC_ILOAD1: {
                    Var var(VT_INT, "");
                    var.setIntValue(1L);
                    programStack.push(var);
                    break;
                }
                case BC_DLOADM1: {
                    Var var(VT_DOUBLE, "");
                    var.setDoubleValue(-1.0);
                    programStack.push(var);
                    break;
                }
                case BC_ILOADM1: {
                    Var var(VT_INT, "");
                    var.setIntValue(-1L);
                    programStack.push(var);
                    break;
                }
                case BC_DADD: {
                    Var leftOperand = programStack.top();
                    programStack.pop();
                    Var rightOperand = programStack.top();
                    programStack.pop();
                    Var result(VT_DOUBLE, "");
                    result.setDoubleValue(leftOperand.getDoubleValue() + rightOperand.getDoubleValue());
                    programStack.push(result);
                    break;
                }
                case BC_IADD: {
                    Var leftOperand = programStack.top();
                    programStack.pop();
                    Var rightOperand = programStack.top();
                    programStack.pop();
                    Var result(VT_INT, "");
                    result.setIntValue(leftOperand.getIntValue() + rightOperand.getIntValue());
                    programStack.push(result);
                    break;
                }
                case BC_DSUB: {
                    Var leftOperand = programStack.top();
                    programStack.pop();
                    Var rightOperand = programStack.top();
                    programStack.pop();
                    Var result(VT_DOUBLE, "");
                    result.setDoubleValue(leftOperand.getDoubleValue() - rightOperand.getDoubleValue());
                    programStack.push(result);
//.........这里部分代码省略.........
开发者ID:nvmd,项目名称:spbau-mathvm,代码行数:101,代码来源:interprer.cpp


注:本文中的Var::getDoubleValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。