code: def weld_filter(array, weld_type, bool_array):
      
      obj_id, weld_obj = create_weld_object(array)
      bool_obj_id = get_weld_obj_id(weld_obj, bool_array)
  
      weld_template = """result(
      for(
          zip({array}, {bool_array}),
          appender[{type}],
          |b: appender[{type}], i: i64, e: {{{type}, bool}}| 
              if (e.$1, 
                  merge(b, e.$0), 
                  b)
      )
  )"""
  
      weld_obj.weld_code = weld_template.format(array=obj_id,
                                                bool_array=bool_obj_id,
                                                type=weld_type)
  
      return weld_obj
docs: Returns a new array only with the elements with a corresponding True in bool_array.
  
      Parameters
      ----------
      array : numpy.ndarray or WeldObject
          Input data.
      weld_type : WeldType
          Type of the elements in the input array.
      bool_array : numpy.ndarray or WeldObject
          Array of bool with True for elements in array desired in the result array.
  
      Returns
      -------
      WeldObject
          Representation of this computation.