REQUIRE_TRUE(inRank>0,0,"SCATTER_ADD OP: input should not be scalar !");
if(inRank==1){
REQUIRE_TRUE(indices->isSameShape(updates),0,"SCATTER_ADD OP: when input array has rank = 1 then indices and updates must have the same shapes, but got %s and %s correspondingly !",ShapeUtils::shapeAsString(indices).c_str(),ShapeUtils::shapeAsString(updates).c_str());
REQUIRE_TRUE(expectedUpdShape==updShape,0,"SCATTER_ADD OP: wrong shape of updates array, expected is %s, but got %s instead !",ShapeUtils::shapeAsString(expectedUpdShape).c_str(),ShapeUtils::shapeAsString(updShape).c_str());
}
else{
REQUIRE_TRUE(updRank==indRank+inRank-1,0,"SCATTER_ADD OP: wrong rank of updates array, expected is %i, but got %i instead !",indRank+inRank-1,updRank);
REQUIRE_TRUE(expectedUpdShape==updShape,0,"SCATTER_ADD OP: wrong shape of updates array, expected is %s, but got %s instead !",ShapeUtils::shapeAsString(expectedUpdShape).c_str(),ShapeUtils::shapeAsString(updShape).c_str());