同步操作将从 Gitee 极速下载/Halide 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "ParamMap.h"#include "ImageParam.h"namespace Halide {ParamMap::ParamMap(const std::initializer_list<ParamMapping> &init) {for (const auto &pm : init) {if (pm.parameter != nullptr) {mapping[*pm.parameter] = ParamArg(pm);} else if (pm.buf_out_param == nullptr) {// TODO: there has to be a way to do this without the const_cast.set(*pm.image_param, *const_cast<Buffer<> *>(&pm.buf), nullptr);} else {Buffer<> temp_undefined;set(*pm.image_param, temp_undefined, pm.buf_out_param);}}}void ParamMap::set(const ImageParam &p, const Buffer<> &buf, Buffer<> *buf_out_param) {Internal::Parameter v(p.type(), true, p.dimensions(), p.name());v.set_buffer(buf);ParamArg pa;pa.mapped_param = v;pa.buf_out_param = buf_out_param;mapping[p.parameter()] = pa;};const Internal::Parameter &ParamMap::map(const Internal::Parameter &p, Buffer<> *&buf_out_param) const {auto iter = mapping.find(p);if (iter != mapping.end()) {buf_out_param = iter->second.buf_out_param;return iter->second.mapped_param;} else {buf_out_param = nullptr;return p;}}Internal::Parameter &ParamMap::map(Internal::Parameter &p, Buffer<> *&buf_out_param) const {auto iter = mapping.find(p);if (iter != mapping.end()) {buf_out_param = iter->second.buf_out_param;return iter->second.mapped_param;} else {buf_out_param = nullptr;return p;}}} // namespace Halide
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。