protected int compatibilityGraphCEdgeZero ( ) throws IOException { int compGraphNodesCZeroListSize = compGraphNodesCZero . size ( ) ; cEdges = new ArrayList < Integer > ( ) ; //Initialize the cEdges List dEdges = new ArrayList < Integer > ( ) ; //Initialize the dEdges List for ( int a = 0 ; a < compGraphNodesCZeroListSize ; a += 4 ) { int indexA = compGraphNodesCZero . get ( a ) ; int indexAPlus1 = compGraphNodesCZero . get ( a + 1 ) ; for ( int b = a + 4 ; b < compGraphNodesCZeroListSize ; b += 4 ) { int indexB = compGraphNodesCZero . get ( b ) ; int indexBPlus1 = compGraphNodesCZero . get ( b + 1 ) ; // if element atomCont !=jIndex and atoms on the adjacent sides of the bonds are not equal if ( ( a != b ) && ( indexA != indexB ) && ( indexAPlus1 != indexBPlus1 ) ) { IBond reactantBond = null ; IBond productBond = null ; reactantBond = source . getBond ( source . getAtom ( indexA ) , source . getAtom ( indexB ) ) ; productBond = target . getBond ( target . getAtom ( indexAPlus1 ) , target . getAtom ( indexBPlus1 ) ) ; if ( reactantBond != null && productBond != null ) { addCZeroEdges ( reactantBond , productBond , a , b ) ; } } } } //Size of C and D edges of the compatibility graph cEdgesSize = cEdges . size ( ) ; dEdgesSize = dEdges . size ( ) ; return 0 ; }
compatibilityGraphCEdgeZero is used to build up of the edges of the compatibility graph BIS