? .string.c.swp
? t/op/string52.out
? t/op/string52.pasm
Index: core.ops
===================================================================
RCS file: /cvs/public/parrot/core.ops,v
retrieving revision 1.61
diff -c -r1.61 core.ops
*** core.ops	30 Dec 2001 12:04:56 -0000	1.61
--- core.ops	30 Dec 2001 17:41:27 -0000
***************
*** 451,456 ****
--- 451,460 ----
  
  =item B<set>(i, ic)
  
+ =item B<set>(i, n)
+ 
+ =item B<set>(i, nc)
+ 
  =item B<set>(p, i)
  
  =item B<set>(p, ic)
***************
*** 459,464 ****
--- 463,472 ----
  
  =item B<set>(n, nc)
  
+ =item B<set>(n, i)
+ 
+ =item B<set>(n, ic)
+ 
  =item B<set>(p, n)
  
  =item B<set>(p, nc)
***************
*** 501,511 ****
--- 509,531 ----
    goto NEXT();
  }
  
+ op set (i, n|nc) {
+   FLOATVAL number;
+   number = $2;
+   $1 = (INTVAL)number;
+   goto NEXT();
+ }
+ 
  inline op set(n, n|nc) {
    $1 = $2;
    goto NEXT();
  }
  
+ inline op set(n, i|ic) {
+   $1 = (FLOATVAL)$2;
+   goto NEXT();
+ }
+ 
  inline op set(n, p) {
    $1 = $2->vtable->get_number(interpreter, $2);
    goto NEXT();
***************
*** 570,622 ****
    $1 = $2->vtable->get_string_index(interpreter, $2, $3);
    goto NEXT();
  }
- 
- =back
- 
- =cut
- 
- 
- ###############################################################################
- 
- =head2 Conversion operations
- 
- These operations load registers of one type with values from registers of
- another type, performing the appropriate type conversion along the way.
- 
- =over 4
- 
- =cut
- 
- 
- ########################################
- 
- =item B<iton>(n, i)
- 
- Load $1 with the FLOATVAL corresponding to the INTVAL from $2.
- 
- =cut
- 
- inline op iton(n, i) {
-   $1 = (FLOATVAL)$2;
-   goto NEXT();
- }
- 
- 
- ########################################
- 
- =item B<ntoi>(i, n)
- 
- Load $1 with the INTVAL corresponding to the truncated FLOATVAL from $2.
- 
- =cut
- 
- op ntoi(i, n) {
-   FLOATVAL number;
-   number = $2;
-   $1 = (INTVAL)number;
-   goto NEXT();
- }
- 
  
  =back
  
--- 590,595 ----
Index: t/op/integer.t
===================================================================
RCS file: /cvs/public/parrot/t/op/integer.t,v
retrieving revision 1.15
diff -c -r1.15 integer.t
*** t/op/integer.t	12 Dec 2001 06:00:05 -0000	1.15
--- t/op/integer.t	30 Dec 2001 17:41:28 -0000
***************
*** 918,942 ****
  5
  OUTPUT
  
! output_is(<<CODE, <<OUTPUT, "iton_n_i");
  	set	I0, 0
! 	iton	N0, I0
  	print	N0
  	print	"\\n"
  
  	set	I1, 2147483647
! 	iton	N1, I1
  	print	N1
  	print	"\\n"
  
  	set	I2, -2147483648
! 	iton	N2, I2
  	print	N2
  	print	"\\n"
          end
  CODE
  0.000000
  2147483647.000000
  -2147483648.000000
  OUTPUT
  
--- 918,947 ----
  5
  OUTPUT
  
! output_is(<<CODE, <<OUTPUT, "set_n_i|ic");
  	set	I0, 0
! 	set	N0, I0
  	print	N0
  	print	"\\n"
  
  	set	I1, 2147483647
! 	set	N1, I1
  	print	N1
  	print	"\\n"
  
  	set	I2, -2147483648
! 	set	N2, I2
! 	print	N2
! 	print	"\\n"
! 
! 	set	N2, -2147483648
  	print	N2
  	print	"\\n"
          end
  CODE
  0.000000
  2147483647.000000
+ -2147483648.000000
  -2147483648.000000
  OUTPUT
  
Index: t/op/number.t
===================================================================
RCS file: /cvs/public/parrot/t/op/number.t,v
retrieving revision 1.10
diff -c -r1.10 number.t
*** t/op/number.t	30 Nov 2001 13:14:51 -0000	1.10
--- t/op/number.t	30 Dec 2001 17:41:29 -0000
***************
*** 762,786 ****
  0.500000
  OUTPUT
  
! output_is(<<CODE, <<OUTPUT, "ntoi_i_n");
  	set	N0, 0.0
! 	ntoi	I0, N0
  	print	I0
  	print	"\\n"
  
  	set	N1, 2147483647.0
! 	ntoi	I1, N1
  	print	I1
  	print	"\\n"
  
  	set	N2, -2147483648.0
! 	ntoi	I2, N2
  	print	I2
  	print	"\\n"
          end
  CODE
  0
  2147483647
  -2147483648
  OUTPUT
  
--- 762,791 ----
  0.500000
  OUTPUT
  
! output_is(<<CODE, <<OUTPUT, "set_i_n|nc");
  	set	N0, 0.0
! 	set	I0, N0
  	print	I0
  	print	"\\n"
  
  	set	N1, 2147483647.0
! 	set	I1, N1
  	print	I1
  	print	"\\n"
  
  	set	N2, -2147483648.0
! 	set	I2, N2
! 	print	I2
! 	print	"\\n"
! 
! 	set	I2, -2147483648.0
  	print	I2
  	print	"\\n"
          end
  CODE
  0
  2147483647
+ -2147483648
  -2147483648
  OUTPUT
  
