Hi Luis,

The init_vars doesn’t do anything with the “vars” hash-entry other than use it 
literally, so all is well – since we now use C99, declarations later in the 
code as you added are fine. I did update it to PDL_CLDouble because the use of 
“double” previously was to avoid loss of precision, and the most complex type 
now is “complex long double”.

As you’ll see on the PR, I added support for long doubles most places, and 
complex values where possible (not in med2d), and added to the “image2d.t” 
which feels to me achievable another time for those contributing code, if they 
want it to stay working :-)

I’ve now merged it to the main branch, thank you! Could you pull it and make 
sure it works as you expect with your code, so you can at least not rely on a 
local modification?

Best regards,
Ed

From: Luis Mochan<mailto:moc...@icf.unam.mx>
Sent: 16 August 2022 01:00
To: Ed .<mailto:ej...@hotmail.com>
Cc: perldl<mailto:pdl-general@lists.sourceforge.net>; 
perldl<mailto:pdl-de...@lists.sourceforge.net>
Subject: Re: [Pdl-general] conv2d


Done, at PDLPorters/pdl. I'm still unsure about removing 'tmp' from
'init_vars', as it seems to do more than just declaring the variable.

Regards,
Luis


On Mon, Aug 15, 2022 at 11:20:03PM +0000, Ed . wrote:
> Sorry that you had to add extra bits! Could you PR what you have, and add the 
> test code as a comment on the PR? (I’m happy to bend it into the .t)
>
> Best regards,
> Ed
>
> From: Luis Mochan<mailto:moc...@icf.unam.mx>
> Sent: 15 August 2022 20:23
> To: Ed .<mailto:ej...@hotmail.com>
> Cc: perldl<mailto:pdl-general@lists.sourceforge.net>; 
> perldl<mailto:pdl-de...@lists.sourceforge.net>
> Subject: Re: [Pdl-general] conv2d
>
> Thaks Ed,
> I modified conv2d as you suggested. The result became a CDouble, but
> the imaginary part disappeared. I could fix it by also changing the
> init_vars line (around l. 270), removing the variable tmp, which was
> declared as a double, and declaring it just before the start of the
> broadcastloop using
>     $GENERIC() tmp;
> However, as I'm not familiar with init_vars, init_map, etc., I'm not
> sure what I did is correct. I checked with a few examples that it works for
> complex array with real mask, real array with complex mask, and complex
> array with complex mask.
> Regards,
> Luis
>
>
>
> On Mon, Aug 15, 2022 at 05:31:01PM +0000, Ed . wrote:
> > Hi Luis,
> >
> > For backward compatibility, operations default to supporting all real 
> > types, which is why you’re getting LDouble (the highest-numbered real type, 
> > but still below the complex ones). To make the various Image* operations 
> > work on native complex values, they just need telling to do so.
> >
> > Could you try patching Libtmp/Image2D/image2d.pd with this at the top 
> > (cribbed from Basic/Ops/ops.pd) before the pp_addpm:
> >
> > my $A = [ppdefs_all];
> >
> > Then add “GenericTypes => $A” to at least the pp_def of conv2d, around line 
> > 266?
> >
> > Please let us know if that works (you’d need to do a “make install”, or 
> > else a “make basic” then “perl -Mblib yourlocalscript.pl”). If it does, 
> > feel like PR-ing an update for all the Image* modules in Libtmp? :-)
> >
> > Best regards,
> > Ed
> >
> > From: Luis Mochan<mailto:moc...@icf.unam.mx>
> > Sent: 15 August 2022 17:39
> > To: perldl<mailto:pdl-general@lists.sourceforge.net>; 
> > perldl<mailto:pdl-de...@lists.sourceforge.net>
> > Subject: [Pdl-general] conv2d
> >
> > Hello,
> > I tried to use conv2d from PDL::Image2D to make a simple average, as in
> >     $z->conv2d(ones(3,3))/9;
> > to take the arithmetic average a pixel with its neareast
> > neighbors. However, what I want to average is a component of an
> > electric field which is complex valued. It turns out that conv2d
> > doesn't work on complex quantities and the result I obtained was of
> > the LDouble type. Having looked further yet.
> > Regards,
> > Luis
> >
> > --
> >
> >                                                                   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
> >
>
> --
>
>                                                                   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
>

--

                                                                  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