I've updated the literals tests to fully account for the radix notation;
and I've also updated the tests to use the new radix#(number):(number)
notation.  Let me know if anyone finds any errors.

Find them at:

http://jryan.perlmonk.org/images/literals.tar.gz

Michael Lazzaro wrote:

--- Numeric Literals ---

decimal notation:
     123       # int 123
    0123       # int 123
    123.0      # num 123.0
    -123       # int -123

   0_1.2_3     # ok
   _01.23      # wrong
   01.23_      # wrong
   01_._23     # wrong
   1__2        # wrong

exponential notation:
   -1.23e4     # num
   -1.23E4     # num (identical)
   1.23_e_4    # wrong

bin/oct/hex notation:

   0b0110      # bin
   0c0123      # oct
   0x00ff      # hex
   0x00fF      # hex, == 0x00ff
   0x00FF      # hex, == 0x00ff

   -0xff       # ok
   -0x00ff     # ok

   0xf_f       # ok
   0x_ff       # ok

explicit radix:

   (radix 2-32)

   20:1gj       # base 20
   20:1GJ       # base 20 (identical)
   20:1.G.J     # base 20 (identical)
   20:1_G_J     # base 20 (identical)
   20:1.16.19   # base 20 (identical)
   20:1_16_19   # NOT identical; == 20:11619
   20:1.1_6.19  # WRONG: dotted form may not have underlines

   -20:1GJ      # base 20 (negative)
   -20:1.16.19  # base 20 (negative)

   62:zZ       # base 62 (?)
   62:z.Z      # base 62 (identical?)
   62:z_Z      # base 62 (identical?)
   62:Zz       # base 62 (not identical?)

  (radix 33-RADIX_MAX)

  256:0.253.254.255   # base 256
  256:0_253_254_255   # base 256

MikeL



Reply via email to