### broadcasting rule ncnn BinaryOp accepts blobs with different shape C = BinaryOp(A, B) shape notation convention is [w], [w,h], [w,h,c], [w,h,d,c] |type|A|B|C| |---|---|---|---| |1|[1]|scalar|[1]| |2|[1]|[2]|[2]| |3|[1]|[2,3]|[2,3]| |4|[1]|[2,3,4]|[2,3,4]| |5|[2]|scalar|[2]| |6|[2]|[1]|[2]| |7|[2]|[2]|[2]| |8|[3]|[2,3]|[2,3]| |9|[4]|[2,3,4]|[2,3,4]| |10|[2,3]|scalar|[2,3]| |11|[2,3]|[1]|[2,3]| |12|[2,3]|[3]|[2,3]| |13|[2,3]|[2,3]|[2,3]| |14|[3,4]|[2,3,4]|[2,3,4]| |15|[2,3,4]|scalar|[2,3,4]| |16|[2,3,4]|[1]|[2,3,4]| |17|[2,3,4]|[4]|[2,3,4]| |18|[2,3,4]|[3,4]|[2,3,4]| |19|[2,3,4]|[2,3,4]|[2,3,4]| |20|[1]|[2,3,4,5]|[2,3,4,5]| |21|[5]|[2,3,4,5]|[2,3,4,5]| |22|[4,5]|[2,3,4,5]|[2,3,4,5]| |23|[3,4,5]|[2,3,4,5]|[2,3,4,5]| |24|[2,3,4,5]|scalar|[2,3,4,5]| |25|[2,3,4,5]|[1]|[2,3,4,5]| |26|[2,3,4,5]|[5]|[2,3,4,5]| |27|[2,3,4,5]|[4,5]|[2,3,4,5]| |28|[2,3,4,5]|[3,4,5]|[2,3,4,5]| |29|[2,3,4,5]|[2,3,4,5]|[2,3,4,5]| some special broadcasting rule exists for model compatibility |special type|A|B|C| |---|---|---|---| |1|[2,3,4]|[1,1,4]|[2,3,4]| |2|[2,3,4]|[2,3,1]|[2,3,4]| |3|[1,1,4]|[2,3,4]|[2,3,4]| |4|[2,3,1]|[2,3,4]|[2,3,4]| |5|[2,3,4]|[1,3,4]|[2,3,4]| |6|[2,3,4]|[2,1,4]|[2,3,4]| |7|[1,3,4]|[2,3,4]|[2,3,4]| |8|[2,1,4]|[2,3,4]|[2,3,4]|