def pack_list_of_items(self, cdata, w_ob): float_list = self.space.listview_float(w_ob) if float_list is not None: misc.pack_float_list_to_raw_array(float_list, cdata, rffi.LONGDOUBLE, rffi.LONGDOUBLEP) return True return W_CTypePrimitive.pack_list_of_items(self, cdata, w_ob)
def pack_list_of_items(self, cdata, w_ob, expected_length): float_list = self.space.listview_float(w_ob) if (float_list is not None and self._within_bounds(len(float_list), expected_length)): misc.pack_float_list_to_raw_array(float_list, cdata, rffi.LONGDOUBLE, rffi.LONGDOUBLEP) return True return W_CTypePrimitive.pack_list_of_items(self, cdata, w_ob, expected_length)
def pack_list_of_items(self, cdata, w_ob): float_list = self.space.listview_float(w_ob) if float_list is not None: if self.size == rffi.sizeof(rffi.DOUBLE): # fastest path from rpython.rlib.rrawarray import copy_list_to_raw_array cdata = rffi.cast(rffi.DOUBLEP, cdata) copy_list_to_raw_array(float_list, cdata) return True elif self.size == rffi.sizeof(rffi.FLOAT): misc.pack_float_list_to_raw_array(float_list, cdata, rffi.FLOAT, rffi.FLOATP) return True return W_CTypePrimitive.pack_list_of_items(self, cdata, w_ob)