Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/containers/array.hfa

    r058ece2 r8d76f2b  
    2727    // -  Given bug of Trac #247, CFA gives sizeof expressions type unsigned long int, when it
    2828    //    should give them type size_t.
    29     //
     29    //   
    3030    //                          gcc -m32         cfa -m32 given bug         gcc -m64
    3131    // ptrdiff_t                int              int                        long int
     
    3939    }
    4040
    41     static inline const Timmed & ?[?]( const arpk(N, S, Timmed, Tbase) & a, int i ) {
    42         assert( i < N );
    43         return (Timmed &) a.strides[i];
    44     }
    45 
    4641    static inline Timmed & ?[?]( arpk(N, S, Timmed, Tbase) & a, unsigned int i ) {
    47         assert( i < N );
    48         return (Timmed &) a.strides[i];
    49     }
    50 
    51     static inline const Timmed & ?[?]( const arpk(N, S, Timmed, Tbase) & a, unsigned int i ) {
    5242        assert( i < N );
    5343        return (Timmed &) a.strides[i];
     
    5949    }
    6050
    61     static inline const Timmed & ?[?]( const arpk(N, S, Timmed, Tbase) & a, long int i ) {
    62         assert( i < N );
    63         return (Timmed &) a.strides[i];
    64     }
    65 
    6651    static inline Timmed & ?[?]( arpk(N, S, Timmed, Tbase) & a, unsigned long int i ) {
    67         assert( i < N );
    68         return (Timmed &) a.strides[i];
    69     }
    70 
    71     static inline const Timmed & ?[?]( const arpk(N, S, Timmed, Tbase) & a, unsigned long int i ) {
    7252        assert( i < N );
    7353        return (Timmed &) a.strides[i];
     
    10383    // Make a FOREACH macro
    10484    #define FE_0(WHAT)
    105     #define FE_1(WHAT, X) WHAT(X)
     85    #define FE_1(WHAT, X) WHAT(X) 
    10686    #define FE_2(WHAT, X, ...) WHAT(X)FE_1(WHAT, __VA_ARGS__)
    10787    #define FE_3(WHAT, X, ...) WHAT(X)FE_2(WHAT, __VA_ARGS__)
     
    11090    //... repeat as needed
    11191
    112     #define GET_MACRO(_0,_1,_2,_3,_4,_5,NAME,...) NAME
     92    #define GET_MACRO(_0,_1,_2,_3,_4,_5,NAME,...) NAME 
    11393    #define FOR_EACH(action,...) \
    11494    GET_MACRO(_0,__VA_ARGS__,FE_5,FE_4,FE_3,FE_2,FE_1,FE_0)(action,__VA_ARGS__)
     
    135115}
    136116
    137 #else
     117#else 
    138118
    139119// Workaround form.  Listing all possibilities up to 4 dims.
     
    175155
    176156// Wrapper
    177 extern struct all_t {} all;
     157struct all_t {} all;
    178158forall( [N], S & | sized(S), Te &, result &, Tbase & | { tag(result) enq_( tag(Tbase), tag(N), tag(S), tag(Te) ); } )
    179159static inline result & ?[?]( arpk(N, S, Te, Tbase) & this, all_t ) {
Note: See TracChangeset for help on using the changeset viewer.