Changeset 3884 for proto/s2k/trunk


Ignore:
Timestamp:
Jun 19, 2014, 4:07:17 AM (5 years ago)
Author:
ksherdy
Message:

Drop package specifiers demos.

Location:
proto/s2k/trunk/demo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • proto/s2k/trunk/demo/Makefile

    r3743 r3884  
    3838
    3939grep_demo:     
    40         python -m$(GREP_DEMO) $(GREP_TEST_FILE)
     40        python -m$(GREP_DEMO) $(GREP_TEST_FILE) $(PABLO_DEBUG)
    4141
    4242grep_invert_match_demo: $(PABLO_DEMO)
  • proto/s2k/trunk/demo/grep/src/grep_segment_at_a_time.cpp

    r3793 r3884  
    1818
    1919#include "/home/ken/workspace/s2k/output/cpplang/grep/grep.hpp"
    20 
    21 // Run-time support.
    22 #include <simd-lib/bitblock.hpp>
    23 #include <simd-lib/carryQ.hpp>
    24 #include <simd-lib/pabloSupport.hpp>
    25 #include <simd-lib/bitblock_iterator.hpp>
    26 #include <simd-lib/s2p.hpp>
    2720
    2821// C/C++
  • proto/s2k/trunk/demo/strtoll/src/parallel_strtoll.cpp

    r3611 r3884  
    135135                                //! parallel extract (parallel gather)
    136136
    137                                 BitBlock ascii_lo_4                                             = hsimd<8>::packl(source_lo_128, source_hi_128);
     137                                BitBlock ascii_lo_4                             = hsimd<8>::packl(source_lo_128, source_hi_128);
    138138
    139139                                // Reverse nybbles using inductive doubling and rotation,
     
    146146                                // Parallel ASCII to integer conversion (aligned 16 byte ASCII values to 32 bit integer values)
    147147                                // Step 1 - Convert nybble pairs
    148                                 BitBlock digits_hi_4                                    = simd<8>::srli<4>(digits_rot_16);
    149                                 BitBlock lomask_8                                               = simd<8>::lomask();
    150                                 BitBlock digits_lo_4                                    = simd_and(digits_rot_16, lomask_8);
    151 //                              BitBlock constant_10                                    = mvmd<8>::fill(10);
    152                                 BitBlock constant_10                                    = simd<8>::constant<10>();
    153                                 BitBlock temp_10s                                                       = simd<8>::mult(digits_hi_4, constant_10);
    154                                 BitBlock result_10s                                             = simd<8>::add(temp_10s, digits_lo_4);
     148                                BitBlock digits_hi_4                            = simd<8>::srli<4>(digits_rot_16);
     149                                BitBlock lomask_8                                       = simd<8>::lomask();
     150                                BitBlock digits_lo_4                            = simd_and(digits_rot_16, lomask_8);
     151//                              BitBlock constant_10                            = mvmd<8>::fill(10);
     152                                BitBlock constant_10                            = simd<8>::constant<10>();
     153                                BitBlock temp_10s                                       = simd<8>::mult(digits_hi_4, constant_10);
     154                                BitBlock result_10s                                     = simd<8>::add(temp_10s, digits_lo_4);
    155155
    156156                                // Step 2 - Convert byte pairs
    157                                 BitBlock digits_hi_8                                    = simd<16>::srli<8>(result_10s);
    158                                 BitBlock lomask_16                                              = simd<16>::lomask();
    159                                 BitBlock digits_lo_8                                    = simd_and(result_10s, lomask_16);
    160 //                              BitBlock constant_100                                   = mvmd<16>::fill(100);
    161                                 BitBlock constant_100                                   = simd<16>::constant<100>();
    162                                 BitBlock temp_100s                                              = simd<16>::mult(digits_hi_8, constant_100);
    163                                 BitBlock result_100s                                    = simd<16>::add(temp_100s, digits_lo_8);
     157                                BitBlock digits_hi_8                            = simd<16>::srli<8>(result_10s);
     158                                BitBlock lomask_16                                      = simd<16>::lomask();
     159                                BitBlock digits_lo_8                            = simd_and(result_10s, lomask_16);
     160//                              BitBlock constant_100                           = mvmd<16>::fill(100);
     161                                BitBlock constant_100                           = simd<16>::constant<100>();
     162                                BitBlock temp_100s                                      = simd<16>::mult(digits_hi_8, constant_100);
     163                                BitBlock result_100s                            = simd<16>::add(temp_100s, digits_lo_8);
    164164
    165165                                // Step 3 - Convert double-byte pairs
    166                                 BitBlock digits_hi_16                                   = simd<32>::srli<16>(result_100s);
    167                                 BitBlock lomask_32                                              = simd<32>::lomask();
    168                                 BitBlock digits_lo_16                                   = simd_and(result_100s, lomask_32);
     166                                BitBlock digits_hi_16                           = simd<32>::srli<16>(result_100s);
     167                                BitBlock lomask_32                                      = simd<32>::lomask();
     168                                BitBlock digits_lo_16                           = simd_and(result_100s, lomask_32);
    169169//                              BitBlock constant_10000                         = mvmd<32>::fill(10000);
    170170                                BitBlock constant_10000                         = simd<32>::constant<10000>();
    171                                 BitBlock temp_10000s                                    = simd<32>::mult(digits_hi_16, constant_10000);
     171                                BitBlock temp_10000s                            = simd<32>::mult(digits_hi_16, constant_10000);
    172172                                BitBlock result_10000s                          = simd<32>::add(temp_10000s, digits_lo_16);
    173173
    174                                 BitBlock packed_result_10000s                                                   = hsimd<32>::packl(result_10000s, result_10000s);
     174                                BitBlock packed_result_10000s           = hsimd<32>::packl(result_10000s, result_10000s);
    175175
    176176                                // Step 4 - Convert quad-byte pairs // 32 bit integers
  • proto/s2k/trunk/demo/strtoll/strtoll_demo.py

    r3678 r3884  
    6161
    6262class Digits():
    63         starts                                                          = 0
    64         pos_starts                                              = 0
    65         neg_starts                                              = 0
    66         follows                                                         = 0
     63        starts                                  = 0
     64        pos_starts                              = 0
     65        neg_starts                              = 0
     66        follows                                 = 0
    6767        expect_ws_sign_digit    = 0
    68         expect_digit                                    = 0
    69         expect_ws_sign                          = 0
     68        expect_digit                    = 0
     69        expect_ws_sign                  = 0
    7070
    7171def ClassifyBytes(basis_bits, lex):
     
    103103
    104104def MarkDigits(lex, digits):
    105         ws_scope1                                                                               = ~pablo.Advance(~lex.ws)
    106         pos_scope1                                                                              = pablo.Advance(lex.pos)
    107         neg_scope1                                                                              = pablo.Advance(lex.neg)
    108         digits.expect_ws_sign_digit             = pablo.inFile(ws_scope1) &~ (lex.ws | lex.sign | lex.digit)
    109         digits.expect_digit                                     = pablo.inFile(pos_scope1|neg_scope1) &~ lex.digit
    110         digits.pos_starts                                               = (ws_scope1 | pos_scope1) & lex.digit
    111         digits.neg_starts                                               = neg_scope1 & lex.digit
    112         digits.starts                                                                   =       digits.pos_starts | digits.neg_starts                                           
    113         digits.follows                                                          = pablo.ScanThru(digits.starts, lex.digit)
    114         digits.expect_ws_sign                           = pablo.inFile(digits.follows) &~ (lex.ws | lex.sign)
    115 
    116 basis_bits                                              =       Basis_bits()
     105        ws_scope1                                       = ~pablo.Advance(~lex.ws)
     106        pos_scope1                                      = pablo.Advance(lex.pos)
     107        neg_scope1                                      = pablo.Advance(lex.neg)
     108        digits.expect_ws_sign_digit     = pablo.inFile(ws_scope1) &~ (lex.ws | lex.sign | lex.digit)
     109        digits.expect_digit                     = pablo.inFile(pos_scope1|neg_scope1) &~ lex.digit
     110        digits.pos_starts                       = (ws_scope1 | pos_scope1) & lex.digit
     111        digits.neg_starts                       = neg_scope1 & lex.digit
     112        digits.starts                           = digits.pos_starts | digits.neg_starts                                         
     113        digits.follows                          = pablo.ScanThru(digits.starts, lex.digit)
     114        digits.expect_ws_sign           = pablo.inFile(digits.follows) &~ (lex.ws | lex.sign)
     115
     116basis_bits                                              = Basis_bits()
    117117lex                                             = Lex()
    118118digits                                                  = Digits()
     
    138138        data_le                         = data[::-1] # reverse
    139139        s_76543210                      = bitutil.bytes_to_bstr(data_le)
    140         lgth                                            = len(s_76543210)
     140        lgth                            = len(s_76543210)
    141141        lgth_nybbles            = lgth/2
    142142        lgth_pairs                      = lgth/4
     
    148148        MarkDigits(lex, digits)
    149149
    150   #
     150    #
    151151        ### Demo
    152152        #       
     
    189189        # Step 1 - Convert nybble pairs
    190190        digits_hi_4                                     = mstreams.srli(8,4,digits_rot_16, lgth_nybbles)
    191         lomask_8                                                = vstreams.lomask(8, lgth_nybbles);
     191        lomask_8                                        = vstreams.lomask(8, lgth_nybbles);
    192192        digits_lo_4                                     = digits_rot_16 & lomask_8
    193193        constant_10                                     = vstreams.constant(8,10, lgth_nybbles);
    194         temp_10s                                                = vstreams.mul(8,digits_hi_4, constant_10, lgth_nybbles);       # TODO bitcast to 8
     194        temp_10s                                        = vstreams.mul(8,digits_hi_4, constant_10, lgth_nybbles);       # TODO bitcast to 8
    195195        result_10s                                      = vstreams.add(8,temp_10s, digits_lo_4, lgth_nybbles);
    196196
     
    208208        digits_lo_8                                     = result_10s & lomask_16
    209209        constant_100                            = vstreams.constant(8*2,10*10, lgth_nybbles);
    210         temp_100s                                               = vstreams.mul(8*2,digits_hi_8, constant_100, lgth_nybbles);    # TODO bitcast to 8
     210        temp_100s                                       = vstreams.mul(8*2,digits_hi_8, constant_100, lgth_nybbles);    # TODO bitcast to 8
    211211        result_100s                                     = vstreams.add(8*2,temp_100s, digits_lo_8, lgth_nybbles);
    212212
     
    223223        lomask_32                                       = vstreams.lomask(8*2*2, lgth_nybbles);
    224224        digits_lo_16                            = result_100s & lomask_32
    225         constant_10000                  = vstreams.constant(8*2*2,10*10*10*10, lgth_nybbles);
     225        constant_10000                      = vstreams.constant(8*2*2,10*10*10*10, lgth_nybbles);
    226226        temp_10000s                                     = vstreams.mul(8*2*2,digits_hi_16, constant_10000, lgth_nybbles);       # TODO bitcast to 8
    227227        result_10000s                           = vstreams.add(8*2*2,temp_10000s, digits_lo_16, lgth_nybbles);
     
    243243#
    244244
    245 #       t                                               = vstreams.add_hl(8,s_76543210)
    246 #       t                                               = vstreams.add_hl(4,s_7654)
    247 # t                                             = vstreams.add_hl(2,s_10)
    248 #       t                                               = vstreams.lomask(2,s_10)
    249 #       t                                               = vstreams.himask(4,s_3210)
    250 #       t                                               = vstreams.himask(8,s_76543210)
    251 #       t                                               = vstreams.constant(4,10,s_3210)
    252 #       t                                               = vstreams.constant(8,100,s_76543210)
    253 
    254 #       m                                       = vstreams.AndC(cast.bitcast(1,s_76543210), cast.bitcast(1,flow.Advance(s_76543210)))
    255 #       s                                               = cast.bitcast(24,s_76543210)
    256 #       r                                               = flow.ScanThru(m,s)
    257 
    258 #       t                                               = cast.bitcast(8, r)
     245#       t                                       = vstreams.add_hl(8,s_76543210)
     246#       t                                       = vstreams.add_hl(4,s_7654)
     247#   t                                   = vstreams.add_hl(2,s_10)
     248#       t                                       = vstreams.lomask(2,s_10)
     249#       t                                       = vstreams.himask(4,s_3210)
     250#       t                                       = vstreams.himask(8,s_76543210)
     251#       t                                       = vstreams.constant(4,10,s_3210)
     252#       t                                       = vstreams.constant(8,100,s_76543210)
     253
     254#       m                                       = vstreams.AndC(cast.bitcast(1,s_76543210), cast.bitcast(1,flow.Advance(s_76543210)))
     255#       s                                       = cast.bitcast(24,s_76543210)
     256#       r                                       = flow.ScanThru(m,s)
     257
     258#       t                                       = cast.bitcast(8, r)
    259259#       m                                       = cast.bitcast(8,m)
    260260#       s                                       = cast.bitcast(8,s)
  • proto/s2k/trunk/demo/transpose/transpose_demo.py

    r3678 r3884  
    158158
    159159        aligned_streams = bitutil.aligned_streams([('Source Data ', data[::-1]),
    160                               ('stream<8> s_76543210 = io.read<8>(addr,3)', bitutil.strm_to_bstr(s_76543210,lgth)),
    161                               ('stream<4> s_7654 = hstreams.packh<8>(s_76543210)', bitutil.strm_to_bstr(s_7654,lgth/2)),
    162                               ('stream<4> s_3210 = hstreams.packl<8>(s_76543210)', bitutil.strm_to_bstr(s_3210,lgth/2)),
    163                               ('stream<2> s_76 = hstreams.packh<4>(s_7654)', bitutil.strm_to_bstr(s_76,lgth/4)),
    164                               ('stream<2> s_54 = hstreams.packl<4>(s_7654)', bitutil.strm_to_bstr(s_54,lgth/4)),
    165                               ('stream<2> s_32 = hstreams.packh<4>(s_3120)', bitutil.strm_to_bstr(s_32,lgth/4)),
    166                               ('stream<2> s_10 = hstreams.packl<4>(s_3120)', bitutil.strm_to_bstr(s_10,lgth/4)),
    167                               ('stream<2> s_7 = hstreams.packh<2>(s_76)', bitutil.strm_to_bstr(s_7,lgth/8)),
    168                               ('stream<2> s_6 = hstreams.packl<2>(s_76)', bitutil.strm_to_bstr(s_6,lgth/8)),
    169                               ('stream<2> s_5 = hstreams.packh<2>(s_54)', bitutil.strm_to_bstr(s_5,lgth/8)),
    170                               ('stream<2> s_4 = hstreams.packl<2>(s_54)', bitutil.strm_to_bstr(s_4,lgth/8)),
    171                               ('stream<2> s_3 = hstreams.packh<2>(s_32)', bitutil.strm_to_bstr(s_3,lgth/8)),
    172                               ('stream<2> s_2 = hstreams.packl<2>(s_32)', bitutil.strm_to_bstr(s_2,lgth/8)),
    173                               ('stream<2> s_1 = hstreams.packh<2>(s_10)', bitutil.strm_to_bstr(s_1,lgth/8)),
    174                               ('stream<2> s_0 = hstreams.packl<2>(s_10)', bitutil.strm_to_bstr(s_0,lgth/8))])
     160                              ('stream<8> s_76543210 = read<8>(addr,3)', bitutil.strm_to_bstr(s_76543210,lgth)),
     161                              ('stream<4> s_7654 = packh<8>(s_76543210)', bitutil.strm_to_bstr(s_7654,lgth/2)),
     162                              ('stream<4> s_3210 = packl<8>(s_76543210)', bitutil.strm_to_bstr(s_3210,lgth/2)),
     163                              ('stream<2> s_76 = packh<4>(s_7654)', bitutil.strm_to_bstr(s_76,lgth/4)),
     164                              ('stream<2> s_54 = packl<4>(s_7654)', bitutil.strm_to_bstr(s_54,lgth/4)),
     165                              ('stream<2> s_32 = packh<4>(s_3120)', bitutil.strm_to_bstr(s_32,lgth/4)),
     166                              ('stream<2> s_10 = packl<4>(s_3120)', bitutil.strm_to_bstr(s_10,lgth/4)),
     167                              ('stream<2> s_7 = packh<2>(s_76)', bitutil.strm_to_bstr(s_7,lgth/8)),
     168                              ('stream<2> s_6 = packl<2>(s_76)', bitutil.strm_to_bstr(s_6,lgth/8)),
     169                              ('stream<2> s_5 = packh<2>(s_54)', bitutil.strm_to_bstr(s_5,lgth/8)),
     170                              ('stream<2> s_4 = packl<2>(s_54)', bitutil.strm_to_bstr(s_4,lgth/8)),
     171                              ('stream<2> s_3 = packh<2>(s_32)', bitutil.strm_to_bstr(s_3,lgth/8)),
     172                              ('stream<2> s_2 = packl<2>(s_32)', bitutil.strm_to_bstr(s_2,lgth/8)),
     173                              ('stream<2> s_1 = packh<2>(s_10)', bitutil.strm_to_bstr(s_1,lgth/8)),
     174                              ('stream<2> s_0 = packl<2>(s_10)', bitutil.strm_to_bstr(s_0,lgth/8))])
    175175
    176176        return aligned_streams
     
    219219        latex_aligned_streams = bitutil.latex_aligned_streams([('Source Data `$\\vartriangleleft$\\verb`', bitutil.format_fields(data[::-1],1,8)),
    220220                              ('stream<8> s_76543210 = io.read<8>(addr,3)', bitutil.format_fields(s_76543210,8,8)),
    221                               ('stream<4> s_7654 = hstreams.packh<8>(s_76543210)', bitutil.format_fields(s_7654,4,8)),
    222                               ('stream<4> s_3210 = hstreams.packl<8>(s_76543210)', bitutil.format_fields(s_3210,4,8)),
    223                               ('stream<2> s_76 = hstreams.packh<4>(s_7654)', bitutil.format_fields(s_76,2,8)),
    224                               ('stream<2> s_54 = hstreams.packl<4>(s_7654)', bitutil.format_fields(s_54,2,8)),
    225                               ('stream<2> s_32 = hstreams.packh<4>(s_3120)', bitutil.format_fields(s_32,2,8)),
    226                               ('stream<2> s_10 = hstreams.packl<4>(s_3120)', bitutil.format_fields(s_10,2,8)),
    227                               ('stream<2> s_7 = hstreams.packh<2>(s_76)', bitutil.format_fields(s_7,1,8)),
    228                               ('stream<2> s_6 = hstreams.packl<2>(s_76)', bitutil.format_fields(s_6,1,8)),
    229                               ('stream<2> s_5 = hstreams.packh<2>(s_54)', bitutil.format_fields(s_5,1,8)),
    230                               ('stream<2> s_4 = hstreams.packl<2>(s_54)', bitutil.format_fields(s_4,1,8)),
    231                               ('stream<2> s_3 = hstreams.packh<2>(s_32)', bitutil.format_fields(s_3,1,8)),
    232                               ('stream<2> s_2 = hstreams.packl<2>(s_32)', bitutil.format_fields(s_2,1,8)),
    233                               ('stream<2> s_1 = hstreams.packh<2>(s_10)', bitutil.format_fields(s_1,1,8)),
    234                               ('stream<2> s_0 = hstreams.packl<2>(s_10)', bitutil.format_fields(s_0,1,8))])
     221                              ('stream<4> s_7654 = packh<8>(s_76543210)', bitutil.format_fields(s_7654,4,8)),
     222                              ('stream<4> s_3210 = packl<8>(s_76543210)', bitutil.format_fields(s_3210,4,8)),
     223                              ('stream<2> s_76 = packh<4>(s_7654)', bitutil.format_fields(s_76,2,8)),
     224                              ('stream<2> s_54 = packl<4>(s_7654)', bitutil.format_fields(s_54,2,8)),
     225                              ('stream<2> s_32 = packh<4>(s_3120)', bitutil.format_fields(s_32,2,8)),
     226                              ('stream<2> s_10 = packl<4>(s_3120)', bitutil.format_fields(s_10,2,8)),
     227                              ('stream<2> s_7 = packh<2>(s_76)', bitutil.format_fields(s_7,1,8)),
     228                              ('stream<2> s_6 = packl<2>(s_76)', bitutil.format_fields(s_6,1,8)),
     229                              ('stream<2> s_5 = packh<2>(s_54)', bitutil.format_fields(s_5,1,8)),
     230                              ('stream<2> s_4 = packl<2>(s_54)', bitutil.format_fields(s_4,1,8)),
     231                              ('stream<2> s_3 = packh<2>(s_32)', bitutil.format_fields(s_3,1,8)),
     232                              ('stream<2> s_2 = packl<2>(s_32)', bitutil.format_fields(s_2,1,8)),
     233                              ('stream<2> s_1 = packh<2>(s_10)', bitutil.format_fields(s_1,1,8)),
     234                              ('stream<2> s_0 = packl<2>(s_10)', bitutil.format_fields(s_0,1,8))])
    235235
    236236        # for now just an easy place to try parallel int to digit
     
    238238        aligned_streams = bitutil.aligned_streams([('Source Data ', data[::-1]),
    239239                              ('stream<8> s_76543210 = io.read<8>(addr,3)',s_76543210),
    240                               ('stream<4> s_7654 = hstreams.packh<8>(s_76543210)',s_7654),
    241                               ('stream<4> s_3210 = hstreams.packl<8>(s_76543210)',s_3210),
    242                               ('stream<2> s_76 = hstreams.packh<4>(s_7654)',s_76),
    243                               ('stream<2> s_54 = hstreams.packl<4>(s_7654)',s_54),
    244                               ('stream<2> s_32 = hstreams.packh<4>(s_3120)',s_32),
    245                               ('stream<2> s_10 = hstreams.packl<4>(s_3120)',s_10),
    246                               ('stream<2> s_7 = hstreams.packh<2>(s_76)',s_7),
    247                               ('stream<2> s_6 = hstreams.packl<2>(s_76)',s_6),
    248                               ('stream<2> s_5 = hstreams.packh<2>(s_54)',s_5),
    249                               ('stream<2> s_4 = hstreams.packl<2>(s_54)',s_4),
    250                               ('stream<2> s_3 = hstreams.packh<2>(s_32)',s_3),
    251                               ('stream<2> s_2 = hstreams.packl<2>(s_32)',s_2),
    252                               ('stream<2> s_1 = hstreams.packh<2>(s_10)',s_1),
    253                               ('stream<2> s_0 = hstreams.packl<2>(s_10)',s_0)])
     240                              ('stream<4> s_7654 = packh<8>(s_76543210)',s_7654),
     241                              ('stream<4> s_3210 = packl<8>(s_76543210)',s_3210),
     242                              ('stream<2> s_76 = packh<4>(s_7654)',s_76),
     243                              ('stream<2> s_54 = packl<4>(s_7654)',s_54),
     244                              ('stream<2> s_32 = packh<4>(s_3120)',s_32),
     245                              ('stream<2> s_10 = packl<4>(s_3120)',s_10),
     246                              ('stream<2> s_7 = packh<2>(s_76)',s_7),
     247                              ('stream<2> s_6 = packl<2>(s_76)',s_6),
     248                              ('stream<2> s_5 = packh<2>(s_54)',s_5),
     249                              ('stream<2> s_4 = packl<2>(s_54)',s_4),
     250                              ('stream<2> s_3 = packh<2>(s_32)',s_3),
     251                              ('stream<2> s_2 = packl<2>(s_32)',s_2),
     252                              ('stream<2> s_1 = packh<2>(s_10)',s_1),
     253                              ('stream<2> s_0 = packl<2>(s_10)',s_0)])
     254
     255        aligned_streams = bitutil.aligned_streams([('Source Data ', data[::-1]),
     256                              ('stream<8> s_76543210 = read<8>(addr,3)',s_76543210),
     257                              ('stream<4> s_7654 = packh<8>(s_76543210)',s_7654),
     258                              ('stream<4> s_3210 = packl<8>(s_76543210)',s_3210),
     259                              ('stream<2> s_76 = packh<4>(s_7654)',s_76),
     260                              ('stream<2> s_54 = packl<4>(s_7654)',s_54),
     261                              ('stream<2> s_32 = packh<4>(s_3120)',s_32),
     262                              ('stream<2> s_10 = packl<4>(s_3120)',s_10),
     263                              ('stream<2> s_7 = packh<2>(s_76)',s_7),
     264                              ('stream<2> s_6 = packl<2>(s_76)',s_6),
     265                              ('stream<2> s_5 = packh<2>(s_54)',s_5),
     266                              ('stream<2> s_4 = packl<2>(s_54)',s_4),
     267                              ('stream<2> s_3 = packh<2>(s_32)',s_3),
     268                              ('stream<2> s_2 = packl<2>(s_32)',s_2),
     269                              ('stream<2> s_1 = packh<2>(s_10)',s_1),
     270                              ('stream<2> s_0 = packl<2>(s_10)',s_0)])
    254271
    255272        return aligned_streams
Note: See TracChangeset for help on using the changeset viewer.