On Wed, 9 Oct 2002, Dan Sugalski wrote:
> At 7:42 PM -0700 10/8/02, Steve Fink wrote:
> >Thanks, applied.
> >
> >Who came up with the idea of two-argument ne, anyway? That's kind of
> >bizarre.
>
>
> Definitely bizarre. I think I'd rather not have it, it doesn't make much sense.
Easily done. Patch below removes the ops, plus the relevent tests from
integer.t and number.t
Simon
--- core.ops.old Thu Oct 10 11:57:08 2002
+++ core.ops Thu Oct 10 11:57:29 2002
@@ -902,14 +902,6 @@ op eq (in PMC, in PMC, inconst INT) {
########################################
-=item B<ne>(in INT, in INT)
-
-=item B<ne>(in NUM, in NUM)
-
-=item B<ne>(in STR, in STR)
-
-=item B<ne>(in PMC, in PMC)
-
=item B<ne>(in INT, in INT, inconst INT)
=item B<ne>(in NUM, in NUM, inconst INT)
@@ -920,38 +912,8 @@ op eq (in PMC, in PMC, inconst INT) {
Branch if $1 is not equal to $2.
-Return address is popped off the call stack if no address is supplied.
-
=cut
-inline op ne (in INT, in INT) {
- if ($1 != $2) {
- goto POP();
- }
- goto NEXT();
-}
-
-inline op ne (in NUM, in NUM) {
- if ($1 != $2) {
- goto POP();
- }
- goto NEXT();
-}
-
-op ne (in STR, in STR) {
- if (string_compare (interpreter, $1, $2) != 0) {
- goto POP();
- }
- goto NEXT();
-}
-
-op ne (in PMC, in PMC) {
- if (! $1->vtable->is_equal(interpreter, $1, $2)) {
- goto POP();
- }
- goto NEXT();
-}
-
inline op ne(in INT, in INT, inconst INT) {
if ($1 != $2) {
goto OFFSET($3);
--- t/op/integer.t.old Thu Oct 10 11:58:24 2002
+++ t/op/integer.t Thu Oct 10 12:00:56 2002
@@ -1,6 +1,6 @@
#! perl -w
-use Parrot::Test tests => 39;
+use Parrot::Test tests => 38;
output_is(<<CODE, <<OUTPUT, "set_i_ic");
# XXX: Need a test for writing outside the set of available
@@ -520,47 +520,6 @@ ok 1
ok 2
OUTPUT
-output_is(<<CODE, <<OUTPUT, "ne ic, i (pop label off stack)");
-
- set I0, 12
- set I1, 10
-
- print "start\\n"
- bsr BR1
- print "done 1\\n"
- bsr BR2
- print "done 2\\n"
- bsr BR3
- print "done 3\\n"
- bsr BR4
- print "Shouldn't get here\\n"
-
- end
-
-BR1: ne I0, 10
- print "bad "
- ret
-
-BR2: ne 10, 12
- print "10 is 12! "
- ret
-
-BR3: ne I0, I1
- print "10 is 12, even when in I reg "
- ret
-
-BR4: ne 12, 12
- print "done 4\\n"
- end
-
-CODE
-start
-done 1
-done 2
-done 3
-done 4
-OUTPUT
-
output_is(<<CODE, <<OUTPUT, "lt_i_ic");
set I0, 2147483647
set I1, -2147483648
--- t/op/number.t.old Thu Oct 10 11:58:35 2002
+++ t/op/number.t Thu Oct 10 12:01:45 2002
@@ -1,6 +1,6 @@
#! perl -w
-use Parrot::Test tests => 34;
+use Parrot::Test tests => 33;
use Test::More;
output_is(<<CODE, <<OUTPUT, "set_n_nc");
@@ -491,50 +491,6 @@ ok 1
ok 2
OUTPUT
-output_is(<<'CODE', <<OUTPUT, "ne_n");
- set N0, 1.234567
- set N1, -1.234567
-
- bsr BR1
- print "ok 1\n"
- bsr BR2
- print "ok 2\n"
- bsr BR3
- print "ok 3\n"
- bsr BR4
- print "ok 4\n"
- bsr BR5
- print "Shouldn't get here\n"
- end
-
-BR1: ne N0, N1
- print "not ok 1\n"
- ret
-
-BR2: ne 2.54, N0
- print "not ok 2\n"
- ret
-
-BR3: ne N0, 0.00
- print "not ok 3\n"
- ret
-
-BR4: ne 1.0, 2.0
- print "not ok 4\n"
- ret
-
-BR5: ne N0, N0
- print "ok 5\n"
- end
-
-CODE
-ok 1
-ok 2
-ok 3
-ok 4
-ok 5
-OUTPUT
-
output_is(<<CODE, <<OUTPUT, "lt_n_ic");
set N0, 1000.0
set N1, 500.0