You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

utils.cpp 1.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * \file src/custom/impl/utils.cpp
  3. * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  4. *
  5. * Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  6. *
  7. * Unless required by applicable law or agreed to in writing,
  8. * software distributed under the License is distributed on an
  9. * "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. */
  11. #include "megbrain/common.h"
  12. #if MGB_CUSTOM_OP
  13. #include <sstream>
  14. #include "megbrain/custom/utils.h"
  15. using namespace mgb;
  16. namespace custom {
  17. void assert_failed_log(
  18. const char* file, int line, const char* func, const char* expr,
  19. const char* msg_fmt, ...) {
  20. std::string msg = ssprintf("`%s' is true at %s:%d: %s", expr, file, line, func);
  21. if (msg_fmt) {
  22. msg_fmt = convert_fmt_str(msg_fmt);
  23. va_list ap;
  24. va_start(ap, msg_fmt);
  25. msg.append("\nextra message: ");
  26. msg.append(svsprintf(msg_fmt, ap));
  27. va_end(ap);
  28. }
  29. printf("%s\n", msg.c_str());
  30. }
  31. UnImpleWarnLog::UnImpleWarnLog(
  32. const std::string& func, const std::string& attr, const std::string& val) {
  33. mgb_log_warn(
  34. "you are using the default custom %s function, the `%s` attribute "
  35. "of all the outputs tensor will be the same with inputs tensor[0]. "
  36. "If there is no input tensor, it will be `%s`",
  37. func.c_str(), attr.c_str(), val.c_str());
  38. }
  39. } // namespace custom
  40. #endif