ZiyueHuang commented on a change in pull request #8259: check_format of ndrray, 
mainly for csr
URL: https://github.com/apache/incubator-mxnet/pull/8259#discussion_r145035132
 
 

 ##########
 File path: src/common/utils.h
 ##########
 @@ -43,9 +43,84 @@
 #include <algorithm>
 #include <functional>
 
+#include "../operator/mxnet_op.h"
+#include "../ndarray/ndarray_function.h"
+
 namespace mxnet {
 namespace common {
 
+struct indptr_check {
+  template<typename DType>
+  MSHADOW_XINLINE static void Map(int i, mshadow::default_real_t* out, const 
DType* in,
+                                  const nnvm::dim_t end, const nnvm::dim_t 
idx_size) {
+    if ((in[i+1] < in[i]) || (i == 0 && in[i] != static_cast<DType>(0)) ||
+        (i == end && in[i] < static_cast<DType>(idx_size))) out[0] = 1;
+  }
+};
+
+struct idx_check {
+  template<typename DType>
+  MSHADOW_XINLINE static void Map(int i, mshadow::default_real_t* out,
+                                  const DType* in, const nnvm::dim_t ncols) {
+    if (in[i] >= static_cast<DType>(ncols)) out[0] = 1;
+  }
+};
+
+template<typename xpu>
+void CheckFormatWrapper(const RunContext &rctx, const NDArray *input,
+                        NDArray *cpu_ret, const bool &full_check);
+
+template<typename xpu>
+void CheckFormatImpl(const RunContext &rctx, const NDArray *input,
+                     NDArray *cpu_ret, const bool &full_check) {
 
 Review comment:
   `xpu_ret ` is on the same context with `input`. `cpu_ret` here is used for 
inspecting data (err number) on cpu.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to