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;
    }
protected int compatibilityGraphCEdgeZero ( ) throws IOException { int compGraphNodesCZeroListSize = compGraphNodesCZero . size ( ) ; cEdges = new ArrayList < Integer > ( ) ; dEdges = new ArrayList < Integer > ( ) ; 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 ( ( 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 ) ; } } } } cEdgesSize = cEdges . size ( ) ; dEdgesSize = dEdges . size ( ) ; return 0 ; }
compatibilityGraphCEdgeZero is used to
build up of the edges of the
compatibility graph BIS
@return
@throws IOException