1*da0073e9SAndroid Build Coastguard Worker #pragma once 2*da0073e9SAndroid Build Coastguard Worker #include <c10/util/Exception.h> 3*da0073e9SAndroid Build Coastguard Worker #include <c10/util/string_view.h> 4*da0073e9SAndroid Build Coastguard Worker 5*da0073e9SAndroid Build Coastguard Worker namespace at { 6*da0073e9SAndroid Build Coastguard Worker 7*da0073e9SAndroid Build Coastguard Worker enum class padding_mode { 8*da0073e9SAndroid Build Coastguard Worker reflect, 9*da0073e9SAndroid Build Coastguard Worker replicate, 10*da0073e9SAndroid Build Coastguard Worker circular, 11*da0073e9SAndroid Build Coastguard Worker constant, 12*da0073e9SAndroid Build Coastguard Worker }; 13*da0073e9SAndroid Build Coastguard Worker padding_mode_string(padding_mode m)14*da0073e9SAndroid Build Coastguard Workerstatic inline c10::string_view padding_mode_string(padding_mode m) { 15*da0073e9SAndroid Build Coastguard Worker switch (m) { 16*da0073e9SAndroid Build Coastguard Worker case padding_mode::reflect: 17*da0073e9SAndroid Build Coastguard Worker return "reflect"; 18*da0073e9SAndroid Build Coastguard Worker case padding_mode::replicate: 19*da0073e9SAndroid Build Coastguard Worker return "replicate"; 20*da0073e9SAndroid Build Coastguard Worker case padding_mode::circular: 21*da0073e9SAndroid Build Coastguard Worker return "circular"; 22*da0073e9SAndroid Build Coastguard Worker case padding_mode::constant: 23*da0073e9SAndroid Build Coastguard Worker return "constant"; 24*da0073e9SAndroid Build Coastguard Worker } 25*da0073e9SAndroid Build Coastguard Worker TORCH_CHECK(false, "Invalid padding mode (", static_cast<int64_t>(m), ")"); 26*da0073e9SAndroid Build Coastguard Worker } 27*da0073e9SAndroid Build Coastguard Worker 28*da0073e9SAndroid Build Coastguard Worker } // namespace at 29