/* r e m o v e N u m b e r  */
returnValue Indexlist_removeNumber(Indexlist *_THIS, int removenumber)
/* r e m o v e N u m b e r  */
returnValue Indexlist_removeNumber(Indexlist *_THIS, int removenumber)
{
	int i;
	int idx = Indexlist_findInsert( _THIS,removenumber );
	int iSidx = _THIS->iSort[idx];
	if ( _THIS->number[iSidx] != removenumber )
		return SUCCESSFUL_RETURN;
	for (i = 0; i < _THIS->length; i++)
		if (_THIS->iSort[i] > iSidx) _THIS->iSort[i]--;
	for (i = idx+1; i < _THIS->length; i++)
		_THIS->iSort[i-1] = _THIS->iSort[i];
	for( i=iSidx; i<_THIS->length-1; ++i )
		_THIS->number[i] = _THIS->number[i+1];
	_THIS->number[_THIS->length-1] = -1;
	--(_THIS->length);
	return SUCCESSFUL_RETURN;
}