diff --git a/libs/numpy/example/ndarray.cpp b/libs/numpy/example/ndarray.cpp index 9bfd5dc5..3ab28f97 100644 --- a/libs/numpy/example/ndarray.cpp +++ b/libs/numpy/example/ndarray.cpp @@ -3,6 +3,8 @@ * The Python sequence could be any object whose __array__ method returns an array, or any (nested) sequence. * * @todo Find a way to create a list explicitly + * + * */ @@ -23,11 +25,21 @@ int main(int argc, char **argv) np::ndarray example_tuple = np::array (tu) ; // and from a list p::list l ; - l.append('a') ; np::ndarray example_list = np::array (l) ; // Optionally, you can also specify a dtype np::dtype dt = np::dtype::get_builtin(); np::ndarray example_list1 = np::array (l,dt); + // You can also create an array by supplying data.First,create an integer array + int data[] = {1,2,3,4} ; + // Create a shape, and strides, needed by the function + p::tuple shape = p::make_tuple(2,2) ; + p::tuple strides = p::make_tuple(strides(data)) ; + // The function also needs an owner, to keep track of the data array passed. Passing none is dangerous + p::object owner ; + // The from_data function takes the data array, datatype,shape,stride and owner as arguments + // and returns an ndarray + np::ndarray data_ex1 = np::from_data(data,dt, shape,strides,owner); + } diff --git a/libs/numpy/example/simple.cpp b/libs/numpy/example/simple.cpp index d375b35c..b1f2dc3f 100644 --- a/libs/numpy/example/simple.cpp +++ b/libs/numpy/example/simple.cpp @@ -21,6 +21,8 @@ int main(int argc, char **argv) np::dtype dtype = np::dtype::get_builtin(); // Construct an array with the above shape and type np::ndarray a = np::zeros(shape, dtype); + // Construct an empty array with the above shape and dtype as well + np::ndarray b = np::empty(shape,dtype); // Print the array std::cout << "Original array:\n" << p::extract(p::str(a)) << std::endl; // Reshape the array into a 1D array