From this report on the perldl list:
The problem is that in going between the actual longlong PDL object
data (which is correctly 64bit integers) and the conversion or display
there is a hidden translation through a double precision value which
only supports 52bits of integer precision.
This shows translation through double precision in longlong constructor:
pdl> p longlong(10555000100001145) - longlong(10555000100001144)
A work around the limitation showing the longlong works once created:
pdl> p longlong(1055500010000114)10 + 5 - longlong(1055500010000114)10 - 4
Also confusing because the printing of the values seems to go through
double precision as well:
pdl> p longlong(1055500010000114)*10 + 5
pdl> p longlong(1055500010000114)*10 + 4
We'll open a bug ticket to track this issue. It will be more important to
resolve now that PDL will be supporting 64bit indexing operations.