Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)