JBoolean
JArcSine::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex argValue;
	if (!(GetArg())->Evaluate(&argValue))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = JASin(argValue);
	return jerrno_is_clear();
}
示例#2
0
JBoolean
JLogE::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex argValue;
	if (!GetArg()->Evaluate(&argValue))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = log(argValue);
	return jerrno_is_clear();
}
JBoolean
JArcSine::Evaluate
	(
	JFloat* result
	)
	const
{
	JFloat argValue;
	if (!(GetArg())->Evaluate(&argValue))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = asin(argValue);
	return jerrno_is_clear();
}
JBoolean
JTruncateToInt::Evaluate
	(
	JFloat* result
	)
	const
{
	JFloat value;
	if (!(GetArg())->Evaluate(&value))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = JTruncate(value);
	return jerrno_is_clear();
}
JBoolean
JTruncateToInt::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex value;
	if (!(GetArg())->Evaluate(&value))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = JComplex(JTruncate(real(value)), JTruncate(imag(value)));
	return jerrno_is_clear();
}
JBoolean
JHypTangent::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex argValue;
	if (!GetArg()->Evaluate(&argValue))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = sinh(argValue)/cosh(argValue);
	return jerrno_is_clear();
}
JBoolean
JHypTangent::Evaluate
	(
	JFloat* result
	)
	const
{
	JFloat argValue;
	if (!GetArg()->Evaluate(&argValue))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = tanh(argValue);
	return jerrno_is_clear();
}
JBoolean
JPhaseAngle::Evaluate
	(
	JFloat* result
	)
	const
{
	JComplex value;
	if ((GetArg())->Evaluate(&value))
		{
		jclear_errno();
		*result = arg(value);
		return jerrno_is_clear();
		}
	else
		{
		return kJFalse;
		}
}
JBoolean
JConjugate::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex value;
	if (GetArg()->Evaluate(&value))
		{
		jclear_errno();
		*result = conj(value);
		return jerrno_is_clear();
		}
	else
		{
		return kJFalse;
		}
}
JBoolean
JAbsValue::Evaluate
	(
	JComplex* result
	)
	const
{
	JComplex value;
	if ((GetArg())->Evaluate(&value))
		{
		jclear_errno();
		*result = abs(value);
		return jerrno_is_clear();
		}
	else
		{
		return kJFalse;
		}
}
JBoolean
JLogB::Evaluate
	(
	JFloat* result
	)
	const
{
	JFloat b,x;
	if (!(GetArg1())->Evaluate(&b) || b <= 1.0)
		{
		return kJFalse;
		}
	if (!(GetArg2())->Evaluate(&x))
		{
		return kJFalse;
		}
	jclear_errno();
	*result = log(x)/log(b);
	return jerrno_is_clear();
}