Ciao a tutti ragazzi!!
Ritorno con un ennesimo quesito esistenziale.

Ho realizzato un metodo binary search, non definito statico per altre ragioni, ma che comunque funziona su un vettore double[]. Il mio problema ora è andare ad implementare un modo per far restituire non tanto il valore -1 se non viene trovato l'elemento, quanto il valore (-(insertion point) - 1), proprio come fa il metodo binarySearch() della classe Arrays di java. Il problema è che, provando con varie soluzioni, non sono riuscito a venirne a capo.

Eccolo qui (a è il mio private double[]):
codice:
public int binarySearch(double number)
	{
		int low = 0;
		int high = a.length - 1;
		int insertionPoint = 0;
		
		while (low <= high)
		{
			int middle = (low + high) / 2;
			if (a[middle] == number)
				return middle;
			else if (a[middle] < number)
			{
				low = middle + 1;
				insertionPoint = low;
			}
			else
			{
				high = middle - 1;
				insertionPoint = high;
			}
		}

		if (high <= 0 || low <= 0) insertionPoint ++;
		return -insertionPoint - 1;
	}
Qualcuno saprebbe darmi una mano in merito?? Grazie mille in anticipo