| from libc.stdint cimport int8_t, int16_t, int32_t, int64_t, intptr_t |
| from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, uintptr_t |
| cdef extern from *: |
| ctypedef bint bool |
| ctypedef struct va_list |
| |
| cdef extern from *: |
| |
| ctypedef struct A: |
| int32_t namespace_; |
| float float_; |
| |
| ctypedef struct B: |
| int32_t namespace_; |
| float float_; |
| |
| cdef enum: |
| D, |
| ctypedef uint8_t C_Tag; |
| |
| ctypedef struct D_Body: |
| int32_t namespace_; |
| float float_; |
| |
| ctypedef struct C: |
| C_Tag tag; |
| D_Body d; |
| |
| cdef enum: |
| Double, |
| Float, |
| ctypedef uint8_t E_Tag; |
| |
| ctypedef struct E: |
| E_Tag tag; |
| double double_; |
| float float_; |
| |
| cdef enum: |
| double_, |
| float_, |
| ctypedef uint8_t F_Tag; |
| |
| ctypedef struct F: |
| F_Tag tag; |
| double double_; |
| float float_; |
| |
| void root(A a, B b, C c, E e, F f, int32_t namespace_, float float_); |