private void testChiasma13(int a) {
        //NOTE: must be called after generateChiasma; 
        //there side, sideFact, pos, mindist are calculated
        //first: check if rejected because of opposing chiasma
        //(possibly with interference):
        if (!Double.isNaN(mindist) && rejectDist(mindist)) {
            // conflict with opposing chiasma
            armFinished[a] = true;
        }
        else { //test if chiasma beyond opposite chromosome end:
            armFinished[a] = (sideFact * (pos-chrom.getSidePos(1-side))) >= 0.0;
        }    
        
        if (armFinished[a]) {
            crossoverFinished = true;
            if (popdata.quadriMethod==1) {
                for (int i=0; i<4; i++) {
                    crossoverFinished = crossoverFinished && armFinished[i];
                }
                //false if at least one armFinished false
            } 
            //else quadriMethod==3: crossoverFinished as soon as one arm finished
        }
        else { //!armFinished[a]
            //update exchangeLim on this side if pos beyond it:
            if (sideFact*(pos-exchangeLim[side])>0) {
                exchangeLim[side] = pos;
            }
        }
    } //testChiasma13