sprintf(error_output_buff,"Assert failed on %s - real part of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Re(), da->get_within(), da->get_value().Re());
//Send it out
gl_output("%s%s",datebuff,error_output_buff);
returnSM_ERROR;
}
if ( ( _isnan(imag_error) || fabs(imag_error)>da->get_within() )
sprintf(error_output_buff,"Assert failed on %s - imaginary part of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Im(), da->get_within(), da->get_value().Im());
sprintf(error_output_buff,"Assert failed on %s - Magnitude of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Mag(), da->get_within(), da->get_value().Mag());
sprintf(error_output_buff,"Assert failed on %s - Angle of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Arg(), da->get_within(), da->get_value().Arg());
//Send it out
gl_output("%s%s",datebuff,error_output_buff);
returnSM_ERROR;
}
}
gl_verbose("Assert passed on %s", gl_name(obj->parent, buff, 64));
returnSM_EVENT;
}
elseif (da->get_status() == da->ASSERT_FALSE)
{
if ( da->get_operation()==da->FULL || da->get_operation()==da->REAL || da->get_operation()==da->IMAGINARY )
{
complex error = *x - da->get_value();
double real_error = error.Re();
double imag_error = error.Im();
if ( ( _isnan(real_error) || fabs(real_error)<da->get_within() )
sprintf(error_output_buff,"Assert failed on %s - real part of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Re(), da->get_within(), da->get_value().Re());
//Send it out
gl_output("%s%s",datebuff,error_output_buff);
returnSM_ERROR;
}
if ( ( _isnan(imag_error) || fabs(imag_error)<da->get_within() )
sprintf(error_output_buff,"Assert failed on %s - imaginary part of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Im(), da->get_within(), da->get_value().Im());
sprintf(error_output_buff,"Assert failed on %s - Magnitude of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Mag(), da->get_within(), da->get_value().Mag());
sprintf(error_output_buff,"Assert failed on %s - Angle of %s (%g) not within %f of given value %g",gl_name(obj->parent, buff, 64),da->get_target(), (*x).Arg(), da->get_within(), da->get_value().Arg());
//Send it out
gl_output("%s%s",datebuff,error_output_buff);
returnSM_ERROR;
}
}
gl_verbose("Assert passed on %s", gl_name(obj->parent, buff, 64));
returnSM_EVENT;
}
else
{
gl_verbose("Assert test is not being run on %s", gl_name(obj->parent, buff, 64));