Negative indices in array:to_orddict/1

Ulf Norell <>
Mon Dec 6 09:54:56 CET 2010


I was playing around with some simple QuickCheck properties for the array
library when I ran into the following weird behaviour:

1> A = array:set(10, b, array:relax(array:resize(0, array:set(10, a,
array:new())))).
...
2> io:format("~w~n", [array:to_orddict(A)]).
[{-90,undefined},{-89,undefined},{-88,undefined},{-87,undefined},{-86,undefined},{-85,undefined},{-84,undefined},{-83,undefined},{-82,undefined},{-81,undefined},{-80,a},{-79,undefined},{-78,undefined},{-77,undefined},{-76,undefined},{-75,undefined},{-74,undefined},{-73,undefined},{-72,undefined},{-71,undefined},{-70,undefined},{-69,undefined},{-68,undefined},{-67,undefined},{-66,undefined},{-65,undefined},{-64,undefined},{-63,undefined},{-62,undefined},{-61,undefined},{-60,undefined},{-59,undefined},{-58,undefined},{-57,undefined},{-56,undefined},{-55,undefined},{-54,undefined},{-53,undefined},{-52,undefined},{-51,undefined},{-50,undefined},{-49,undefined},{-48,undefined},{-47,undefined},{-46,undefined},{-45,undefined},{-44,undefined},{-43,undefined},{-42,undefined},{-41,undefined},{-40,undefined},{-39,undefined},{-38,undefined},{-37,undefined},{-36,undefined},{-35,undefined},{-34,undefined},{-33,undefined},{-32,undefined},{-31,undefined},{-30,undefined},{-29,undefined},{-28,undefined},{-27,undefined},{-26,undefined},{-25,undefined},{-24,undefined},{-23,undefined},{-22,undefined},{-21,undefined},{-20,undefined},{-19,undefined},{-18,undefined},{-17,undefined},{-16,undefined},{-15,undefined},{-14,undefined},{-13,undefined},{-12,undefined},{-11,undefined},{-10,undefined},{-9,undefined},{-8,undefined},{-7,undefined},{-6,undefined},{-5,undefined},{-4,undefined},{-3,undefined},{-2,undefined},{-1,undefined},{0,undefined},{1,undefined},{2,undefined},{3,undefined},{4,undefined},{5,undefined},{6,undefined},{7,undefined},{8,undefined},{9,undefined},{10,b}]

Using a number smaller than 10 gives the expected result (indices 0 to N).
Numbers bigger than 10 results in the same weird behaviour as 10.

/ Ulf


More information about the erlang-bugs mailing list