docs: public void computeSolutions( FastQueue<DMatrixRMaj> solutions )
  	{
  		if( !rootFinder.process(poly))
  			return;
  
  		List<Complex_F64> zeros = rootFinder.getRoots();
  
  		for( Complex_F64 c : zeros ) {
  			if( !c.isReal() && Math.abs(c.imaginary) > 1e-10 )
  				continue;
  
  			DMatrixRMaj F = solutions.grow();
  
  			double a = c.real;
  			double b = 1-c.real;
  
  			for( int i = 0; i < 9; i++ ) {
  				F.data[i] = a*F1.data[i] + b*F2.data[i];
  			}
  
  			// det(F) = 0 is already enforced, but for essential matrices it needs to enforce
  			// that the first two singular values are zero and the last one is zero
  			if( !computeFundamental && !projectOntoEssential(F) ) {
  					solutions.removeTail();
  			}
  		}
  	}