[Cython] Too many instantiations with fused type memoryviews

Stefan Behnel stefan_ml at behnel.de
Sat Mar 22 11:08:56 CET 2014


Pauli Virtanen, 08.03.2014 21:59:
> 08.03.2014 22:40, Stefan Behnel kirjoitti:
> [clip]
>> Yes, this is a known problem. The work-around is to ctypedef the
>> memory view type, not just the dtype.
>>
>> http://thread.gmane.org/gmane.comp.python.cython.user/10437
> 
> Thanks, I missed that.
> 
> Re: arguments in the previous thread --- I think it would indeed be
> better if memoryviews would not invoke cross-product behavior. If
> scalars work in one way, also arrays should work in the same way.

I'm not a fused types user myself, but it seems to me that it's worth
changing this behaviour for 0.21 to better match the most common use cases.
A pull request that implements this certainly won't hurt, if only to get
real-world feedback on the change.

The work-around for (existing) code that actually wants the cross product
behaviour for memory views (for whatever reason) would then be (I guess) to
use two identical typedefs with different names. This sounds acceptable,
given that the cross product suggests that we are dealing with independent
(i.e. different) kinds of data anyway.

Stefan



More information about the cython-devel mailing list