[Pyrex] Access to nested structures and arrays
    Francesc Altet 
    faltet at carabos.com
       
    Tue Mar 20 08:30:13 UTC 2007
    
    
  
El dt 20 de 03 del 2007 a les 12:42 +1200, en/na Greg Ewing va escriure:
> Pierre GM wrote:
> 
> > And define "parameter_flags" as a "model flag" instance.
>  > And I can't set it to public as it's a non-generic one.
> 
> Okay, I see what the problem is now. Pyrex disallows
> writable non-generic public attributes because the mechanism
> for accessing them doesn't allow for performing a type check,
> so there would be nothing to stop Python code from assigning
> an object of the wrong type.
> 
> You can expose it readonly, however:
> 
>     cdef class loess_model:
>        cdef readonly modelflags parameter_flags
> 
> (It's only readonly from Python code -- Pyrex still has
> full access to it.)
> 
> Is this sufficient for what you want to do?
Another possibility could be to declare a Python class (in Python space)
having a ndarray attribute. Then, create a Pyrex extension that inherits
from this Python class. In this extension, you could map the ndarray
attribute data area (inherited from the Python class) to the C list.
With this, you should be able to write to this area from both Python and
Pyrex spaces.
Hope this helps,
-- 
Francesc Altet    |  Be careful about using the following code --
Carabos Coop. V.  |  I've only proven that it works, 
www.carabos.com   |  I haven't tested it. -- Donald Knuth
    
    
More information about the Pyrex
mailing list