Thanks. I toyed around with it some more and got it working in the "Entered" column. The "Correct" column still has the decimal though. If at all possible I'd like to get rid of that since we do encourage our students to use fractions rather than decimals (except for apps problems). Here's the code as I currently have it:
## Author('Chris Wingard')
## Institution('Michigan State University')
## MTH 103
## Section: Polynomial and Rational Inequalities
DOCUMENT();
loadMacros(
"PGbasicmacros.pl",
"PGchoicemacros.pl",
"PGanswermacros.pl",
"PGstandard.pl",
"MathObjects.pl",
"contextFraction.pl",
"contextLimitedNumeric.pl",
"extraAnswerEvaluators.pl",
#"parserMultiAnswer.pl",
"answerHints.pl"
);
Context("Interval")->flags->set(
reduceConstants => 0,
reduceConstantFunctions => 0,
strict_numeric => 1,
formatStudentAnswer=>'parsed'
);
Parser::Number::NoDecimals;
$showPartialCorrectAnswers = 1;
###########################################
do {
$a = random(2,4,1);
do {
$b = random(1,3,1);
} while (gcd($a, $b) != 1);
do {
$c = random(1,5,1);
} while ($b == $c);
$A = $a;
$B = -($a*$c + $b);
$C = $b*$c;
} while ($B**2 <= 1);
$fx = "\dfrac{1}{\sqrt{$A x^2 + $B x + $C}}";
$endpt1 = "$b/$a";
$soln = Union("(-inf, $endpt1) U ($c, inf)");
$display = "f(x) = $fx";
###########################################
TEXT(beginproblem());
Context()->texStrings;
BEGIN_TEXT
$PAR
Find the domain of the function.
$PAR
\( \qquad $display \)
$PAR
Answer: \{ ans_rule(30) \}
$PAR
$BBOLD
Note: Use INF or -INF for \(\infty\) or \(-\infty\), respectively.
Make sure your answer $BR
is in interval notation, e.g., an answer of \(2 \le x \le 6\)
should be entered as \([2, 6]\), etc. $BR
Enter "{ }" without quotes if there is no solution (the empty set). $BR
Use the letter U for union. e.g., an answer of \(x < 2 \textrm{ or }
x \ge 6\) $BR should be entered as \((\textrm{-inf}, 2) \textrm{ U }
[6, \textrm{inf})\), etc.
$EBOLD
END_TEXT
###########################################
Context()->normalStrings;
ANS( $soln -> cmp() );
#ANS( interval_cmp($soln) );
ENDDOCUMENT();