JBoolean
SCCircuitVarList::GetNumericValue
	(
	const JIndex	variableIndex,
	const JIndex	elementIndex,
	JComplex*		value
	)
	const
{
	const VarInfo info = itsVars->GetElement(variableIndex);
	if (elementIndex == 1 && info.f != NULL)
		{
		if (IsOnEvalStack(variableIndex))
			{
			*value = 0.0;
			return kJFalse;
			}
		PushOnEvalStack(variableIndex);
		const JBoolean ok = (info.f)->Evaluate(value);
		PopOffEvalStack(variableIndex);
		return ok;
		}
	else if (elementIndex == 1)
		{
		*value = info.value;
		return kJTrue;
		}
	else
		{
		return kJFalse;
		}
}
void
JVariableList::PopOffEvalStack
	(
	const JIndex variableIndex
	)
	const
{
	assert( IsOnEvalStack(variableIndex) );

	itsEvalStack->SetElement(variableIndex, kJFalse);
}
void
JVariableList::PushOnEvalStack
	(
	const JIndex variableIndex
	)
	const
{
	assert( !IsOnEvalStack(variableIndex) );

	itsEvalStack->SetElement(variableIndex, kJTrue);
}