version 1.29, 2010/06/14 11:34:18
|
version 1.37, 2017/03/07 18:28:02
|
Line 51 sub maximareply {
|
Line 51 sub maximareply {
|
print $socket &escape($cmd)."\n"; |
print $socket &escape($cmd)."\n"; |
my $reply=<$socket>; |
my $reply=<$socket>; |
chomp($reply); |
chomp($reply); |
if ($reply=~/^Incorrect/) { $reply='Error: '.$reply; } |
if ($reply=~/^Incorrect/i) { $reply='Error: '.$reply; } |
return &unescape($reply); |
return &unescape($reply); |
} else { |
} else { |
return 'Error: no connection.'; |
return 'Error: no connection.'; |
Line 155 sub maxima_eval {
|
Line 155 sub maxima_eval {
|
|
|
sub compareterms { |
sub compareterms { |
my ($socket,$terma,$termb)=@_; |
my ($socket,$terma,$termb)=@_; |
my $difference=$terma.'-('.$termb.')'; |
my $difference='('.$terma.')-('.$termb.')'; |
if (&blacklisted($difference)) { return 'Error: blacklisted'; } |
if (&blacklisted($difference)) { return 'Error: blacklisted'; } |
my $reply=&maximareply($socket,'trigsimp(trigreduce('.$difference.'));'); |
my $reply=&maximareply($socket,'trigsimp(trigreduce('.$difference.'));'); |
if ($reply=~/^\s*0\s*$/) { return 'true'; } |
if ($reply=~/^\s*0\s*$/) { return 'true'; } |
Line 166 sub compareterms {
|
Line 166 sub compareterms {
|
sub maxima_check { |
sub maxima_check { |
my ($response,$answer,$reterror) = @_; |
my ($response,$answer,$reterror) = @_; |
my $socket=&connect(); |
my $socket=&connect(); |
my $reply=&compareterms($socket,$response,$answer); |
my $reply=&maximareply($socket,$response.';'); |
|
unless ($reply=~/^Error\:/) { |
|
$reply=&compareterms($socket,$response,$answer); |
|
} |
&disconnect($socket); |
&disconnect($socket); |
# integer to string mappings come from capaParser.h |
# integer to string mappings come from capaParser.h |
# 1 maps to 'EXACT_ANS' |
# 1 maps to 'EXACT_ANS' |