#NEWLINE# def _generate_serialize_float( self , var , ctx , t ) : #NEWLINE# #INDENT# ctype = self . _get_type_ctype ( t ) #NEWLINE# if ( ( ctype == 'float' ) or ( ctype == 'double' ) ) : #NEWLINE# #INDENT# gen_union_var = False #NEWLINE# if ( ctype == 'float' ) : #NEWLINE# #INDENT# if ( not self . _uf_written ) : #NEWLINE# #INDENT# self . _uf_written = True #NEWLINE# gen_union_var = True #NEWLINE# #UNINDENT# union_name = 'f2u' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( ctype == 'double' ) : #NEWLINE# #INDENT# if ( not self . _ud_written ) : #NEWLINE# #INDENT# self . _ud_written = True #NEWLINE# gen_union_var = True #NEWLINE# #UNINDENT# union_name = 'd2u' #NEWLINE# #UNINDENT# #UNINDENT# if gen_union_var : #NEWLINE# #INDENT# self . _cg . add_line ( 'union {name} {name};' . format ( name = union_name ) ) #NEWLINE# self . _cg . add_empty_line ( ) #NEWLINE# #UNINDENT# self . _cg . add_line ( '{}.f = {};' . format ( union_name , var ) ) #NEWLINE# bf_var = '{}.u' . format ( union_name ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# bf_var = '({}) {}' . format ( ctype , var ) #NEWLINE# #UNINDENT# self . _generate_bitfield_write ( bf_var , ctx , t ) #NEWLINE# self . _generate_incr_pos ( '{}->at' . format ( ctx ) , t . size )