1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2022 Google LLC 2*4bdc9457SAndroid Build Coastguard Worker // 3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the 4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree. 5*4bdc9457SAndroid Build Coastguard Worker 6*4bdc9457SAndroid Build Coastguard Worker #pragma once 7*4bdc9457SAndroid Build Coastguard Worker 8*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack.h> 9*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/subgraph.h> 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 12*4bdc9457SAndroid Build Coastguard Worker extern "C" { 13*4bdc9457SAndroid Build Coastguard Worker #endif 14*4bdc9457SAndroid Build Coastguard Worker 15*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_xnnpack_initialized(enum xnn_node_type node_type); 16*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_input_node_id(enum xnn_node_type node_type, uint32_t input_id, size_t num_values); 17*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_nth_input_node_id( 18*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 19*4bdc9457SAndroid Build Coastguard Worker uint32_t input_id, 20*4bdc9457SAndroid Build Coastguard Worker size_t num_values, 21*4bdc9457SAndroid Build Coastguard Worker size_t nth); 22*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_input_type_dense( 23*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 24*4bdc9457SAndroid Build Coastguard Worker uint32_t input_id, 25*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* input_value); 26*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_nth_input_type_dense( 27*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 28*4bdc9457SAndroid Build Coastguard Worker uint32_t input_id, 29*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* input_value, 30*4bdc9457SAndroid Build Coastguard Worker size_t nth); 31*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_output_node_id(enum xnn_node_type node_type, uint32_t output_id, size_t num_values); 32*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_output_type_dense( 33*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 34*4bdc9457SAndroid Build Coastguard Worker uint32_t output_id, 35*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* output_value); 36*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_datatype_matches( 37*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 38*4bdc9457SAndroid Build Coastguard Worker uint32_t input_id, 39*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* input_value, 40*4bdc9457SAndroid Build Coastguard Worker uint32_t output_id, 41*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* output_value); 42*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_datatype_matches_two_inputs( 43*4bdc9457SAndroid Build Coastguard Worker enum xnn_node_type node_type, 44*4bdc9457SAndroid Build Coastguard Worker uint32_t input1_id, 45*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* input1_value, 46*4bdc9457SAndroid Build Coastguard Worker uint32_t input2_id, 47*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* input2_value, 48*4bdc9457SAndroid Build Coastguard Worker uint32_t output_id, 49*4bdc9457SAndroid Build Coastguard Worker const struct xnn_value* output_value); 50*4bdc9457SAndroid Build Coastguard Worker enum xnn_status xnn_subgraph_check_output_min_max(enum xnn_node_type node_type, float output_min, float output_max); 51*4bdc9457SAndroid Build Coastguard Worker 52*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 53*4bdc9457SAndroid Build Coastguard Worker } // extern "C" 54*4bdc9457SAndroid Build Coastguard Worker #endif 55