Changeset 445 for branches/thune

Show
Ignore:
Timestamp:
08/08/07 03:54:29 (16 months ago)
Author:
krobillard
Message:

Can make slice! using coord!.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/thune/thread_safe/make.c

    r428 r445  
    13051305 
    13061306/*--------------------------------------------------------------------------*/ 
     1307 
     1308 
     1309static void _setSliceRange( UCell* cell, UIndex a, UIndex b ) 
     1310{ 
     1311    if( a < b ) 
     1312    { 
     1313        cell->slice.it  = a; 
     1314        cell->slice.end = b; 
     1315    } 
     1316    else 
     1317    { 
     1318        cell->slice.it  = a; 
     1319        cell->slice.end = b; 
     1320    } 
     1321} 
    13071322 
    13081323 
     
    17881803                    if( ur_isASeries(pc) ) 
    17891804                    { 
    1790                         if( pc->series.it < tos->slice.it ) 
    1791                         { 
    1792                             res->slice.it  = pc->series.it; 
    1793                             res->slice.end = tos->series.it; 
    1794                         } 
    1795                         else 
    1796                         { 
    1797                             res->slice.it  = tos->series.it; 
    1798                             res->slice.end = pc->series.it; 
    1799                         } 
     1805                        _setSliceRange( res, pc->series.it, tos->series.it ); 
     1806                    } 
     1807                    else if( ur_is(pc, UT_COORD) ) 
     1808                    { 
     1809                        _setSliceRange( res, pc->coord.elem[0] - 1, 
     1810                                             pc->coord.elem[1] - 1 ); 
    18001811                    } 
    18011812                } 
     
    18471858            if( ur_datatype(res) < UT_BI_COUNT ) 
    18481859                goto error; 
     1860            if( ur_datatype(res) > ut->env->dtCount ) 
     1861                goto error; 
    18491862 
    18501863            ut->env->customDT[ ur_datatype(res) - UT_BI_COUNT ].make( ut, tos );