Ah! I believe the difference between medover and median is a clump(-1) to 
collapse the dimensions

There does it indeed to be something wrong with clump too, so that is probably 
the underlying cause

pdl> $x = rcols 'tmp.dat'                                                       
                                                           
Reading data into ndarrays of type: [ Double ]
Read in  4  elements.

pdl> p $x                                                                       
                                                           
[1 2 3 4]
pdl> $x *= 100                                                                  
                                                           

pdl> p $x                                                                       
                                                           
[100 200 300 400]
pdl> p $x->clump(-1)                                                            
                                                           
[0 0 0 0]

What could be happening in rcols() that produces an ndarray that behaves like 
that?

Karl


> On 7 Jan 2024, at 12:48 pm, Luis Mochan <moc...@icf.unam.mx> wrote:
> 
> I noticed that medover and maxover do work as expected in this case.
> 
> 
> On Sun, Jan 07, 2024 at 11:26:56AM +1100, Karl Glazebrook via pdl-general 
> wrote:
>> Hi all,
>> 
>> This dinosaur just upgraded from PDL v2.025 to v.2.084 (yes, I know that is 
>> lame)
>> 
>> I noticed a few things when running one of my complicated codes, I will 
>> start seperate email threads
>> 
>> First there seems to be a serious rcols bug:
>> 
>> 
>> e.g. create a file
>> 
>> # tmp.dat
>> 1
>> 2
>> 3
>> 4
>> 
>> 
>> Loaded PDL v2.084 (supports bad values)
>> pdl> $x = rcols 'tmp.dat'
>> Reading data into ndarrays of type: [ Double ]
>> Read in  4  elements.
>> 
>> pdl> p $x
>> [1 2 3 4]
>> pdl> $x *= 100
>> 
>> pdl> p $x
>> [100 200 300 400]
>> pdl> p median($x)
>> 0
>> pdl> p $x
>> [100 200 300 400]
>> 
>> 
>> It seems the median function sees the values BEFORE the inplace 
>> multiplacation, whereas print does not. This is very bad. min() and max() 
>> are similar. No idea what is going on here! The behaviour or absent from 
>> v2.025
>> 
>> Notes
>> - making a $x->copy() removes the effect
>> - creating $x using sequence also removes, so it is something to do with 
>> rcols() and not inplace in general?
>> 
>> I’d be interested to know if others can reproduce this. It definitely needs 
>> a fix
>> 
>> best
>> 
>> Karl
>> 
>> 
>> 
> 
> 
>> _______________________________________________
>> pdl-general mailing list
>> pdl-general@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/pdl-general
> 
> 
> -- 
> 
>                                                                  o
> W. Luis Mochán,                      | tel:(52)(777)329-1734     /<(*)
> Instituto de Ciencias Físicas, UNAM  | fax:(52)(777)317-5388     `>/   /\
> Av. Universidad s/n CP 62210         |                           (*)/\/  \
> Cuernavaca, Morelos, México          | moc...@fis.unam.mx   /\_/\__/
> GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16  C2DF 5F0A C52B 791E B9EB

_______________________________________________
pdl-general mailing list
pdl-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-general

Reply via email to