Ahoj, > >>> import ctypes > >>> plnp = [1, 2, 3, 4] > >>> array = ctypes.c_double * len(plnp) > >>> clnp = array(*plnp) > >>> clnp > <__main__.c_double_Array_4 object at 0x10024bef0> > >>> list(clnp) > [1.0, 2.0, 3.0, 4.0]
PM On 7.2.2010, at 18:03, Radek Machulka wrote: > Zdar, > > posledni dobou se to tu celkem rozjelo, tak prihodim i ja svoji trosku do > mlyna. > > Snazim se napsat vlastni wrapper okolo C knihovny (LabView) pomoci modulu > ctypes. Jeden problem, na ktery jsem narazil je transformace datovych typu, > predevsim pole. Fukce v pythonu dostane jako vstupni parametr pole > (iterable), > ktery musi prevest na pole v C a predat C funkci. Podle toho co jsem nasel by > melo reseni vypadat nasledovne (pro pole o delce 3): > > float64 = ctypes.c_double > array = float64 * 3 > cInp = array(pInp[0], pInp[1], pInp[2]), > > kde pInp je pole v pythonu a cInp je pole v C. > > Jak predchozi priklad upravit tak, aby podporoval vstupni pole (pInp) o > libovolne (cti predem nezname) delce? Da se predpokladat, ze druhy radek bude > > array = float64 * len(pInp), > > ale co ten treti? > > Predem dik > Radek _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python