Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
7.1 kB · 242 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243// Copyright David Abrahams 2002.// Distributed under the Boost Software License, Version 1.0. (See// accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)#ifndef NUMARRAY_DWA2002922_HPP# define NUMARRAY_DWA2002922_HPP
# include <boost/python/detail/prefix.hpp>
# include <boost/python/tuple.hpp># include <boost/python/str.hpp># include <boost/preprocessor/iteration/local.hpp># include <boost/preprocessor/cat.hpp># include <boost/preprocessor/repetition/enum.hpp># include <boost/preprocessor/repetition/enum_params.hpp># include <boost/preprocessor/repetition/enum_binary_params.hpp>
namespace boost { namespace python { namespace numeric {
class array;
namespace aux{ struct BOOST_PYTHON_DECL array_base : object {# define BOOST_PP_LOCAL_MACRO(n) \ array_base(BOOST_PP_ENUM_PARAMS_Z(1, n, object const& x));# define BOOST_PP_LOCAL_LIMITS (1, 7)# include BOOST_PP_LOCAL_ITERATE()
object argmax(long axis=-1); object argmin(long axis=-1); object argsort(long axis=-1); object astype(object const& type = object()); void byteswap(); object copy() const; object diagonal(long offset = 0, long axis1 = 0, long axis2 = 1) const; void info() const; bool is_c_array() const; bool isbyteswapped() const; array new_(object type) const; void sort(); object trace(long offset = 0, long axis1 = 0, long axis2 = 1) const; object type() const; char typecode() const;
object factory( object const& sequence = object() , object const& typecode = object() , bool copy = true , bool savespace = false , object type = object() , object shape = object());
object getflat() const; long getrank() const; object getshape() const; bool isaligned() const; bool iscontiguous() const; long itemsize() const; long nelements() const; object nonzero() const; void put(object const& indices, object const& values); void ravel(); object repeat(object const& repeats, long axis=0); void resize(object const& shape); void setflat(object const& flat); void setshape(object const& shape); void swapaxes(long axis1, long axis2); object take(object const& sequence, long axis = 0) const; void tofile(object const& file) const; str tostring() const; void transpose(object const& axes = object()); object view() const;
public: // implementation detail - do not touch. BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(array_base, object); };
struct BOOST_PYTHON_DECL array_object_manager_traits { static bool check(PyObject* obj); static detail::new_non_null_reference adopt(PyObject* obj); static PyTypeObject const* get_pytype() ; };} // namespace aux
class array : public aux::array_base{ typedef aux::array_base base; public:
object astype() { return base::astype(); } template <class Type> object astype(Type const& type_) { return base::astype(object(type_)); }
template <class Type> array new_(Type const& type_) const { return base::new_(object(type_)); }
template <class Sequence> void resize(Sequence const& x) { base::resize(object(x)); } # define BOOST_PP_LOCAL_MACRO(n) \ void resize(BOOST_PP_ENUM_PARAMS_Z(1, n, long x)) \ { \ resize(make_tuple(BOOST_PP_ENUM_PARAMS_Z(1, n, x))); \ }# define BOOST_PP_LOCAL_LIMITS (1, BOOST_PYTHON_MAX_ARITY)# include BOOST_PP_LOCAL_ITERATE()
template <class Sequence> void setshape(Sequence const& x) { base::setshape(object(x)); } # define BOOST_PP_LOCAL_MACRO(n) \ void setshape(BOOST_PP_ENUM_PARAMS_Z(1, n, long x)) \ { \ setshape(make_tuple(BOOST_PP_ENUM_PARAMS_Z(1, n, x))); \ }# define BOOST_PP_LOCAL_LIMITS (1, BOOST_PYTHON_MAX_ARITY)# include BOOST_PP_LOCAL_ITERATE()
template <class Indices, class Values> void put(Indices const& indices, Values const& values) { base::put(object(indices), object(values)); } template <class Sequence> object take(Sequence const& sequence, long axis = 0) { return base::take(object(sequence), axis); }
template <class File> void tofile(File const& f) const { base::tofile(object(f)); }
object factory() { return base::factory(); } template <class Sequence> object factory(Sequence const& sequence) { return base::factory(object(sequence)); } template <class Sequence, class Typecode> object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy = true , bool savespace = false ) { return base::factory(object(sequence), object(typecode_), copy, savespace); }
template <class Sequence, class Typecode, class Type> object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy , bool savespace , Type const& type ) { return base::factory(object(sequence), object(typecode_), copy, savespace, object(type)); } template <class Sequence, class Typecode, class Type, class Shape> object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy , bool savespace , Type const& type , Shape const& shape ) { return base::factory(object(sequence), object(typecode_), copy, savespace, object(type), object(shape)); } # define BOOST_PYTHON_ENUM_AS_OBJECT(z, n, x) object(BOOST_PP_CAT(x,n))# define BOOST_PP_LOCAL_MACRO(n) \ template <BOOST_PP_ENUM_PARAMS_Z(1, n, class T)> \ explicit array(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, n, T, const& x)) \ : base(BOOST_PP_ENUM_1(n, BOOST_PYTHON_ENUM_AS_OBJECT, x)) \ {}# define BOOST_PP_LOCAL_LIMITS (1, 7)# include BOOST_PP_LOCAL_ITERATE()# undef BOOST_PYTHON_AS_OBJECT
static BOOST_PYTHON_DECL void set_module_and_type(char const* package_name = 0, char const* type_attribute_name = 0); static BOOST_PYTHON_DECL std::string get_module_name();
public: // implementation detail -- for internal use only BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(array, base);};
} // namespace boost::python::numeric
namespace converter{ template <> struct object_manager_traits< numeric::array > : numeric::aux::array_object_manager_traits { BOOST_STATIC_CONSTANT(bool, is_specialized = true); };}
}} // namespace boost::python
#endif // NUMARRAY_DWA2002922_HPP