Changeset 1059 for docs


Ignore:
Timestamp:
Mar 31, 2011, 5:52:10 PM (8 years ago)
Author:
ksherdy
Message:

Add Python routine to autogen transposition logic.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/EuroPar2011/Demo/europar.py

    r895 r1059  
    397397ctcdpi = "<!-- <<<< --> <?php 1<2 ?> <t> <![CDATA[ <demo/> ]]>."
    398398
    399 
    400 
     399def demo_transpose_ascii(u8data):
     400        lgth = len(u8data)
     401        (bit, EOF_mask) = bitutil.transpose_streams(u8data)
     402       
     403        # Specify Column Alignemnt
     404        latex_table = ""
     405       
     406        spec_list = [ 'c' for c in range(0,lgth+1) ]
     407        spec = '|' + '|'.join(spec_list) + '|'
     408
     409        table_header = '\\begin{tabular}'
     410        table_header += '{' + spec + '}'
     411        table_header +=  '\\hline'
     412        table_header += '\n'
     413       
     414        latex_table += table_header
     415       
     416        # Single character per column
     417        chars_row = '$T$'
     418        chars = list(u8data)
     419        chars_row += ' & ' + ' & '.join(chars) + ' '
     420        chars_row += '\\\\ \\hline'
     421        chars_row += '\n'
     422       
     423        latex_table += chars_row
     424       
     425        # ASCII
     426        ascii_row = 'ASCII'
     427        bits = []
     428       
     429        temp = [ (bin(ord(u8data[i]))).lstrip('-0b') for i in range(0,lgth) ] # strip 0b       
     430       
     431        for i in range(0,lgth):
     432          zeroes = ''
     433          for j in range(0,8-len(temp[i])):
     434            zeroes += '0'
     435          bits.append(zeroes + temp[i])
     436
     437 
     438#        alerts = []     
     439#       for k in range(0,lgth):
     440#           temp = list(bits[k])
     441#           
     442#           alert = ''
     443#           for b in range(0,len(temp)):
     444#             alert += '{\color<' + str(b) + '>{blue}' + temp[b] + '}'
     445#           alerts.append(alert)         
     446#       ascii_row += ' & ' + "&".join(alerts)
     447
     448        ascii_row += ' & ' + ' & '.join(bits)
     449
     450        ascii_row +=  ' \\\\ \\hline'
     451        ascii_row += '\n'
     452       
     453        latex_table += ascii_row
     454       
     455        # 8
     456        next_stream_row = ''
     457        for i in range(0,8):
     458           next_stream_row = '$B_' + '{' + str(i) + '}' + '$ '
     459           
     460           for j in range(0,lgth):
     461             next_stream_row += (' & ' + bits[j][i])
     462             
     463           latex_table += next_stream_row 
     464           latex_table += ' \\\\ \\hline'
     465           latex_table += '\n'
     466       
     467        table_footer = '\\end{tabular}'
     468        latex_table += table_footer 
     469       
     470        return latex_table
     471
     472if __name__ == "__main__":
     473        print demo_transpose_ascii('xmlwf')
     474
Note: See TracChangeset for help on using the changeset viewer.