Lines Matching refs:Variable
547 template <typename T> class Variable;
554 VariableP<T> variable (const string& name);
558 * \brief A variable environment.
570 void bind (const Variable<T>& variable,
576 de::insert(m_map, variable.getName(), SharedPtr<deUint8>(data, de::ArrayDeleter<deUint8>()));
580 typename Traits<T>::IVal& lookup (const Variable<T>& variable) const
582 deUint8* const data = de::lookup(m_map, variable.getName()).get();
596 * point precision and the current variable environment.
643 return variable<T>(baseName + de::toString(m_symCounter()));
664 * effects only: the execute() method should modify at least one variable in
668 * when it is evaluated, it can add a variable binding to the environment
711 * A statement that modifies a variable or a declaration that binds a variable.
718 VariableStatement (const VariableP<T>& variable, const ExprP<T>& value,
720 : m_variable (variable)
754 StatementP variableStatement (const VariableP<T>& variable,
758 return StatementP(new VariableStatement<T>(variable, value, isDeclaration));
762 StatementP variableDeclaration (const VariableP<T>& variable, const ExprP<T>& definiens)
764 return variableStatement(variable, definiens, true);
768 StatementP variableAssignment (const VariableP<T>& variable, const ExprP<T>& value)
770 return variableStatement(variable, value, false);
934 * \brief A shared pointer to a variable expression.
936 * This is just a narrowing of ExprP for the operations that require a variable
941 class VariableP : public SharedPtr<const Variable<T> >
944 typedef SharedPtr<const Variable<T> > Super;
945 explicit VariableP (const Variable<T>* ptr) : Super(ptr) {}
1003 * \brief Variable expression.
1005 * A variable is evaluated by looking up its range of possible values from an
1009 class Variable : public Expr<T>
1014 Variable (const string& name) : m_name (name) {}
1029 VariableP<T> variable (const string& name)
1031 return VariableP<T>(new Variable<T>(name));
1415 const Variable<Arg0>& var0 = static_cast<const Variable<Arg0>&>(*this->m_args.a);
1416 const Variable<Arg1>& var1 = static_cast<const Variable<Arg1>&>(*this->m_args.b);
1417 const Variable<Arg2>& var2 = static_cast<const Variable<Arg2>&>(*this->m_args.c);
1418 const Variable<Arg3>& var3 = static_cast<const Variable<Arg3>&>(*this->m_args.d);
1544 args.a = m_var0 = variable<Arg0>(paramNames.a);
1545 args.b = m_var1 = variable<Arg1>(paramNames.b);
1546 args.c = m_var2 = variable<Arg2>(paramNames.c);
1547 args.d = m_var3 = variable<Arg3>(paramNames.d);
4446 Symbol makeSymbol (const Variable<T>& variable)
4448 return Symbol(variable.getName(), getVarTypeOf<T>(m_ctx.precision));
4920 variables.out0 = variable<Ret>("out0");
4921 variables.out1 = variable<Void>("out1");
4922 variables.in0 = variable<Arg0>("in0");
4923 variables.in1 = variable<Arg1>("in1");
4924 variables.in2 = variable<Arg2>("in2");
4925 variables.in3 = variable<Arg3>("in3");
4978 variables.out0 = variable<Ret>("out0");
4979 variables.out1 = variable<Arg1>("out1");
4980 variables.in0 = variable<Arg0>("in0");
4981 variables.in1 = variable<Arg2>("in1");
4982 variables.in2 = variable<Arg3>("in2");
4983 variables.in3 = variable<Void>("in3");