Try this (NOTE NiceSlice syntax):

        $mask = ($a != $a->range(-1,$a->dim(0),'e'));
        $mask->(0) .= 1;
        $ui = which($mask);

Still somewhat inefficient but at least it's not computing an open product...


> On May 5, 2015, at 5:13 PM, Trevor Carey-Smith 
> <[email protected]> wrote:
> 
> Hi,
> 
> I am using uniqind() but I need it to return the index of the *first*
> unique value. As it is the function returns a seemingly random index:
> 
> pdl> $a=pdl(1,2,2,2)
> pdl> p $a->uniqind
> [0 1]
> pdl> $b=pdl(1,2,2,2,2)
> pdl> p $b->uniqind
> [0 2]
> 
> Can anyone provide an efficient way of doing this?
> 
> I have come up with a convoluted method that does not scale well (when
> the vector is large and has many non-unique values):
> 
> pdl> $tmp=$b->uniq->(*1)->minus($b,0) == 0
> pdl> p $tmp->mult(xvals($tmp)+1,0)->setvaltobad(0)->minimum->minus(1,0)
> [0 1]
> 
> My PDL version is old (v2.4.7), but it is installed on a server and they
> would rather avoid upgrades...
> 
> Thanks for any help,
> Trevor.
> 
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> pdl-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pdl-general
> 


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
pdl-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pdl-general

Reply via email to