MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / Attribute2String

Function Attribute2String

paddle/cinn/utils/string.cc:140–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138}
139
140std::string Attribute2String(const utils::Attribute &attr) {
141 std::stringstream ss;
142 if (std::holds_alternative<bool>(attr)) {
143 ss << (std::get<bool>(attr) ? "True" : "False");
144 } else if (std::holds_alternative<float>(attr)) {
145 ss << std::setprecision(std::numeric_limits<float>::max_digits10)
146 << std::showpoint << std::get<float>(attr);
147 } else if (std::holds_alternative<double>(attr)) {
148 ss << std::setprecision(std::numeric_limits<double>::max_digits10)
149 << std::showpoint << std::get<double>(attr);
150 } else if (std::holds_alternative<int>(attr)) {
151 ss << std::get<int>(attr);
152 } else if (std::holds_alternative<int64_t>(attr)) {
153 ss << std::get<int64_t>(attr);
154 } else if (std::holds_alternative<std::string>(attr)) {
155 ss << "\"" << std::get<std::string>(attr) << "\"";
156 } else if (std::holds_alternative<std::vector<bool>>(attr)) {
157 ss << "[" + cinn::utils::Join(std::get<std::vector<bool>>(attr), ", ") +
158 "]";
159 } else if (std::holds_alternative<std::vector<int>>(attr)) {
160 ss << "[" + cinn::utils::Join(std::get<std::vector<int>>(attr), ", ") + "]";
161 } else if (std::holds_alternative<std::vector<int64_t>>(attr)) {
162 ss << "[" + cinn::utils::Join(std::get<std::vector<int64_t>>(attr), ", ") +
163 "]";
164 } else if (std::holds_alternative<std::vector<float>>(attr)) {
165 ss << "[" + cinn::utils::Join(std::get<std::vector<float>>(attr), ", ") +
166 "]";
167 } else if (std::holds_alternative<std::vector<double>>(attr)) {
168 ss << "[" + cinn::utils::Join(std::get<std::vector<double>>(attr), ", ") +
169 "]";
170 } else if (std::holds_alternative<std::vector<std::string>>(attr)) {
171 auto attrs = std::get<std::vector<std::string>>(attr);
172 for (auto &str : attrs) {
173 str = "\"" + str + "\"";
174 }
175 ss << "[" + cinn::utils::Join(attrs, ", ") + "]";
176 } else {
177 PADDLE_THROW(::common::errors::InvalidArgument(
178 "Unknown attribute data type! Please check."));
179 }
180 return ss.str();
181}
182
183} // namespace utils
184} // namespace cinn

Callers 2

DebugStringFunction · 0.85
CustomCallArgsForMemsetFunction · 0.85

Calls 2

JoinFunction · 0.85
strMethod · 0.45

Tested by

no test coverage detected