def __sub__(self, entry):
        """!
        @brief Overloaded operator sub. Performs substraction of two clustering features.
        @details Substraction can't be performed with clustering feature whose description is less then substractor.
        
        @param[in] entry (cfentry): Entry that is substracted from the current.
        
        @return (cfentry) Result of substraction of two clustering features.
        
        """
                
        number_points = self.number_points - entry.number_points;
        result_linear_sum = list_math_subtraction(self.linear_sum, entry.linear_sum);
        result_square_sum = self.square_sum - entry.square_sum;
        
        if ( (number_points < 0) or (result_square_sum < 0) ):
            raise NameError("Substruction with negative result is not possible for clustering features.");
        
        return cfentry(number_points, result_linear_sum, result_square_sum);
def __sub__ ( self , entry ) : number_points = self . number_points - entry . number_points ; result_linear_sum = list_math_subtraction ( self . linear_sum , entry . linear_sum ) ; result_square_sum = self . square_sum - entry . square_sum ; if ( ( number_points < 0 ) or ( result_square_sum < 0 ) ) : raise NameError ( "Substruction with negative result is not possible for clustering features." ) ; return cfentry ( number_points , result_linear_sum , result_square_sum ) ;
!
        @brief Overloaded operator sub. Performs substraction of two clustering features.
        @details Substraction can't be performed with clustering feature whose description is less then substractor.
        
        @param[in] entry (cfentry): Entry that is substracted from the current.
        
        @return (cfentry) Result of substraction of two clustering features.