(func_name, df_type, in_df, all_params)
return func_text, global_vars
Example of generated implementation:

    def _df_isin_impl(df, values):
      series_A = pandas.Series(df._data[0])
      series_A_values = pandas.Series(values.A)
      result = numpy.empty(len(series_A._data), numpy.bool_)
      result_len = len(series_A._data)
      for i in range(result_len):
        idx = df.index[i]
        value = series_A._data[i]
        result[i] = False
        for j in numba.prange(len(series_A_values)):
          idx_val = values.index[j]
          if idx == idx_val:
            value_val = series_A_values._data[j]
            if value == value_val:
              result[i] = True
            else:
              result[i] = False
            break
      result_A = pandas.Series(result)
      series_B = pandas.Series(df._data[1])
      series_B_values = pandas.Series(values.B)
      result = numpy.empty(len(series_B._data), numpy.bool_)
      result_len = len(series_B._data)
      for i in range(result_len):
        idx = df.index[i]
        value = series_B._data[i]
        result[i] = False
        for j in numba.prange(len(series_B_values)):
          idx_val = values.index[j]
          if idx == idx_val:
            value_val = series_B_values._data[j]
            if value == value_val:
              result[i] = True
            else:
              result[i] = False
            break
      result_B = pandas.Series(result)
      return pandas.DataFrame({"A": result_A, "B": result_B}, index=df._index)
Example of generated implementation:
Example of generated implementation :
def sdc_pandas_dataframe_isin_df_codegen(func_name, df_type, in_df, all_params):
    """
    Example of generated implementation:

    def _df_isin_impl(df, values):
      series_A = pandas.Series(df._data[0])
      series_A_values = pandas.Series(values.A)
      result = numpy.empty(len(series_A._data), numpy.bool_)
      result_len = len(series_A._data)
      for i in range(result_len):
        idx = df.index[i]
        value = series_A._data[i]
        result[i] = False
        for j in numba.prange(len(series_A_values)):
          idx_val = values.index[j]
          if idx == idx_val:
            value_val = series_A_values._data[j]
            if value == value_val:
              result[i] = True
            else:
              result[i] = False
            break
      result_A = pandas.Series(result)
      series_B = pandas.Series(df._data[1])
      series_B_values = pandas.Series(values.B)
      result = numpy.empty(len(series_B._data), numpy.bool_)
      result_len = len(series_B._data)
      for i in range(result_len):
        idx = df.index[i]
        value = series_B._data[i]
        result[i] = False
        for j in numba.prange(len(series_B_values)):
          idx_val = values.index[j]
          if idx == idx_val:
            value_val = series_B_values._data[j]
            if value == value_val:
              result[i] = True
            else:
              result[i] = False
            break
      result_B = pandas.Series(result)
      return pandas.DataFrame({"A": result_A, "B": result_B}, index=df._index)
    """
    result_name = []
    joined = ', '.join(all_params)
    func_lines = [f'def _df_{func_name}_impl({joined}):']
    df = all_params[0]
    val = all_params[1]
    column_loc = df_type.column_loc
    for i, c in enumerate(df_type.columns):
        col_loc = column_loc[c]
        type_id, col_id = col_loc.type_id, col_loc.col_id
        result_c = f'result_{c}'
        func_lines += [f'  series_{c} = pandas.Series({df}._data[{type_id}][{col_id}])']
        if c in in_df.columns:
            func_lines += [
                f'  series_{c}_values = pandas.Series({val}.{c})',
                f'  result = numpy.empty(len(series_{c}._data), numpy.bool_)',
                f'  result_len = len(series_{c}._data)'
            ]
            if isinstance(df.index, PositionalIndexType) and isinstance(df_type.index, PositionalIndexType):
                func_lines += [
                    f'  for i in range(result_len):',
                    f'    if i <= len(series_{c}_values):',
                    f'      if series_{c}._data[i] == series_{c}_values._data[i]:',
                    f'        result[i] = True',
                    f'      else:',
                    f'        result[i] = False',
                    f'    else:',
                    f'      result[i] = False']
            elif isinstance(df_type.index, PositionalIndexType):
                func_lines += [
                    f'  for i in range(result_len):',
                    f'    value = series_{c}._data[i]',
                    f'    result[i] = False',
                    f'    for j in numba.prange(len(series_{c}_values)):',
                    f'      idx_val = {val}.index[j]',
                    f'      if i == idx_val:',
                    f'        value_val = series_{c}_values._data[j]',
                    f'        if value == value_val:',
                    f'          result[i] = True',
                    f'        else:',
                    f'          result[i] = False',
                    f'        break',
                ]
            elif isinstance(df.index, PositionalIndexType):
                func_lines += [
                    f'  for i in range(result_len):',
                    f'    idx = {df}.index[i]',
                    f'    value = series_{c}._data[i]',
                    f'    result[i] = False',
                    f'    for j in numba.prange(len(series_{c}_values)):',
                    f'      if idx == j:',
                    f'        value_val = series_{c}_values._data[j]',
                    f'        if value == value_val:',
                    f'          result[i] = True',
                    f'        else:',
                    f'          result[i] = False',
                    f'        break',
                    ]
            else:
                func_lines += [
                    f'  for i in range(result_len):',
                    f'    idx = {df}.index[i]',
                    f'    value = series_{c}._data[i]',
                    f'    result[i] = False',
                    f'    for j in numba.prange(len(series_{c}_values)):',
                    f'      idx_val = {val}.index[j]',
                    f'      if idx == idx_val:',
                    f'        value_val = series_{c}_values._data[j]',
                    f'        if value == value_val:',
                    f'          result[i] = True',
                    f'        else:',
                    f'          result[i] = False',
                    f'        break',
                    ]
        else:
            func_lines += [
                f'  result = [False] * len(series_{c}._data)']
        func_lines += [f'  {result_c} = pandas.Series(result)']
        result_name.append((result_c, c))
    data = ', '.join(f'"{column_name}": {column}' for column, column_name in result_name)
    func_lines.append(f'  return pandas.DataFrame({{{data}}}, index={df}._index)')
    func_text = '\n'.join(func_lines)

    global_vars = {'pandas': pandas,
                   'numba': numba,
                   'numpy': numpy,
                   'get_dataframe_data': get_dataframe_data}

    return func_text, global_vars
def sdc_pandas_dataframe_isin_df_codegen ( func_name , df_type , in_df , all_params ) : result_name = [ ] joined = ', ' . join ( all_params ) func_lines = [ f'def _df_{func_name}_impl({joined}):' ] df = all_params [ 0 ] val = all_params [ 1 ] column_loc = df_type . column_loc for i , c in enumerate ( df_type . columns ) : col_loc = column_loc [ c ] type_id , col_id = col_loc . type_id , col_loc . col_id result_c = f'result_{c}' func_lines += [ f'  series_{c} = pandas.Series({df}._data[{type_id}][{col_id}])' ] if c in in_df . columns : func_lines += [ f'  series_{c}_values = pandas.Series({val}.{c})' , f'  result = numpy.empty(len(series_{c}._data), numpy.bool_)' , f'  result_len = len(series_{c}._data)' ] if isinstance ( df . index , PositionalIndexType ) and isinstance ( df_type . index , PositionalIndexType ) : func_lines += [ f'  for i in range(result_len):' , f'    if i <= len(series_{c}_values):' , f'      if series_{c}._data[i] == series_{c}_values._data[i]:' , f'        result[i] = True' , f'      else:' , f'        result[i] = False' , f'    else:' , f'      result[i] = False' ] elif isinstance ( df_type . index , PositionalIndexType ) : func_lines += [ f'  for i in range(result_len):' , f'    value = series_{c}._data[i]' , f'    result[i] = False' , f'    for j in numba.prange(len(series_{c}_values)):' , f'      idx_val = {val}.index[j]' , f'      if i == idx_val:' , f'        value_val = series_{c}_values._data[j]' , f'        if value == value_val:' , f'          result[i] = True' , f'        else:' , f'          result[i] = False' , f'        break' , ] elif isinstance ( df . index , PositionalIndexType ) : func_lines += [ f'  for i in range(result_len):' , f'    idx = {df}.index[i]' , f'    value = series_{c}._data[i]' , f'    result[i] = False' , f'    for j in numba.prange(len(series_{c}_values)):' , f'      if idx == j:' , f'        value_val = series_{c}_values._data[j]' , f'        if value == value_val:' , f'          result[i] = True' , f'        else:' , f'          result[i] = False' , f'        break' , ] else : func_lines += [ f'  for i in range(result_len):' , f'    idx = {df}.index[i]' , f'    value = series_{c}._data[i]' , f'    result[i] = False' , f'    for j in numba.prange(len(series_{c}_values)):' , f'      idx_val = {val}.index[j]' , f'      if idx == idx_val:' , f'        value_val = series_{c}_values._data[j]' , f'        if value == value_val:' , f'          result[i] = True' , f'        else:' , f'          result[i] = False' , f'        break' , ] else : func_lines += [ f'  result = [False] * len(series_{c}._data)' ] func_lines += [ f'  {result_c} = pandas.Series(result)' ] result_name . append ( ( result_c , c ) ) data = ', ' . join ( f'"{column_name}": {column}' for column , column_name in result_name ) func_lines . append ( f'  return pandas.DataFrame({{{data}}}, index={df}._index)' ) func_text = '\n' . join ( func_lines ) global_vars = { 'pandas' : pandas , 'numba' : numba , 'numpy' : numpy , 'get_dataframe_data' : get_dataframe_data } return func_text , global_vars