removing C++11 interface
This commit is contained in:
@@ -30,44 +30,44 @@ numeric_type base::map_functor::get_numeric_type(atidlas::array_expression const
|
||||
|
||||
/** @brief Binary leaf */
|
||||
template<class T>
|
||||
std::shared_ptr<mapped_object> base::map_functor::binary_leaf(atidlas::array_expression const * array_expression, int_t root_idx, mapping_type const * mapping) const
|
||||
tools::shared_ptr<mapped_object> base::map_functor::binary_leaf(atidlas::array_expression const * array_expression, int_t root_idx, mapping_type const * mapping) const
|
||||
{
|
||||
return std::shared_ptr<mapped_object>(new T(numeric_type_to_string(array_expression->dtype()), binder_.get(NULL), mapped_object::node_info(mapping, array_expression, root_idx)));
|
||||
return tools::shared_ptr<mapped_object>(new T(numeric_type_to_string(array_expression->dtype()), binder_.get(NULL), mapped_object::node_info(mapping, array_expression, root_idx)));
|
||||
}
|
||||
|
||||
/** @brief Scalar mapping */
|
||||
std::shared_ptr<mapped_object> base::map_functor::create(numeric_type dtype, values_holder) const
|
||||
tools::shared_ptr<mapped_object> base::map_functor::create(numeric_type dtype, values_holder) const
|
||||
{
|
||||
std::string strdtype = numeric_type_to_string(dtype);
|
||||
return std::shared_ptr<mapped_object>(new mapped_host_scalar(strdtype, binder_.get(NULL)));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_host_scalar(strdtype, binder_.get(NULL)));
|
||||
}
|
||||
|
||||
/** @brief Vector mapping */
|
||||
std::shared_ptr<mapped_object> base::map_functor::create(array_infos const & a) const
|
||||
tools::shared_ptr<mapped_object> base::map_functor::create(array_infos const & a) const
|
||||
{
|
||||
std::string dtype = numeric_type_to_string(a.dtype);
|
||||
unsigned int id = binder_.get(a.data);
|
||||
//Scalar
|
||||
if(a.shape1==1 && a.shape2==1)
|
||||
return std::shared_ptr<mapped_object>(new mapped_array(dtype, id, 's'));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_array(dtype, id, 's'));
|
||||
//Column vector
|
||||
else if(a.shape1>1 && a.shape2==1)
|
||||
return std::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'c'));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'c'));
|
||||
//Row vector
|
||||
else if(a.shape1==1 && a.shape2>1)
|
||||
return std::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'r'));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'r'));
|
||||
//Matrix
|
||||
else
|
||||
return std::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'm'));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_array(dtype, id, 'm'));
|
||||
}
|
||||
|
||||
std::shared_ptr<mapped_object> base::map_functor::create(repeat_infos const &) const
|
||||
tools::shared_ptr<mapped_object> base::map_functor::create(repeat_infos const &) const
|
||||
{
|
||||
//TODO: Make it less specific!
|
||||
return std::shared_ptr<mapped_object>(new mapped_tuple("int",binder_.get(NULL),4));
|
||||
return tools::shared_ptr<mapped_object>(new mapped_tuple("int",binder_.get(NULL),4));
|
||||
}
|
||||
|
||||
std::shared_ptr<mapped_object> base::map_functor::create(lhs_rhs_element const & lhs_rhs) const
|
||||
tools::shared_ptr<mapped_object> base::map_functor::create(lhs_rhs_element const & lhs_rhs) const
|
||||
{
|
||||
switch(lhs_rhs.type_family)
|
||||
{
|
||||
@@ -111,7 +111,7 @@ void base::map_functor::operator()(atidlas::array_expression const & array_expre
|
||||
else if (root_node.op.type == OPERATOR_OUTER_PROD_TYPE)
|
||||
mapping_.insert(mapping_type::value_type(key, binary_leaf<mapped_outer>(&array_expression, root_idx, &mapping_)));
|
||||
else if (detail::is_cast(root_node.op))
|
||||
mapping_.insert(mapping_type::value_type(key, std::shared_ptr<mapped_object>(new mapped_cast(root_node.op.type, binder_.get(NULL)))));
|
||||
mapping_.insert(mapping_type::value_type(key, tools::shared_ptr<mapped_object>(new mapped_cast(root_node.op.type, binder_.get(NULL)))));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ std::string base::generate_arguments(std::string const & data_type, std::vector<
|
||||
|
||||
void base::set_arguments(expressions_tuple const & expressions, cl::Kernel & kernel, unsigned int & current_arg)
|
||||
{
|
||||
std::shared_ptr<symbolic_binder> binder = make_binder();
|
||||
tools::shared_ptr<symbolic_binder> binder = make_binder();
|
||||
for (const auto & elem : expressions.data())
|
||||
traverse(*elem, (elem)->root(), set_arguments_functor(*binder, current_arg, kernel), true);
|
||||
}
|
||||
@@ -478,12 +478,12 @@ unsigned int base::align(unsigned int to_round, unsigned int base)
|
||||
return (to_round + base - 1)/base * base;
|
||||
}
|
||||
|
||||
std::shared_ptr<symbolic_binder> base::make_binder()
|
||||
tools::shared_ptr<symbolic_binder> base::make_binder()
|
||||
{
|
||||
if (binding_policy_==BIND_TO_HANDLE)
|
||||
return std::shared_ptr<symbolic_binder>(new bind_to_handle());
|
||||
return tools::shared_ptr<symbolic_binder>(new bind_to_handle());
|
||||
else
|
||||
return std::shared_ptr<symbolic_binder>(new bind_all_unique());
|
||||
return tools::shared_ptr<symbolic_binder>(new bind_all_unique());
|
||||
}
|
||||
|
||||
|
||||
@@ -509,7 +509,7 @@ std::vector<std::string> base::generate(unsigned int label, expressions_tuple co
|
||||
|
||||
//Create mapping
|
||||
std::vector<mapping_type> mappings(expressions.data().size());
|
||||
std::shared_ptr<symbolic_binder> binder = make_binder();
|
||||
tools::shared_ptr<symbolic_binder> binder = make_binder();
|
||||
for (mit = mappings.begin(), sit = expressions.data().begin(); sit != expressions.data().end(); ++sit, ++mit)
|
||||
traverse(**sit, (*sit)->root(), map_functor(*binder,*mit), true);
|
||||
|
||||
@@ -533,8 +533,8 @@ int_t base_impl<TType, PType>::local_size_1() const
|
||||
{ return p_.local_size_1; }
|
||||
|
||||
template<class TType, class PType>
|
||||
std::shared_ptr<base> base_impl<TType, PType>::clone() const
|
||||
{ return std::shared_ptr<base>(new TType(*dynamic_cast<TType const *>(this))); }
|
||||
tools::shared_ptr<base> base_impl<TType, PType>::clone() const
|
||||
{ return tools::shared_ptr<base>(new TType(*dynamic_cast<TType const *>(this))); }
|
||||
|
||||
template<class TType, class PType>
|
||||
int base_impl<TType, PType>::check_invalid(expressions_tuple const & expressions, cl::Device const & device) const
|
||||
|
Reference in New Issue
Block a user