#NEWLINE# def _undirected_edges_cross_edges( G , H ) : #NEWLINE# #INDENT# if ( ( not G . is_multigraph ( ) ) and ( not H . is_multigraph ( ) ) ) : #NEWLINE# #INDENT# for ( u , v , c ) in G . edges_iter ( data = True ) : #NEWLINE# #INDENT# for ( x , y , d ) in H . edges_iter ( data = True ) : #NEWLINE# #INDENT# ( yield ( ( v , x ) , ( u , y ) , _dict_product ( c , d ) ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( ( not G . is_multigraph ( ) ) and H . is_multigraph ( ) ) : #NEWLINE# #INDENT# for ( u , v , c ) in G . edges_iter ( data = True ) : #NEWLINE# #INDENT# for ( x , y , k , d ) in H . edges_iter ( data = True , keys = True ) : #NEWLINE# #INDENT# ( yield ( ( v , x ) , ( u , y ) , k , _dict_product ( c , d ) ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( G . is_multigraph ( ) and ( not H . is_multigraph ( ) ) ) : #NEWLINE# #INDENT# for ( u , v , k , c ) in G . edges_iter ( data = True , keys = True ) : #NEWLINE# #INDENT# for ( x , y , d ) in H . edges_iter ( data = True ) : #NEWLINE# #INDENT# ( yield ( ( v , x ) , ( u , y ) , k , _dict_product ( c , d ) ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( G . is_multigraph ( ) and H . is_multigraph ( ) ) : #NEWLINE# #INDENT# for ( u , v , j , c ) in G . edges_iter ( data = True , keys = True ) : #NEWLINE# #INDENT# for ( x , y , k , d ) in H . edges_iter ( data = True , keys = True ) : #NEWLINE# #INDENT# ( yield ( ( v , x ) , ( u , y ) , ( j , k ) , _dict_product ( c , d ) ) )