def _fast_vector_sum(self, values, theta):
    '\n        Return the vector sum of the distribution as a tuple (magnitude, avgbinnum).\n        \n        This implementation assumes that the values of the distribution needed for the \n        vector sum will not be changed and depends on cached values.\n        \n        '
    v_sum = np.inner(values, theta)
    magnitude = abs(v_sum)
    direction = cmath.phase(v_sum)
    if (v_sum == 0):
        self.undefined_vals += 1
    direction_radians = self._radians_to_bins(direction)
    wrapped_direction = wrap(self.axis_bounds[0], self.axis_bounds[1], direction_radians)
    return (magnitude, wrapped_direction)
Return the vector sum of the distribution as a tuple (magnitude, avgbinnum).

This implementation assumes that the values of the distribution needed for the 
vector sum will not be changed and depends on cached values.
def _fast_vector_sum(self, values, theta):
    '\n        Return the vector sum of the distribution as a tuple (magnitude, avgbinnum).\n        \n        This implementation assumes that the values of the distribution needed for the \n        vector sum will not be changed and depends on cached values.\n        \n        '
    v_sum = np.inner(values, theta)
    magnitude = abs(v_sum)
    direction = cmath.phase(v_sum)
    if (v_sum == 0):
        self.undefined_vals += 1
    direction_radians = self._radians_to_bins(direction)
    wrapped_direction = wrap(self.axis_bounds[0], self.axis_bounds[1], direction_radians)
    return (magnitude, wrapped_direction)