def specify_data_set(self, x_input, y_input, sort_data=False):
if sort_data:<EOL><INDENT>xy = sorted(zip(x_input, y_input))<EOL>x, y = zip(*xy)<EOL>x_input_list = list(x_input)<EOL>self._original_index_of_xvalue = [x_input_list.index(xi) for xi in x]<EOL>if len(set(self._original_index_of_xvalue)) != len(x):<EOL><INDENT>raise RuntimeError('<STR_LIT>')<EOL><DEDENT><DEDENT>else:<EOL><INDENT>x, y = x_input, y_input<EOL><DEDENT>self.x = x<EOL>self.y = y<EOL>
Fully define data by lists of x values and y values.

This will sort them by increasing x but remember how to unsort them for providing results.

Parameters
----------
x_input : iterable
    list of floats that represent x
y_input : iterable
    list of floats that represent y(x) for each x
sort_data : bool, optional
    If true, the data will be sorted by increasing x values.