react-native-executorch 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +1 -0
- package/android/src/main/cpp/CMakeLists.txt +25 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +1 -13
- package/common/rnexecutorch/RnExecutorchInstaller.cpp +52 -18
- package/common/rnexecutorch/RnExecutorchInstaller.h +0 -25
- package/common/rnexecutorch/TokenizerModule.cpp +1 -1
- package/common/rnexecutorch/TokenizerModule.h +4 -1
- package/common/rnexecutorch/data_processing/FileUtils.h +2 -2
- package/common/rnexecutorch/data_processing/ImageProcessing.cpp +5 -5
- package/common/rnexecutorch/data_processing/ImageProcessing.h +2 -2
- package/common/rnexecutorch/data_processing/Numerical.cpp +13 -0
- package/common/rnexecutorch/host_objects/JsiConversions.h +43 -62
- package/common/rnexecutorch/host_objects/ModelHostObject.h +43 -24
- package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +8 -6
- package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +1 -1
- package/common/rnexecutorch/models/BaseModel.cpp +2 -2
- package/common/rnexecutorch/models/BaseModel.h +5 -0
- package/common/rnexecutorch/models/EncoderDecoderBase.cpp +2 -2
- package/common/rnexecutorch/models/EncoderDecoderBase.h +2 -2
- package/common/rnexecutorch/models/classification/Classification.cpp +6 -6
- package/common/rnexecutorch/models/classification/Classification.h +5 -0
- package/common/rnexecutorch/models/classification/Constants.h +3 -3
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +2 -2
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +2 -2
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +3 -3
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +5 -0
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +2 -2
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +6 -1
- package/common/rnexecutorch/models/image_segmentation/Constants.h +3 -3
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -5
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +8 -1
- package/common/rnexecutorch/models/llm/LLM.cpp +58 -0
- package/common/rnexecutorch/models/llm/LLM.h +35 -0
- package/common/rnexecutorch/models/object_detection/Constants.h +3 -3
- package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +8 -8
- package/common/rnexecutorch/models/object_detection/ObjectDetection.h +11 -5
- package/common/rnexecutorch/models/object_detection/Types.h +13 -0
- package/common/rnexecutorch/models/object_detection/Utils.cpp +13 -11
- package/common/rnexecutorch/models/object_detection/Utils.h +7 -13
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +2 -2
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +2 -2
- package/common/rnexecutorch/models/ocr/Constants.h +33 -26
- package/common/rnexecutorch/models/ocr/Detector.cpp +20 -22
- package/common/rnexecutorch/models/ocr/Detector.h +4 -4
- package/common/rnexecutorch/models/ocr/OCR.cpp +9 -8
- package/common/rnexecutorch/models/ocr/OCR.h +11 -3
- package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +20 -19
- package/common/rnexecutorch/models/ocr/RecognitionHandler.h +9 -7
- package/common/rnexecutorch/models/ocr/Recognizer.cpp +7 -7
- package/common/rnexecutorch/models/ocr/Recognizer.h +2 -2
- package/common/rnexecutorch/models/ocr/Types.h +4 -6
- package/common/rnexecutorch/models/ocr/{DetectorUtils.cpp → utils/DetectorUtils.cpp} +70 -63
- package/common/rnexecutorch/models/ocr/{DetectorUtils.h → utils/DetectorUtils.h} +12 -11
- package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.cpp → utils/RecognitionHandlerUtils.cpp} +14 -11
- package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.h → utils/RecognitionHandlerUtils.h} +5 -5
- package/common/rnexecutorch/models/ocr/{RecognizerUtils.cpp → utils/RecognizerUtils.cpp} +28 -26
- package/common/rnexecutorch/models/ocr/{RecognizerUtils.h → utils/RecognizerUtils.h} +15 -14
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +2 -2
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +9 -2
- package/common/rnexecutorch/models/speech_to_text/SpeechToTextStrategy.h +2 -2
- package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.cpp +2 -2
- package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.h +2 -2
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +5 -5
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +6 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +23 -22
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +4 -4
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +34 -34
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +27 -20
- package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.cpp +3 -2
- package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.h +3 -2
- package/ios/libs/executorch/libbackend_coreml_ios.a +0 -0
- package/ios/libs/executorch/libbackend_coreml_simulator.a +0 -0
- package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64 → ios/libs/executorch}/libbackend_mps_ios.a +0 -0
- package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64-simulator → ios/libs/executorch}/libbackend_mps_simulator.a +0 -0
- package/ios/libs/executorch/libbackend_xnnpack_ios.a +0 -0
- package/ios/libs/executorch/libbackend_xnnpack_simulator.a +0 -0
- package/ios/libs/executorch/libexecutorch_ios.a +0 -0
- package/ios/libs/executorch/libexecutorch_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_custom_ios.a +0 -0
- package/ios/libs/executorch/libkernels_custom_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_optimized_ios.a +0 -0
- package/ios/libs/executorch/libkernels_optimized_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_portable_ios.a +0 -0
- package/ios/libs/executorch/libkernels_portable_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_quantized_ios.a +0 -0
- package/ios/libs/executorch/libkernels_quantized_simulator.a +0 -0
- package/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
- package/ios/{ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
- package/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
- package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
- package/ios/{ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a} +0 -0
- package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
- package/lib/Error.js +9 -6
- package/lib/ThreadPool.d.ts +10 -0
- package/lib/ThreadPool.js +28 -0
- package/lib/constants/modelUrls.js +1 -1
- package/lib/controllers/OCRController.js +9 -14
- package/lib/controllers/VerticalOCRController.js +9 -14
- package/lib/hooks/computer_vision/useOCR.js +7 -8
- package/lib/hooks/computer_vision/useVerticalOCR.js +3 -5
- package/lib/index.d.ts +0 -2
- package/lib/index.js +1 -3
- package/lib/module/controllers/LLMController.js +6 -10
- package/lib/module/controllers/LLMController.js.map +1 -1
- package/lib/module/hooks/computer_vision/useClassification.js +2 -2
- package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js +2 -2
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -1
- package/lib/module/hooks/computer_vision/useImageSegmentation.js +2 -2
- package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -1
- package/lib/module/hooks/computer_vision/useObjectDetection.js +2 -2
- package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
- package/lib/module/hooks/computer_vision/useStyleTransfer.js +2 -2
- package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
- package/lib/module/hooks/general/useExecutorchModule.js +2 -2
- package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -2
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
- package/lib/module/hooks/useModule.js +13 -9
- package/lib/module/hooks/useModule.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/BaseModule.js +9 -17
- package/lib/module/modules/BaseModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ClassificationModule.js +2 -2
- package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +2 -2
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js +2 -2
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js +2 -2
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
- package/lib/module/modules/computer_vision/StyleTransferModule.js +2 -2
- package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
- package/lib/module/modules/general/ExecutorchModule.js +2 -2
- package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +2 -2
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
- package/lib/module/native/RnExecutorchModules.js +1 -2
- package/lib/module/native/RnExecutorchModules.js.map +1 -1
- package/lib/module/utils/SpeechToTextModule/ASR.js +3 -3
- package/lib/module/utils/SpeechToTextModule/ASR.js.map +1 -1
- package/lib/modules/computer_vision/OCRModule.d.ts +4 -5
- package/lib/modules/computer_vision/OCRModule.js +9 -12
- package/lib/modules/computer_vision/VerticalOCRModule.d.ts +4 -5
- package/lib/modules/computer_vision/VerticalOCRModule.js +9 -12
- package/lib/native/RnExecutorchModules.d.ts +5 -1
- package/lib/native/RnExecutorchModules.js +3 -1
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/common.d.ts +1 -0
- package/lib/typescript/controllers/LLMController.d.ts +1 -1
- package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
- package/lib/typescript/hooks/useModule.d.ts +8 -5
- package/lib/typescript/hooks/useModule.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/modules/BaseModule.d.ts +7 -6
- package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
- package/lib/typescript/modules/general/ExecutorchModule.d.ts +2 -2
- package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +2 -2
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
- package/lib/typescript/native/RnExecutorchModules.d.ts +1 -3
- package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
- package/lib/utils/ResourceFetcherUtils.js +0 -1
- package/lib/utils/llm.js +0 -1
- package/package.json +1 -2
- package/react-native-executorch.podspec +47 -44
- package/src/controllers/LLMController.ts +8 -13
- package/src/hooks/computer_vision/useClassification.ts +2 -2
- package/src/hooks/computer_vision/useImageEmbeddings.ts +2 -2
- package/src/hooks/computer_vision/useImageSegmentation.ts +2 -2
- package/src/hooks/computer_vision/useObjectDetection.ts +2 -2
- package/src/hooks/computer_vision/useStyleTransfer.ts +2 -2
- package/src/hooks/general/useExecutorchModule.ts +2 -2
- package/src/hooks/natural_language_processing/useTextEmbeddings.ts +2 -2
- package/src/hooks/useModule.ts +23 -13
- package/src/index.ts +3 -2
- package/src/modules/BaseModule.ts +17 -28
- package/src/modules/computer_vision/ClassificationModule.ts +2 -2
- package/src/modules/computer_vision/ImageEmbeddingsModule.ts +2 -2
- package/src/modules/computer_vision/ImageSegmentationModule.ts +2 -2
- package/src/modules/computer_vision/ObjectDetectionModule.ts +2 -2
- package/src/modules/computer_vision/StyleTransferModule.ts +2 -2
- package/src/modules/general/ExecutorchModule.ts +2 -2
- package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +2 -2
- package/src/native/RnExecutorchModules.ts +1 -5
- package/src/utils/SpeechToTextModule/ASR.ts +4 -4
- package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
- package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
- package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
- package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +26 -0
- package/third-party/include/executorch/extension/threadpool/threadpool.h +94 -0
- package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
- package/ios/ExecutorchLib.xcframework/Info.plist +0 -43
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/ETModel.h +0 -27
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/ETModel.h +0 -27
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
- package/ios/RnExecutorch/LLM.h +0 -5
- package/ios/RnExecutorch/LLM.mm +0 -78
- package/lib/Error.d.ts +0 -30
- package/lib/constants/directories.d.ts +0 -1
- package/lib/constants/ocr/symbols.d.ts +0 -75
- package/lib/controllers/OCRController.d.ts +0 -23
- package/lib/controllers/VerticalOCRController.d.ts +0 -25
- package/lib/hooks/useModule.d.ts +0 -17
- package/lib/module/modules/BaseNonStaticModule.js +0 -17
- package/lib/module/modules/BaseNonStaticModule.js.map +0 -1
- package/lib/module/native/NativeLLM.js +0 -5
- package/lib/module/native/NativeLLM.js.map +0 -1
- package/lib/modules/BaseModule.d.ts +0 -8
- package/lib/modules/BaseNonStaticModule.d.ts +0 -9
- package/lib/native/NativeETInstaller.d.ts +0 -6
- package/lib/native/NativeOCR.d.ts +0 -8
- package/lib/native/NativeVerticalOCR.d.ts +0 -8
- package/lib/types/imageSegmentation.d.ts +0 -24
- package/lib/types/objectDetection.d.ts +0 -104
- package/lib/types/ocr.d.ts +0 -11
- package/lib/typescript/modules/BaseNonStaticModule.d.ts +0 -10
- package/lib/typescript/modules/BaseNonStaticModule.d.ts.map +0 -1
- package/lib/typescript/native/NativeLLM.d.ts +0 -12
- package/lib/typescript/native/NativeLLM.d.ts.map +0 -1
- package/lib/utils/stt.d.ts +0 -1
- package/src/modules/BaseNonStaticModule.ts +0 -26
- package/src/native/NativeLLM.ts +0 -14
- package/third-party/include/tokenizers-cpp/tokenizers_c.h +0 -61
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.h +0 -27
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.mm +0 -249
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.h +0 -14
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.mm +0 -80
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.h +0 -32
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.mm +0 -95
- package/third-party/ios/ExecutorchLib/ExecutorchLib/InputType.h +0 -12
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Utils.hpp +0 -217
- package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.cpp +0 -11
- package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.h +0 -11
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/base64.h +0 -202
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.cpp +0 -313
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.h +0 -57
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.cpp +0 -78
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.h +0 -23
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.cpp +0 -427
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.h +0 -87
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tokenizer.h +0 -76
- package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.pbxproj +0 -683
- package/third-party/ios/ExecutorchLib/build.sh +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64/libbackend_coreml_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64-simulator/libbackend_coreml_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64/libbackend_xnnpack_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64-simulator/libbackend_xnnpack_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/Info.plist +0 -47
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorch.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchError.h +0 -16
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchLog.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchModule.h +0 -286
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchTensor.h +0 -742
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchValue.h +0 -219
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/module/module.h +0 -492
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/interface.h +0 -166
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/array_ref.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/data_loader.h +0 -136
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/defines.h +0 -20
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/error.h +0 -229
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/evalue.h +0 -521
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer.h +0 -565
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/memory_allocator.h +0 -198
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/named_data_map.h +0 -86
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/device.h +0 -70
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/half.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/result.h +0 -258
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/span.h +0 -93
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tag.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_layout.h +0 -79
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/memory_manager.h +0 -113
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method.h +0 -387
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method_meta.h +0 -251
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/program.h +0 -320
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/abort.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/assert.h +0 -119
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/clock.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compiler.h +0 -191
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/log.h +0 -177
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/platform.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/profiler.h +0 -292
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/runtime.h +0 -35
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/system.h +0 -49
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/types.h +0 -24
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/schema/extended_header.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/module.modulemap +0 -5
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/libexecutorch_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorch.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchError.h +0 -16
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchLog.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchModule.h +0 -286
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchTensor.h +0 -742
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchValue.h +0 -219
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/module/module.h +0 -492
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/interface.h +0 -166
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/array_ref.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/data_loader.h +0 -136
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/defines.h +0 -20
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/error.h +0 -229
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/evalue.h +0 -521
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer.h +0 -565
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/memory_allocator.h +0 -198
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/named_data_map.h +0 -86
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/device.h +0 -70
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/half.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/result.h +0 -258
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/span.h +0 -93
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tag.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_layout.h +0 -79
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/memory_manager.h +0 -113
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method.h +0 -387
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method_meta.h +0 -251
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/program.h +0 -320
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/abort.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/assert.h +0 -119
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/clock.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compiler.h +0 -191
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/log.h +0 -177
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/platform.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/profiler.h +0 -292
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/runtime.h +0 -35
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/system.h +0 -49
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/types.h +0 -24
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/schema/extended_header.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/module.modulemap +0 -5
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/libexecutorch_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64/libkernels_custom_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64-simulator/libkernels_custom_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64/libkernels_optimized_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64-simulator/libkernels_optimized_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64/libkernels_portable_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64-simulator/libkernels_portable_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64/libkernels_quantized_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64-simulator/libkernels_quantized_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/bitmap256.h +0 -82
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/filtered_re2.h +0 -111
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/pod_array.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter.h +0 -130
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter_tree.h +0 -139
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prog.h +0 -483
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/re2.h +0 -994
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/regexp.h +0 -692
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/set.h +0 -85
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_array.h +0 -367
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_set.h +0 -241
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/stringpiece.h +0 -205
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_casefold.h +0 -78
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_groups.h +0 -64
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/walker-inl.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Info.plist +0 -26
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/re2 +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/bitmap256.h +0 -82
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/filtered_re2.h +0 -111
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/pod_array.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter.h +0 -130
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter_tree.h +0 -139
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prog.h +0 -483
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/re2.h +0 -994
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/regexp.h +0 -692
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/set.h +0 -85
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_array.h +0 -367
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_set.h +0 -241
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/stringpiece.h +0 -205
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_casefold.h +0 -78
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_groups.h +0 -64
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/walker-inl.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Info.plist +0 -26
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/re2 +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/irunner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/stats.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_token_generator.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/util.h +0 -0
|
@@ -1,1331 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the BSD-style license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @file
|
|
11
|
-
*
|
|
12
|
-
* Forked from
|
|
13
|
-
* https://github.com/pytorch/pytorch/blob/master/c10/core/ScalarType.h
|
|
14
|
-
*
|
|
15
|
-
* See file comment in ../ScalarType.h.
|
|
16
|
-
*
|
|
17
|
-
* This file contains all of the non-critical parts of the original ScalarType.h
|
|
18
|
-
* that are not required for the core ExecuTorch runtime, but may be helpful for
|
|
19
|
-
* code that uses ScalarType.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
#pragma once
|
|
23
|
-
|
|
24
|
-
#include <array>
|
|
25
|
-
#include <cinttypes>
|
|
26
|
-
#include <cstdint>
|
|
27
|
-
#include <limits>
|
|
28
|
-
#include <type_traits>
|
|
29
|
-
|
|
30
|
-
#include <executorch/runtime/platform/assert.h>
|
|
31
|
-
|
|
32
|
-
#ifdef USE_ATEN_LIB
|
|
33
|
-
// Note that a lot of the macros/functions defined in this ScalarTypeUtil.h file
|
|
34
|
-
// are also defined in c10/core/ScalarType.h, which is included via
|
|
35
|
-
// kernel_types.h when building in ATen mode. They tend to use different names
|
|
36
|
-
// and a different namespace, but if there are conflicts they should be resolved
|
|
37
|
-
// here.
|
|
38
|
-
#define ET_FORALL_SCALAR_TYPES AT_FORALL_SCALAR_TYPES_WITH_COMPLEX_AND_QINTS
|
|
39
|
-
#include <c10/core/ScalarType.h>
|
|
40
|
-
namespace executorch {
|
|
41
|
-
namespace aten {
|
|
42
|
-
using ScalarType = at::ScalarType;
|
|
43
|
-
} // namespace aten
|
|
44
|
-
} // namespace executorch
|
|
45
|
-
#else // !USE_ATEN_LIB
|
|
46
|
-
#include <executorch/runtime/core/portable_type/scalar_type.h>
|
|
47
|
-
#include <executorch/runtime/core/portable_type/string_view.h>
|
|
48
|
-
namespace executorch {
|
|
49
|
-
namespace aten {
|
|
50
|
-
using ScalarType = torch::executor::ScalarType;
|
|
51
|
-
using string_view = torch::executor::string_view;
|
|
52
|
-
} // namespace aten
|
|
53
|
-
} // namespace executorch
|
|
54
|
-
#endif // USE_ATEN_LIB
|
|
55
|
-
// DEPRECATED: The executorch::aten:: namespace is deprecated. Use
|
|
56
|
-
// executorch::aten:: instead.
|
|
57
|
-
namespace exec_aten = ::executorch::aten;
|
|
58
|
-
|
|
59
|
-
namespace executorch {
|
|
60
|
-
namespace runtime {
|
|
61
|
-
|
|
62
|
-
#if !defined(USE_ATEN_LIB)
|
|
63
|
-
// Util to figure out if the scalar type if one of the
|
|
64
|
-
// supported floating point types.
|
|
65
|
-
// In aten mode, aten lib already has these utils as part of
|
|
66
|
-
// its vec_base.h
|
|
67
|
-
template <typename T>
|
|
68
|
-
struct is_floating_point
|
|
69
|
-
: std::integral_constant<bool,
|
|
70
|
-
std::is_floating_point<T>::value ||
|
|
71
|
-
std::is_same_v<T, torch::executor::Half> ||
|
|
72
|
-
std::is_same_v<T, torch::executor::BFloat16>> {
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
// Util to figure out if the scalar type is one of the
|
|
76
|
-
// reduced precision floating point types.
|
|
77
|
-
template <typename T>
|
|
78
|
-
struct is_reduced_floating_point
|
|
79
|
-
: std::integral_constant<bool,
|
|
80
|
-
std::is_same_v<T, torch::executor::Half> ||
|
|
81
|
-
std::is_same_v<T, torch::executor::BFloat16>> {
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
template <typename T>
|
|
85
|
-
constexpr bool is_reduced_floating_point_v =
|
|
86
|
-
is_reduced_floating_point<T>::value;
|
|
87
|
-
#endif
|
|
88
|
-
|
|
89
|
-
/// Maps ScalarTypes to C++ types.
|
|
90
|
-
template <::executorch::aten::ScalarType N> struct ScalarTypeToCppType;
|
|
91
|
-
|
|
92
|
-
#define SPECIALIZE_ScalarTypeToCppType(cpp_type, scalar_type) \
|
|
93
|
-
template <> \
|
|
94
|
-
struct ScalarTypeToCppType<::executorch::aten::ScalarType::scalar_type> { \
|
|
95
|
-
using type = cpp_type; \
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
ET_FORALL_SCALAR_TYPES(SPECIALIZE_ScalarTypeToCppType)
|
|
99
|
-
|
|
100
|
-
#undef SPECIALIZE_ScalarTypeToCppType
|
|
101
|
-
|
|
102
|
-
/// Maps C++ types to ScalarTypes.
|
|
103
|
-
template <typename T> struct CppTypeToScalarType;
|
|
104
|
-
|
|
105
|
-
#define SPECIALIZE_CppTypeToScalarType(cpp_type, scalar_type) \
|
|
106
|
-
template <> \
|
|
107
|
-
struct CppTypeToScalarType<cpp_type> \
|
|
108
|
-
: std::integral_constant<::executorch::aten::ScalarType, \
|
|
109
|
-
::executorch::aten::ScalarType::scalar_type> { \
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
ET_FORALL_SCALAR_TYPES(SPECIALIZE_CppTypeToScalarType)
|
|
113
|
-
|
|
114
|
-
#undef SPECIALIZE_CppTypeToScalarType
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
// Macros that iterate across different subsets of ScalarTypes.
|
|
118
|
-
//
|
|
119
|
-
// See ET_FORALL_SCALAR_TYPES in ScalarType.h to iterate across all ScalarType
|
|
120
|
-
// names and types.
|
|
121
|
-
//
|
|
122
|
-
// For all of these macros, the final `_` parameter is the name of another macro
|
|
123
|
-
// that takes two parameters: the name of a C type, and the name of the
|
|
124
|
-
// corresponding ScalarType enumerator.
|
|
125
|
-
//
|
|
126
|
-
// Note that these macros should use fully-qualified namespaces (starting with
|
|
127
|
-
// `::`) to ensure that they can be called safely in any arbitrary namespace.
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
// In this context, "INT" means integer C types, which is why the quantized
|
|
131
|
-
// integer types are not included.
|
|
132
|
-
#define ET_FORALL_INT_TYPES(_) \
|
|
133
|
-
_(uint8_t, Byte) \
|
|
134
|
-
_(int8_t, Char) \
|
|
135
|
-
_(int16_t, Short) \
|
|
136
|
-
_(int32_t, Int) \
|
|
137
|
-
_(int64_t, Long)
|
|
138
|
-
|
|
139
|
-
// Here `ANOTHER_INPUT` should be another variable to be forwarded to a given
|
|
140
|
-
// function.
|
|
141
|
-
#define ET_FORALL_INT_TYPES_WITH(ANOTHER_INPUT, _) \
|
|
142
|
-
_(ANOTHER_INPUT, uint8_t, Byte) \
|
|
143
|
-
_(ANOTHER_INPUT, int8_t, Char) \
|
|
144
|
-
_(ANOTHER_INPUT, int16_t, Short) \
|
|
145
|
-
_(ANOTHER_INPUT, int32_t, Int) \
|
|
146
|
-
_(ANOTHER_INPUT, int64_t, Long)
|
|
147
|
-
|
|
148
|
-
#define ET_FORALL_INT_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
149
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, uint8_t, Byte) \
|
|
150
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int8_t, Char) \
|
|
151
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int16_t, Short) \
|
|
152
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int32_t, Int) \
|
|
153
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int64_t, Long)
|
|
154
|
-
|
|
155
|
-
#define ET_FORALL_INT_TYPES_AND(SCALARTYPE, _) \
|
|
156
|
-
_(uint8_t, Byte) \
|
|
157
|
-
_(int8_t, Char) \
|
|
158
|
-
_(int16_t, Short) \
|
|
159
|
-
_(int32_t, Int) \
|
|
160
|
-
_(int64_t, Long) \
|
|
161
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
162
|
-
::executorch::aten::ScalarType::SCALARTYPE>::type, \
|
|
163
|
-
SCALARTYPE)
|
|
164
|
-
|
|
165
|
-
// In this context, "FLOAT" means float C types, which is why BFloat16 is not
|
|
166
|
-
// included.
|
|
167
|
-
#define ET_FORALL_FLOAT_TYPES(_) \
|
|
168
|
-
_(float, Float) \
|
|
169
|
-
_(double, Double)
|
|
170
|
-
|
|
171
|
-
#define ET_FORALL_FLOAT_TYPES_AND(SCALARTYPE, _) \
|
|
172
|
-
_(float, Float) \
|
|
173
|
-
_(double, Double) \
|
|
174
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
175
|
-
::executorch::aten::ScalarType::SCALARTYPE>::type, \
|
|
176
|
-
SCALARTYPE)
|
|
177
|
-
|
|
178
|
-
#define ET_FORALL_FLOAT_TYPES_AND2(SCALARTYPE1, SCALARTYPE2, _) \
|
|
179
|
-
_(float, Float) \
|
|
180
|
-
_(double, Double) \
|
|
181
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
182
|
-
::executorch::aten::ScalarType::SCALARTYPE1>::type, \
|
|
183
|
-
SCALARTYPE1) \
|
|
184
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
185
|
-
::executorch::aten::ScalarType::SCALARTYPE2>::type, \
|
|
186
|
-
SCALARTYPE2)
|
|
187
|
-
|
|
188
|
-
#define ET_FORALL_FLOATH_TYPES(_) ET_FORALL_FLOAT_TYPES_AND(Half, _)
|
|
189
|
-
|
|
190
|
-
#define ET_FORALL_FLOATHBF16_TYPES(_) \
|
|
191
|
-
ET_FORALL_FLOAT_TYPES_AND2(Half, BFloat16, _)
|
|
192
|
-
|
|
193
|
-
// Here `ANOTHER_INPUT` should be another variable to be forwarded to a given
|
|
194
|
-
// function. Not to be confused with another scalar type as in
|
|
195
|
-
// `ET_FORALL_FLOAT_TYPES_AND`.
|
|
196
|
-
#define ET_FORALL_FLOAT_TYPES_WITH(ANOTHER_INPUT, _) \
|
|
197
|
-
_(ANOTHER_INPUT, float, Float) \
|
|
198
|
-
_(ANOTHER_INPUT, double, Double)
|
|
199
|
-
|
|
200
|
-
#define ET_FORALL_FLOAT_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
201
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, float, Float) \
|
|
202
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, double, Double)
|
|
203
|
-
|
|
204
|
-
#define ET_FORALL_FLOATHBF16_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
205
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, float, Float) \
|
|
206
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, double, Double) \
|
|
207
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, ::executorch::aten::Half, Half) \
|
|
208
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, ::executorch::aten::BFloat16, BFloat16)
|
|
209
|
-
|
|
210
|
-
// In this context, "REAL" means integer/float C types, which is why BFloat16
|
|
211
|
-
// and Half are not included.
|
|
212
|
-
#define ET_FORALL_REAL_TYPES(_) \
|
|
213
|
-
_(uint8_t, Byte) \
|
|
214
|
-
_(int8_t, Char) \
|
|
215
|
-
_(int16_t, Short) \
|
|
216
|
-
_(int32_t, Int) \
|
|
217
|
-
_(int64_t, Long) \
|
|
218
|
-
_(float, Float) \
|
|
219
|
-
_(double, Double)
|
|
220
|
-
|
|
221
|
-
// Here `ANOTHER_INPUT` should be another variable to be forwarded to a given
|
|
222
|
-
// function. Not to be confused with another scalar type as in
|
|
223
|
-
// `ET_FORALL_REAL_TYPES_AND`.
|
|
224
|
-
#define ET_FORALL_REAL_TYPES_WITH(ANOTHER_INPUT, _) \
|
|
225
|
-
_(ANOTHER_INPUT, uint8_t, Byte) \
|
|
226
|
-
_(ANOTHER_INPUT, int8_t, Char) \
|
|
227
|
-
_(ANOTHER_INPUT, int16_t, Short) \
|
|
228
|
-
_(ANOTHER_INPUT, int32_t, Int) \
|
|
229
|
-
_(ANOTHER_INPUT, int64_t, Long) \
|
|
230
|
-
_(ANOTHER_INPUT, float, Float) \
|
|
231
|
-
_(ANOTHER_INPUT, double, Double)
|
|
232
|
-
|
|
233
|
-
#define ET_FORALL_REAL_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
234
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, uint8_t, Byte) \
|
|
235
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int8_t, Char) \
|
|
236
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int16_t, Short) \
|
|
237
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int32_t, Int) \
|
|
238
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int64_t, Long) \
|
|
239
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, float, Float) \
|
|
240
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, double, Double)
|
|
241
|
-
|
|
242
|
-
#define ET_FORALL_REALHBF16_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
243
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, uint8_t, Byte) \
|
|
244
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int8_t, Char) \
|
|
245
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int16_t, Short) \
|
|
246
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int32_t, Int) \
|
|
247
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, int64_t, Long) \
|
|
248
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, float, Float) \
|
|
249
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, double, Double) \
|
|
250
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, ::executorch::aten::Half, Half) \
|
|
251
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, ::executorch::aten::BFloat16, BFloat16)
|
|
252
|
-
|
|
253
|
-
#define ET_FORALL_REALHBBF16_TYPES_WITH2(ANOTHER_INPUT1, ANOTHER_INPUT2, _) \
|
|
254
|
-
ET_FORALL_REALHBF16_TYPES_WITH2(ANOTHER_INPUT2, ANOTHER_INPUT2, _) \
|
|
255
|
-
_(ANOTHER_INPUT1, ANOTHER_INPUT2, bool, Bool)
|
|
256
|
-
|
|
257
|
-
// For macros that take `SCALARTYPEn` parameters, those parameters should be
|
|
258
|
-
// an unquoted/unqualified enumerator name like `Int` or `Float`.
|
|
259
|
-
#define ET_FORALL_REAL_TYPES_AND(SCALARTYPE, _) \
|
|
260
|
-
_(uint8_t, Byte) \
|
|
261
|
-
_(int8_t, Char) \
|
|
262
|
-
_(int16_t, Short) \
|
|
263
|
-
_(int32_t, Int) \
|
|
264
|
-
_(int64_t, Long) \
|
|
265
|
-
_(float, Float) \
|
|
266
|
-
_(double, Double) \
|
|
267
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
268
|
-
::executorch::aten::ScalarType::SCALARTYPE>::type, \
|
|
269
|
-
SCALARTYPE)
|
|
270
|
-
|
|
271
|
-
#define ET_FORALL_REAL_TYPES_AND2(SCALARTYPE1, SCALARTYPE2, _) \
|
|
272
|
-
_(uint8_t, Byte) \
|
|
273
|
-
_(int8_t, Char) \
|
|
274
|
-
_(int16_t, Short) \
|
|
275
|
-
_(int32_t, Int) \
|
|
276
|
-
_(int64_t, Long) \
|
|
277
|
-
_(float, Float) \
|
|
278
|
-
_(double, Double) \
|
|
279
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
280
|
-
::executorch::aten::ScalarType::SCALARTYPE1>::type, \
|
|
281
|
-
SCALARTYPE1) \
|
|
282
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
283
|
-
::executorch::aten::ScalarType::SCALARTYPE2>::type, \
|
|
284
|
-
SCALARTYPE2)
|
|
285
|
-
|
|
286
|
-
#define ET_FORALL_REALH_TYPES(_) ET_FORALL_REAL_TYPES_AND(Half, _)
|
|
287
|
-
|
|
288
|
-
#define ET_FORALL_REALHBF16_TYPES(_) \
|
|
289
|
-
ET_FORALL_REAL_TYPES_AND2(Half, BFloat16, _)
|
|
290
|
-
|
|
291
|
-
#define ET_FORALL_REALHBBF16_TYPES(_) \
|
|
292
|
-
ET_FORALL_REAL_TYPES_AND3(Bool, Half, BFloat16, _)
|
|
293
|
-
|
|
294
|
-
#define ET_FORALL_REAL_TYPES_AND_WITH(SCALARTYPE, ANOTHER_INPUT, _) \
|
|
295
|
-
_(ANOTHER_INPUT, uint8_t, Byte) \
|
|
296
|
-
_(ANOTHER_INPUT, int8_t, Char) \
|
|
297
|
-
_(ANOTHER_INPUT, int16_t, Short) \
|
|
298
|
-
_(ANOTHER_INPUT, int32_t, Int) \
|
|
299
|
-
_(ANOTHER_INPUT, int64_t, Long) \
|
|
300
|
-
_(ANOTHER_INPUT, float, Float) \
|
|
301
|
-
_(ANOTHER_INPUT, double, Double) \
|
|
302
|
-
_(ANOTHER_INPUT, \
|
|
303
|
-
::executorch::runtime::ScalarTypeToCppType< \
|
|
304
|
-
::executorch::aten::ScalarType::SCALARTYPE>::type, \
|
|
305
|
-
SCALARTYPE)
|
|
306
|
-
|
|
307
|
-
#define ET_FORALL_REAL_TYPES_AND2(SCALARTYPE1, SCALARTYPE2, _) \
|
|
308
|
-
_(uint8_t, Byte) \
|
|
309
|
-
_(int8_t, Char) \
|
|
310
|
-
_(int16_t, Short) \
|
|
311
|
-
_(int32_t, Int) \
|
|
312
|
-
_(int64_t, Long) \
|
|
313
|
-
_(float, Float) \
|
|
314
|
-
_(double, Double) \
|
|
315
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
316
|
-
::executorch::aten::ScalarType::SCALARTYPE1>::type, \
|
|
317
|
-
SCALARTYPE1) \
|
|
318
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
319
|
-
::executorch::aten::ScalarType::SCALARTYPE2>::type, \
|
|
320
|
-
SCALARTYPE2)
|
|
321
|
-
|
|
322
|
-
#define ET_FORALL_REAL_TYPES_AND3(SCALARTYPE1, SCALARTYPE2, SCALARTYPE3, _) \
|
|
323
|
-
_(uint8_t, Byte) \
|
|
324
|
-
_(int8_t, Char) \
|
|
325
|
-
_(int16_t, Short) \
|
|
326
|
-
_(int32_t, Int) \
|
|
327
|
-
_(int64_t, Long) \
|
|
328
|
-
_(float, Float) \
|
|
329
|
-
_(double, Double) \
|
|
330
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
331
|
-
::executorch::aten::ScalarType::SCALARTYPE1>::type, \
|
|
332
|
-
SCALARTYPE1) \
|
|
333
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
334
|
-
::executorch::aten::ScalarType::SCALARTYPE2>::type, \
|
|
335
|
-
SCALARTYPE2) \
|
|
336
|
-
_(::executorch::runtime::ScalarTypeToCppType< \
|
|
337
|
-
::executorch::aten::ScalarType::SCALARTYPE3>::type, \
|
|
338
|
-
SCALARTYPE3)
|
|
339
|
-
|
|
340
|
-
#define ET_FORALL_QINT_TYPES(_) \
|
|
341
|
-
_(::torch::executor::qint8, QInt8) \
|
|
342
|
-
_(::torch::executor::quint8, QUInt8) \
|
|
343
|
-
_(::torch::executor::qint32, QInt32) \
|
|
344
|
-
_(::torch::executor::quint4x2, QUInt4x2) \
|
|
345
|
-
_(::torch::executor::quint2x4, QUInt2x4)
|
|
346
|
-
|
|
347
|
-
// In this context, "COMPLEX" means complex types based on primitive C types,
|
|
348
|
-
// which is why ComplexHalf is not included.
|
|
349
|
-
#define ET_FORALL_COMPLEX_TYPES(_) \
|
|
350
|
-
_(::executorch::aten::complex<float>, ComplexFloat) \
|
|
351
|
-
_(::executorch::aten::complex<double>, ComplexDouble)
|
|
352
|
-
|
|
353
|
-
#define ET_FORALL_COMPLEXH_TYPES(_) \
|
|
354
|
-
_(::executorch::aten::complex<::executorch::aten::Half>, ComplexHalf) \
|
|
355
|
-
_(::executorch::aten::complex<float>, ComplexFloat) \
|
|
356
|
-
_(::executorch::aten::complex<double>, ComplexDouble)
|
|
357
|
-
|
|
358
|
-
//
|
|
359
|
-
// Utility functions to retrieve metadata for a given ScalarType
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Returns true if the parameter is one of the values covered by
|
|
364
|
-
* ET_FORALL_SCALAR_TYPES.
|
|
365
|
-
*/
|
|
366
|
-
inline bool isValid(::executorch::aten::ScalarType type) {
|
|
367
|
-
return static_cast<int8_t>(type) >= 0 &&
|
|
368
|
-
type < ::executorch::aten::ScalarType::NumOptions &&
|
|
369
|
-
type != ::executorch::aten::ScalarType::Undefined;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Returns the name of a ScalarType as a C string.
|
|
374
|
-
*
|
|
375
|
-
* @param[in] t The type to get the name of.
|
|
376
|
-
* @return The name of the type, or "UNKNOWN_SCALAR" if the type is not known.
|
|
377
|
-
*/
|
|
378
|
-
inline const char *toString(::executorch::aten::ScalarType t) {
|
|
379
|
-
#define DEFINE_CASE(_, name) \
|
|
380
|
-
case ::executorch::aten::ScalarType::name: \
|
|
381
|
-
return #name;
|
|
382
|
-
|
|
383
|
-
switch (t) {
|
|
384
|
-
ET_FORALL_SCALAR_TYPES(DEFINE_CASE)
|
|
385
|
-
case ::executorch::aten::ScalarType::Undefined:
|
|
386
|
-
return "Undefined";
|
|
387
|
-
default:
|
|
388
|
-
return "UNKNOWN_SCALAR";
|
|
389
|
-
}
|
|
390
|
-
#undef DEFINE_CASE
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
/**
|
|
394
|
-
* Returns the size in bytes of the C type associated with the ScalarType.
|
|
395
|
-
*
|
|
396
|
-
* Calls ET_CHECK_MSG() if the type is unknown or is ScalarType::Undefined.
|
|
397
|
-
*
|
|
398
|
-
* @param[in] t The type to get the underlying C type size of.
|
|
399
|
-
* @return The size of the associated C type in bytes.
|
|
400
|
-
*/
|
|
401
|
-
inline size_t elementSize(::executorch::aten::ScalarType t) {
|
|
402
|
-
#define CASE_ELEMENTSIZE_CASE(ctype, name) \
|
|
403
|
-
case ::executorch::aten::ScalarType::name: \
|
|
404
|
-
return sizeof(ctype);
|
|
405
|
-
|
|
406
|
-
switch (t) {
|
|
407
|
-
ET_FORALL_SCALAR_TYPES(CASE_ELEMENTSIZE_CASE)
|
|
408
|
-
default:
|
|
409
|
-
ET_CHECK_MSG(false, "Unknown ScalarType %" PRId8, static_cast<int8_t>(t));
|
|
410
|
-
}
|
|
411
|
-
#undef CASE_ELEMENTSIZE_CASE
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
inline constexpr bool isIntegralType(::executorch::aten::ScalarType t,
|
|
415
|
-
bool includeBool) {
|
|
416
|
-
return (includeBool && t == ::executorch::aten::ScalarType::Bool) ||
|
|
417
|
-
(t == ::executorch::aten::ScalarType::Byte ||
|
|
418
|
-
t == ::executorch::aten::ScalarType::Char ||
|
|
419
|
-
t == ::executorch::aten::ScalarType::Int ||
|
|
420
|
-
t == ::executorch::aten::ScalarType::Long ||
|
|
421
|
-
t == ::executorch::aten::ScalarType::Short);
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
template <typename T, bool includeBool>
|
|
425
|
-
struct is_integral_type
|
|
426
|
-
: public std::integral_constant<
|
|
427
|
-
bool, isIntegralType(CppTypeToScalarType<T>::value, includeBool)> {};
|
|
428
|
-
|
|
429
|
-
inline constexpr bool isFloatingType(::executorch::aten::ScalarType t) {
|
|
430
|
-
return (t == ::executorch::aten::ScalarType::Double ||
|
|
431
|
-
t == ::executorch::aten::ScalarType::Float ||
|
|
432
|
-
t == ::executorch::aten::ScalarType::Half ||
|
|
433
|
-
t == ::executorch::aten::ScalarType::BFloat16);
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
inline bool isRealType(::executorch::aten::ScalarType t) {
|
|
437
|
-
return (t == ::executorch::aten::ScalarType::Byte ||
|
|
438
|
-
t == ::executorch::aten::ScalarType::Char ||
|
|
439
|
-
t == ::executorch::aten::ScalarType::Short ||
|
|
440
|
-
t == ::executorch::aten::ScalarType::Int ||
|
|
441
|
-
t == ::executorch::aten::ScalarType::Long ||
|
|
442
|
-
t == ::executorch::aten::ScalarType::Float ||
|
|
443
|
-
t == ::executorch::aten::ScalarType::Double);
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
inline bool isRealHType(::executorch::aten::ScalarType t) {
|
|
447
|
-
return (t == ::executorch::aten::ScalarType::Byte ||
|
|
448
|
-
t == ::executorch::aten::ScalarType::Char ||
|
|
449
|
-
t == ::executorch::aten::ScalarType::Short ||
|
|
450
|
-
t == ::executorch::aten::ScalarType::Int ||
|
|
451
|
-
t == ::executorch::aten::ScalarType::Long ||
|
|
452
|
-
t == ::executorch::aten::ScalarType::Float ||
|
|
453
|
-
t == ::executorch::aten::ScalarType::Double ||
|
|
454
|
-
t == ::executorch::aten::ScalarType::Half);
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
inline bool isRealHBType(::executorch::aten::ScalarType t) {
|
|
458
|
-
return (isRealHType(t) || t == ::executorch::aten::ScalarType::Bool);
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
inline bool isRealHBF16Type(::executorch::aten::ScalarType t) {
|
|
462
|
-
return (isRealHType(t) || t == ::executorch::aten::ScalarType::BFloat16);
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
inline bool isRealHBBF16Type(::executorch::aten::ScalarType t) {
|
|
466
|
-
return (isRealHBType(t) || t == ::executorch::aten::ScalarType::BFloat16);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
inline constexpr bool isComplexType(::executorch::aten::ScalarType t) {
|
|
470
|
-
return (t == ::executorch::aten::ScalarType::ComplexHalf ||
|
|
471
|
-
t == ::executorch::aten::ScalarType::ComplexFloat ||
|
|
472
|
-
t == ::executorch::aten::ScalarType::ComplexDouble);
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
template <typename T>
|
|
476
|
-
struct is_complex_type
|
|
477
|
-
: std::integral_constant<bool,
|
|
478
|
-
isComplexType(CppTypeToScalarType<T>::value)> {};
|
|
479
|
-
|
|
480
|
-
constexpr bool isBitsType(::executorch::aten::ScalarType t) {
|
|
481
|
-
return t == ::executorch::aten::ScalarType::Bits1x8 ||
|
|
482
|
-
t == ::executorch::aten::ScalarType::Bits2x4 ||
|
|
483
|
-
t == ::executorch::aten::ScalarType::Bits4x2 ||
|
|
484
|
-
t == ::executorch::aten::ScalarType::Bits8 ||
|
|
485
|
-
t == ::executorch::aten::ScalarType::Bits16;
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
template <typename T>
|
|
489
|
-
struct is_bits_type
|
|
490
|
-
: std::integral_constant<bool, isBitsType(CppTypeToScalarType<T>::value)> {
|
|
491
|
-
};
|
|
492
|
-
|
|
493
|
-
constexpr bool isQIntType(::executorch::aten::ScalarType t) {
|
|
494
|
-
// Don't forget to extend this when adding new QInt types
|
|
495
|
-
return t == ::executorch::aten::ScalarType::QInt8 ||
|
|
496
|
-
t == ::executorch::aten::ScalarType::QUInt8 ||
|
|
497
|
-
t == ::executorch::aten::ScalarType::QInt32 ||
|
|
498
|
-
t == ::executorch::aten::ScalarType::QUInt4x2 ||
|
|
499
|
-
t == ::executorch::aten::ScalarType::QUInt2x4;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
template <typename T>
|
|
503
|
-
struct is_qint_type
|
|
504
|
-
: std::integral_constant<bool, isQIntType(CppTypeToScalarType<T>::value)> {
|
|
505
|
-
};
|
|
506
|
-
|
|
507
|
-
constexpr bool isFloat8Type(::executorch::aten::ScalarType t) {
|
|
508
|
-
// Don't forget to extend this when adding new QInt types
|
|
509
|
-
return t == ::executorch::aten::ScalarType::Float8_e5m2 ||
|
|
510
|
-
t == ::executorch::aten::ScalarType::Float8_e4m3fn ||
|
|
511
|
-
t == ::executorch::aten::ScalarType::Float8_e5m2fnuz ||
|
|
512
|
-
t == ::executorch::aten::ScalarType::Float8_e4m3fnuz;
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
template <typename T>
|
|
516
|
-
struct is_float8_type
|
|
517
|
-
: std::integral_constant<bool,
|
|
518
|
-
isFloat8Type(CppTypeToScalarType<T>::value)> {};
|
|
519
|
-
|
|
520
|
-
constexpr bool isBarebonesUnsignedType(::executorch::aten::ScalarType t) {
|
|
521
|
-
// Don't forget to extend this when adding new QInt types
|
|
522
|
-
return t == ::executorch::aten::ScalarType::UInt16 ||
|
|
523
|
-
t == ::executorch::aten::ScalarType::UInt32 ||
|
|
524
|
-
t == ::executorch::aten::ScalarType::UInt64;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
template <typename T>
|
|
528
|
-
struct is_barebones_unsigned_type
|
|
529
|
-
: std::integral_constant<bool, isBarebonesUnsignedType(
|
|
530
|
-
CppTypeToScalarType<T>::value)> {};
|
|
531
|
-
|
|
532
|
-
inline ::executorch::aten::ScalarType
|
|
533
|
-
toQIntType(::executorch::aten::ScalarType t) {
|
|
534
|
-
switch (t) {
|
|
535
|
-
case ::executorch::aten::ScalarType::Byte:
|
|
536
|
-
return ::executorch::aten::ScalarType::QUInt8;
|
|
537
|
-
case ::executorch::aten::ScalarType::Char:
|
|
538
|
-
return ::executorch::aten::ScalarType::QInt8;
|
|
539
|
-
case ::executorch::aten::ScalarType::Int:
|
|
540
|
-
return ::executorch::aten::ScalarType::QInt32;
|
|
541
|
-
default:
|
|
542
|
-
return t;
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
inline ::executorch::aten::ScalarType
|
|
547
|
-
toUnderlying(::executorch::aten::ScalarType t) {
|
|
548
|
-
switch (t) {
|
|
549
|
-
case ::executorch::aten::ScalarType::QUInt8:
|
|
550
|
-
return ::executorch::aten::ScalarType::Byte;
|
|
551
|
-
case ::executorch::aten::ScalarType::QInt8:
|
|
552
|
-
return ::executorch::aten::ScalarType::Char;
|
|
553
|
-
case ::executorch::aten::ScalarType::QInt32:
|
|
554
|
-
return ::executorch::aten::ScalarType::Int;
|
|
555
|
-
case ::executorch::aten::ScalarType::QUInt4x2:
|
|
556
|
-
return ::executorch::aten::ScalarType::Byte;
|
|
557
|
-
case ::executorch::aten::ScalarType::QUInt2x4:
|
|
558
|
-
return ::executorch::aten::ScalarType::Byte;
|
|
559
|
-
default:
|
|
560
|
-
return t;
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
inline bool isSignedType(::executorch::aten::ScalarType t) {
|
|
565
|
-
ET_CHECK_MSG(!::executorch::runtime::isQIntType(t),
|
|
566
|
-
"isSignedType not supported for quantized types like %" PRId8,
|
|
567
|
-
static_cast<int8_t>(t));
|
|
568
|
-
#define CASE_SIGNED(ctype, name) \
|
|
569
|
-
case ::executorch::aten::ScalarType::name: \
|
|
570
|
-
return std::numeric_limits<ctype>::is_signed;
|
|
571
|
-
|
|
572
|
-
switch (t) {
|
|
573
|
-
case ::executorch::aten::ScalarType::ComplexHalf:
|
|
574
|
-
case ::executorch::aten::ScalarType::ComplexFloat:
|
|
575
|
-
case ::executorch::aten::ScalarType::ComplexDouble:
|
|
576
|
-
return true;
|
|
577
|
-
ET_FORALL_REAL_TYPES_AND3(Half, Bool, BFloat16, CASE_SIGNED)
|
|
578
|
-
default:
|
|
579
|
-
ET_CHECK_MSG(false, "Unknown ScalarType %" PRId8, static_cast<int8_t>(t));
|
|
580
|
-
}
|
|
581
|
-
#undef CASE_SIGNED
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
inline bool isUnderlying(::executorch::aten::ScalarType type,
|
|
585
|
-
::executorch::aten::ScalarType qtype) {
|
|
586
|
-
return type == ::executorch::runtime::toUnderlying(qtype);
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
inline constexpr ::executorch::aten::ScalarType
|
|
590
|
-
toRealValueType(::executorch::aten::ScalarType t) {
|
|
591
|
-
switch (t) {
|
|
592
|
-
case ::executorch::aten::ScalarType::ComplexHalf:
|
|
593
|
-
return ::executorch::aten::ScalarType::Half;
|
|
594
|
-
case ::executorch::aten::ScalarType::ComplexFloat:
|
|
595
|
-
return ::executorch::aten::ScalarType::Float;
|
|
596
|
-
case ::executorch::aten::ScalarType::ComplexDouble:
|
|
597
|
-
return ::executorch::aten::ScalarType::Double;
|
|
598
|
-
default:
|
|
599
|
-
return t;
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
inline constexpr ::executorch::aten::ScalarType
|
|
604
|
-
toComplexType(::executorch::aten::ScalarType t) {
|
|
605
|
-
switch (t) {
|
|
606
|
-
case ::executorch::aten::ScalarType::BFloat16:
|
|
607
|
-
// BFloat16 has range equivalent to Float,
|
|
608
|
-
// so we map it to ComplexFloat.
|
|
609
|
-
return ::executorch::aten::ScalarType::ComplexFloat;
|
|
610
|
-
case ::executorch::aten::ScalarType::Half:
|
|
611
|
-
return ::executorch::aten::ScalarType::ComplexHalf;
|
|
612
|
-
case ::executorch::aten::ScalarType::Float:
|
|
613
|
-
return ::executorch::aten::ScalarType::ComplexFloat;
|
|
614
|
-
case ::executorch::aten::ScalarType::Double:
|
|
615
|
-
return ::executorch::aten::ScalarType::ComplexDouble;
|
|
616
|
-
case ::executorch::aten::ScalarType::ComplexHalf:
|
|
617
|
-
return ::executorch::aten::ScalarType::ComplexHalf;
|
|
618
|
-
case ::executorch::aten::ScalarType::ComplexFloat:
|
|
619
|
-
return ::executorch::aten::ScalarType::ComplexFloat;
|
|
620
|
-
case ::executorch::aten::ScalarType::ComplexDouble:
|
|
621
|
-
return ::executorch::aten::ScalarType::ComplexDouble;
|
|
622
|
-
default:
|
|
623
|
-
ET_CHECK_MSG(false, "Unknown Complex ScalarType for %" PRId8,
|
|
624
|
-
static_cast<int8_t>(t));
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
/**
|
|
629
|
-
* Encodes type casting rules that are consistent with ATen behaviour.
|
|
630
|
-
*/
|
|
631
|
-
inline constexpr bool canCast(const ::executorch::aten::ScalarType from,
|
|
632
|
-
const ::executorch::aten::ScalarType to) {
|
|
633
|
-
// Disallow complex -> non-complex
|
|
634
|
-
return !(::executorch::runtime::isComplexType(from) &&
|
|
635
|
-
!::executorch::runtime::isComplexType(to)) &&
|
|
636
|
-
// Disallow float -> integral
|
|
637
|
-
!(::executorch::runtime::isFloatingType(from) &&
|
|
638
|
-
::executorch::runtime::isIntegralType(to, /*includeBool=*/false)) &&
|
|
639
|
-
// Treat bool as a special category. Disallow non-bool -> bool
|
|
640
|
-
!(from != ::executorch::aten::ScalarType::Bool &&
|
|
641
|
-
to == ::executorch::aten::ScalarType::Bool);
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
template <typename T1, typename T2>
|
|
645
|
-
struct can_cast
|
|
646
|
-
: std::integral_constant<bool, canCast(CppTypeToScalarType<T1>::value,
|
|
647
|
-
CppTypeToScalarType<T2>::value)> {};
|
|
648
|
-
|
|
649
|
-
/**
|
|
650
|
-
* When casting from floating point to integral type, if the floating value is
|
|
651
|
-
* outside the integral type range, then an error is thrown if sanitization is
|
|
652
|
-
* enabled. To circumvent this, we cast the floating point to int64_t first.
|
|
653
|
-
*/
|
|
654
|
-
template <typename To, typename From,
|
|
655
|
-
std::enable_if_t<(std::is_floating_point<From>::value &&
|
|
656
|
-
std::is_integral<To>::value),
|
|
657
|
-
int> = 0>
|
|
658
|
-
To convert(From val) {
|
|
659
|
-
return static_cast<To>(static_cast<int64_t>(val));
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
template <typename To, typename From,
|
|
663
|
-
std::enable_if_t<!(std::is_floating_point<From>::value &&
|
|
664
|
-
std::is_integral<To>::value),
|
|
665
|
-
int> = 0>
|
|
666
|
-
To convert(From val) {
|
|
667
|
-
return static_cast<To>(val);
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
namespace internal {
|
|
671
|
-
// This is generated according to NumPy's promote_types
|
|
672
|
-
inline constexpr auto u1 = ::executorch::aten::ScalarType::Byte;
|
|
673
|
-
inline constexpr auto i1 = ::executorch::aten::ScalarType::Char;
|
|
674
|
-
inline constexpr auto i2 = ::executorch::aten::ScalarType::Short;
|
|
675
|
-
inline constexpr auto i4 = ::executorch::aten::ScalarType::Int;
|
|
676
|
-
inline constexpr auto i8 = ::executorch::aten::ScalarType::Long;
|
|
677
|
-
inline constexpr auto f2 = ::executorch::aten::ScalarType::Half;
|
|
678
|
-
inline constexpr auto f4 = ::executorch::aten::ScalarType::Float;
|
|
679
|
-
inline constexpr auto f8 = ::executorch::aten::ScalarType::Double;
|
|
680
|
-
inline constexpr auto c2 = ::executorch::aten::ScalarType::ComplexHalf;
|
|
681
|
-
inline constexpr auto c4 = ::executorch::aten::ScalarType::ComplexFloat;
|
|
682
|
-
inline constexpr auto c8 = ::executorch::aten::ScalarType::ComplexDouble;
|
|
683
|
-
inline constexpr auto b1 = ::executorch::aten::ScalarType::Bool;
|
|
684
|
-
inline constexpr auto bf = ::executorch::aten::ScalarType::BFloat16;
|
|
685
|
-
|
|
686
|
-
using U1 =
|
|
687
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Byte>::type;
|
|
688
|
-
using I1 =
|
|
689
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Char>::type;
|
|
690
|
-
using I2 =
|
|
691
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Short>::type;
|
|
692
|
-
using I4 =
|
|
693
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Int>::type;
|
|
694
|
-
using I8 =
|
|
695
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Long>::type;
|
|
696
|
-
using F2 =
|
|
697
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Half>::type;
|
|
698
|
-
using F4 =
|
|
699
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Float>::type;
|
|
700
|
-
using F8 =
|
|
701
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Double>::type;
|
|
702
|
-
using C2 = typename ScalarTypeToCppType<
|
|
703
|
-
::executorch::aten::ScalarType::ComplexHalf>::type;
|
|
704
|
-
using C4 = typename ScalarTypeToCppType<
|
|
705
|
-
::executorch::aten::ScalarType::ComplexFloat>::type;
|
|
706
|
-
using C8 = typename ScalarTypeToCppType<
|
|
707
|
-
::executorch::aten::ScalarType::ComplexDouble>::type;
|
|
708
|
-
using B1 =
|
|
709
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Bool>::type;
|
|
710
|
-
using BF = typename ScalarTypeToCppType<
|
|
711
|
-
::executorch::aten::ScalarType::BFloat16>::type;
|
|
712
|
-
|
|
713
|
-
inline constexpr std::array<::executorch::aten::ScalarType, 13> index2dtype = {
|
|
714
|
-
{u1, i1, i2, i4, i8, f2, f4, f8, c2, c4, c8, b1, bf}};
|
|
715
|
-
|
|
716
|
-
constexpr std::array<
|
|
717
|
-
int64_t, static_cast<size_t>(::executorch::aten::ScalarType::NumOptions)>
|
|
718
|
-
calculate_dtype2index() {
|
|
719
|
-
std::array<int64_t,
|
|
720
|
-
static_cast<size_t>(::executorch::aten::ScalarType::NumOptions)>
|
|
721
|
-
inverse = {};
|
|
722
|
-
for (int64_t i = 0;
|
|
723
|
-
i < static_cast<int64_t>(::executorch::aten::ScalarType::NumOptions);
|
|
724
|
-
i++) {
|
|
725
|
-
inverse[i] = -1;
|
|
726
|
-
}
|
|
727
|
-
for (int64_t i = 0; i < static_cast<int64_t>(index2dtype.size()); i++) {
|
|
728
|
-
inverse[static_cast<int64_t>(index2dtype[i])] = i;
|
|
729
|
-
}
|
|
730
|
-
return inverse;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
inline constexpr auto dtype2index = calculate_dtype2index();
|
|
734
|
-
inline constexpr int NUM_PROMOTE_TYPES = 13;
|
|
735
|
-
// Should match _promoteTypesLookup in c10/core/ScalarType.cpp so that
|
|
736
|
-
// we match PyTorch core type promotion semantics.
|
|
737
|
-
inline constexpr ::executorch::aten::ScalarType
|
|
738
|
-
promoteTypesLookup[NUM_PROMOTE_TYPES][NUM_PROMOTE_TYPES] = {
|
|
739
|
-
/* u1 i1 i2 i4 i8 f2 f4 f8 c2 c4 c8 b1 bf*/
|
|
740
|
-
/* u1 */ {u1, i2, i2, i4, i8, f2, f4, f8, c2, c4, c8, u1, bf},
|
|
741
|
-
/* i1 */ {i2, i1, i2, i4, i8, f2, f4, f8, c2, c4, c8, i1, bf},
|
|
742
|
-
/* i2 */ {i2, i2, i2, i4, i8, f2, f4, f8, c2, c4, c8, i2, bf},
|
|
743
|
-
/* i4 */ {i4, i4, i4, i4, i8, f2, f4, f8, c2, c4, c8, i4, bf},
|
|
744
|
-
/* i8 */ {i8, i8, i8, i8, i8, f2, f4, f8, c2, c4, c8, i8, bf},
|
|
745
|
-
/* f2 */ {f2, f2, f2, f2, f2, f2, f4, f8, c2, c4, c8, f2, f4},
|
|
746
|
-
/* f4 */ {f4, f4, f4, f4, f4, f4, f4, f8, c4, c4, c8, f4, f4},
|
|
747
|
-
/* f8 */ {f8, f8, f8, f8, f8, f8, f8, f8, c8, c8, c8, f8, f8},
|
|
748
|
-
/* c2 */ {c2, c2, c2, c2, c2, c2, c4, c8, c2, c4, c8, c2, c4},
|
|
749
|
-
/* c4 */ {c4, c4, c4, c4, c4, c4, c4, c8, c4, c4, c8, c4, c4},
|
|
750
|
-
/* c8 */ {c8, c8, c8, c8, c8, c8, c8, c8, c8, c8, c8, c8, c8},
|
|
751
|
-
/* b1 */ {u1, i1, i2, i4, i8, f2, f4, f8, c2, c4, c8, b1, bf},
|
|
752
|
-
/* bf */ {bf, bf, bf, bf, bf, f4, f4, f8, c4, c4, c8, bf, bf},
|
|
753
|
-
};
|
|
754
|
-
|
|
755
|
-
} // namespace internal
|
|
756
|
-
|
|
757
|
-
/**
|
|
758
|
-
* Implements type promotion rules that are consistent with ATen behaviour,
|
|
759
|
-
* which in turn is consistent with NumPy's promote_types.
|
|
760
|
-
* If half_to_float is set to true, then half and bfloat16 will be promoted to
|
|
761
|
-
* float instead
|
|
762
|
-
*/
|
|
763
|
-
inline constexpr ::executorch::aten::ScalarType
|
|
764
|
-
promoteTypes(::executorch::aten::ScalarType a, ::executorch::aten::ScalarType b,
|
|
765
|
-
bool half_to_float = false) {
|
|
766
|
-
// For QInt types, only allow exact match
|
|
767
|
-
if (::executorch::runtime::isQIntType(a) && a == b) {
|
|
768
|
-
return a;
|
|
769
|
-
}
|
|
770
|
-
if (::executorch::runtime::isQIntType(a) ||
|
|
771
|
-
::executorch::runtime::isQIntType(b)) {
|
|
772
|
-
ET_CHECK_MSG(false, "promoteTypes not valid for quantized dtypes");
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
// For Bits types, only allow exact match
|
|
776
|
-
if (::executorch::runtime::isBitsType(a) && a == b) {
|
|
777
|
-
return a;
|
|
778
|
-
}
|
|
779
|
-
if (::executorch::runtime::isBitsType(a) ||
|
|
780
|
-
::executorch::runtime::isBitsType(b)) {
|
|
781
|
-
ET_CHECK_MSG(false, "promoteTypes not valid for bits dtypes");
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
// For Float8 types, only allow exact match
|
|
785
|
-
if (::executorch::runtime::isFloat8Type(a) && a == b) {
|
|
786
|
-
return a;
|
|
787
|
-
}
|
|
788
|
-
if (::executorch::runtime::isFloat8Type(a) ||
|
|
789
|
-
::executorch::runtime::isFloat8Type(b)) {
|
|
790
|
-
ET_CHECK_MSG(false, "promoteTypes not valid for float8 dtypes");
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
// For barebones uint types, only allow exact match
|
|
794
|
-
if (::executorch::runtime::isBarebonesUnsignedType(a) && a == b) {
|
|
795
|
-
return a;
|
|
796
|
-
}
|
|
797
|
-
if (::executorch::runtime::isBarebonesUnsignedType(a) ||
|
|
798
|
-
::executorch::runtime::isBarebonesUnsignedType(b)) {
|
|
799
|
-
ET_CHECK_MSG(false, "promoteTypes not valid for barebone unsigned dtypes");
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
auto ix_a = ::executorch::runtime::internal::dtype2index[(int)a];
|
|
803
|
-
ET_CHECK(ix_a != -1);
|
|
804
|
-
auto ix_b = ::executorch::runtime::internal::dtype2index[(int)b];
|
|
805
|
-
ET_CHECK(ix_b != -1);
|
|
806
|
-
::executorch::aten::ScalarType promoted_type =
|
|
807
|
-
::executorch::runtime::internal::promoteTypesLookup[ix_a][ix_b];
|
|
808
|
-
|
|
809
|
-
if (half_to_float &&
|
|
810
|
-
(promoted_type == ::executorch::aten::ScalarType::Half ||
|
|
811
|
-
promoted_type == ::executorch::aten::ScalarType::BFloat16)) {
|
|
812
|
-
promoted_type = ::executorch::aten::ScalarType::Float;
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return promoted_type;
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
template <typename T1, typename T2, bool half_to_float = false>
|
|
819
|
-
struct promote_types {
|
|
820
|
-
private:
|
|
821
|
-
static_assert(std::is_same_v<T1, T2> ||
|
|
822
|
-
(!is_qint_type<T1>::value && !is_qint_type<T2>::value),
|
|
823
|
-
"promote_types not valid for quantized dtypes");
|
|
824
|
-
static_assert(std::is_same_v<T1, T2> ||
|
|
825
|
-
(!is_bits_type<T1>::value && !is_bits_type<T2>::value),
|
|
826
|
-
"promote_types not valid for bits dtypes");
|
|
827
|
-
static_assert(std::is_same_v<T1, T2> ||
|
|
828
|
-
(!is_float8_type<T1>::value && !is_float8_type<T2>::value),
|
|
829
|
-
"promote_types not valid for float8 dtypes");
|
|
830
|
-
static_assert(std::is_same_v<T1, T2> ||
|
|
831
|
-
(!is_barebones_unsigned_type<T1>::value &&
|
|
832
|
-
!is_barebones_unsigned_type<T2>::value),
|
|
833
|
-
"promote_types not valid for barebones unsigned dtypes");
|
|
834
|
-
|
|
835
|
-
using promoted_type_not_respecting_half_to_float =
|
|
836
|
-
typename ScalarTypeToCppType<promoteTypes(
|
|
837
|
-
CppTypeToScalarType<T1>::value,
|
|
838
|
-
CppTypeToScalarType<T2>::value)>::type;
|
|
839
|
-
|
|
840
|
-
public:
|
|
841
|
-
using type = std::conditional_t<
|
|
842
|
-
half_to_float &&
|
|
843
|
-
(std::is_same_v<promoted_type_not_respecting_half_to_float,
|
|
844
|
-
typename ScalarTypeToCppType<
|
|
845
|
-
::executorch::aten::ScalarType::Half>::type> ||
|
|
846
|
-
std::is_same_v<promoted_type_not_respecting_half_to_float,
|
|
847
|
-
typename ScalarTypeToCppType<
|
|
848
|
-
::executorch::aten::ScalarType::BFloat16>::type>),
|
|
849
|
-
typename ScalarTypeToCppType<::executorch::aten::ScalarType::Float>::type,
|
|
850
|
-
promoted_type_not_respecting_half_to_float>;
|
|
851
|
-
};
|
|
852
|
-
|
|
853
|
-
//
|
|
854
|
-
// Helper macros for switch case macros (see below)
|
|
855
|
-
//
|
|
856
|
-
// These macros are not meant to be used directly. They provide an easy way to
|
|
857
|
-
// generate a switch statement that can handle subsets of ScalarTypes supported
|
|
858
|
-
// by ExecuTorch.
|
|
859
|
-
//
|
|
860
|
-
|
|
861
|
-
#ifdef ET_INTERNAL_CHECK_SELECTIVE_BUILD
|
|
862
|
-
#define ET_INTERNAL_SWITCH_CASE(enum_type, CTYPE_ALIAS, ...) \
|
|
863
|
-
case enum_type: { \
|
|
864
|
-
ET_INTERNAL_CHECK_SELECTIVE_BUILD(enum_type); \
|
|
865
|
-
using CTYPE_ALIAS = \
|
|
866
|
-
::executorch::runtime::ScalarTypeToCppType<enum_type>::type; \
|
|
867
|
-
return __VA_ARGS__(); \
|
|
868
|
-
}
|
|
869
|
-
#else
|
|
870
|
-
#define ET_INTERNAL_SWITCH_CASE(enum_type, CTYPE_ALIAS, ...) \
|
|
871
|
-
case enum_type: { \
|
|
872
|
-
using CTYPE_ALIAS = \
|
|
873
|
-
::executorch::runtime::ScalarTypeToCppType<enum_type>::type; \
|
|
874
|
-
return __VA_ARGS__(); \
|
|
875
|
-
}
|
|
876
|
-
#endif
|
|
877
|
-
|
|
878
|
-
#define ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, ...) \
|
|
879
|
-
[&] { \
|
|
880
|
-
const auto &_st = TYPE; \
|
|
881
|
-
constexpr const char *et_switch_name = NAME; \
|
|
882
|
-
(void)et_switch_name; /* Suppress unused var */ \
|
|
883
|
-
switch (_st) { \
|
|
884
|
-
__VA_ARGS__ \
|
|
885
|
-
default: \
|
|
886
|
-
ET_CHECK_MSG(false, "Unhandled dtype %s for %s", \
|
|
887
|
-
::executorch::runtime::toString(_st), et_switch_name); \
|
|
888
|
-
} \
|
|
889
|
-
}()
|
|
890
|
-
|
|
891
|
-
#define ET_INTERNAL_SWITCH_CASE_ALL_TYPES(CTYPE_ALIAS, ...) \
|
|
892
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, \
|
|
893
|
-
__VA_ARGS__) \
|
|
894
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Char, CTYPE_ALIAS, \
|
|
895
|
-
__VA_ARGS__) \
|
|
896
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Short, CTYPE_ALIAS, \
|
|
897
|
-
__VA_ARGS__) \
|
|
898
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Int, CTYPE_ALIAS, \
|
|
899
|
-
__VA_ARGS__) \
|
|
900
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
901
|
-
__VA_ARGS__) \
|
|
902
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Half, CTYPE_ALIAS, \
|
|
903
|
-
__VA_ARGS__) \
|
|
904
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Float, CTYPE_ALIAS, \
|
|
905
|
-
__VA_ARGS__) \
|
|
906
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
907
|
-
__VA_ARGS__) \
|
|
908
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexHalf, \
|
|
909
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
910
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexFloat, \
|
|
911
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
912
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexDouble, \
|
|
913
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
914
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, \
|
|
915
|
-
__VA_ARGS__) \
|
|
916
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, \
|
|
917
|
-
__VA_ARGS__) \
|
|
918
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, \
|
|
919
|
-
__VA_ARGS__) \
|
|
920
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, \
|
|
921
|
-
__VA_ARGS__) \
|
|
922
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::BFloat16, \
|
|
923
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
924
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt4x2, \
|
|
925
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
926
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt2x4, \
|
|
927
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
928
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bits1x8, \
|
|
929
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
930
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bits2x4, \
|
|
931
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
932
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bits4x2, \
|
|
933
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
934
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bits8, CTYPE_ALIAS, \
|
|
935
|
-
__VA_ARGS__) \
|
|
936
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bits16, CTYPE_ALIAS, \
|
|
937
|
-
__VA_ARGS__)
|
|
938
|
-
|
|
939
|
-
#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES(CTYPE_ALIAS, ...) \
|
|
940
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, \
|
|
941
|
-
__VA_ARGS__) \
|
|
942
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Char, CTYPE_ALIAS, \
|
|
943
|
-
__VA_ARGS__) \
|
|
944
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Short, CTYPE_ALIAS, \
|
|
945
|
-
__VA_ARGS__) \
|
|
946
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Int, CTYPE_ALIAS, \
|
|
947
|
-
__VA_ARGS__) \
|
|
948
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
949
|
-
__VA_ARGS__) \
|
|
950
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Float, CTYPE_ALIAS, \
|
|
951
|
-
__VA_ARGS__) \
|
|
952
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
953
|
-
__VA_ARGS__)
|
|
954
|
-
|
|
955
|
-
#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND(ADDITIONAL, CTYPE_ALIAS, ...) \
|
|
956
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
|
|
957
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL, \
|
|
958
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
959
|
-
|
|
960
|
-
#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND2(ADDITIONAL1, ADDITIONAL2, \
|
|
961
|
-
CTYPE_ALIAS, ...) \
|
|
962
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
|
|
963
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL1, \
|
|
964
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
965
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL2, \
|
|
966
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
967
|
-
|
|
968
|
-
#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3(ADDITIONAL1, ADDITIONAL2, \
|
|
969
|
-
ADDITIONAL3, CTYPE_ALIAS, ...) \
|
|
970
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
|
|
971
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL1, \
|
|
972
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
973
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL2, \
|
|
974
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
975
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL3, \
|
|
976
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
977
|
-
|
|
978
|
-
#define ET_INTERNAL_SWITCH_CASE_INT_TYPES(CTYPE_ALIAS, ...) \
|
|
979
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, \
|
|
980
|
-
__VA_ARGS__) \
|
|
981
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Char, CTYPE_ALIAS, \
|
|
982
|
-
__VA_ARGS__) \
|
|
983
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Short, CTYPE_ALIAS, \
|
|
984
|
-
__VA_ARGS__) \
|
|
985
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Int, CTYPE_ALIAS, \
|
|
986
|
-
__VA_ARGS__) \
|
|
987
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
988
|
-
__VA_ARGS__)
|
|
989
|
-
|
|
990
|
-
#define ET_INTERNAL_SWITCH_CASE_INT_TYPES_AND(ADDITIONAL, CTYPE_ALIAS, ...) \
|
|
991
|
-
ET_INTERNAL_SWITCH_CASE_INT_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
|
|
992
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL, \
|
|
993
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
994
|
-
|
|
995
|
-
#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES(CTYPE_ALIAS, ...) \
|
|
996
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
997
|
-
__VA_ARGS__) \
|
|
998
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Float, CTYPE_ALIAS, \
|
|
999
|
-
__VA_ARGS__)
|
|
1000
|
-
|
|
1001
|
-
#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND(ADDITIONAL, CTYPE_ALIAS, ...) \
|
|
1002
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
|
|
1003
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL, \
|
|
1004
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1005
|
-
|
|
1006
|
-
#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND2(ADDITIONAL1, ADDITIONAL2, \
|
|
1007
|
-
CTYPE_ALIAS, ...) \
|
|
1008
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND(ADDITIONAL1, CTYPE_ALIAS, \
|
|
1009
|
-
__VA_ARGS__) \
|
|
1010
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL2, \
|
|
1011
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1012
|
-
|
|
1013
|
-
#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND3( \
|
|
1014
|
-
ADDITIONAL1, ADDITIONAL2, ADDITIONAL3, CTYPE_ALIAS, ...) \
|
|
1015
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND2(ADDITIONAL1, ADDITIONAL2, \
|
|
1016
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1017
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ADDITIONAL3, \
|
|
1018
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1019
|
-
|
|
1020
|
-
#define ET_INTERNAL_SWITCH_CASE_QINT_TYPES(CTYPE_ALIAS, ...) \
|
|
1021
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, \
|
|
1022
|
-
__VA_ARGS__) \
|
|
1023
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, \
|
|
1024
|
-
__VA_ARGS__) \
|
|
1025
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, \
|
|
1026
|
-
__VA_ARGS__) \
|
|
1027
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt4x2, \
|
|
1028
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1029
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::QUInt2x4, \
|
|
1030
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1031
|
-
|
|
1032
|
-
#define ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES(CTYPE_ALIAS, ...) \
|
|
1033
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexFloat, \
|
|
1034
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1035
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexDouble, \
|
|
1036
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1037
|
-
|
|
1038
|
-
#define ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES(CTYPE_ALIAS, ...) \
|
|
1039
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexHalf, \
|
|
1040
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1041
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexFloat, \
|
|
1042
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1043
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::ComplexDouble, \
|
|
1044
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1045
|
-
|
|
1046
|
-
#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_TYPES(CTYPE_ALIAS, ...) \
|
|
1047
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, \
|
|
1048
|
-
__VA_ARGS__) \
|
|
1049
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
1050
|
-
__VA_ARGS__) \
|
|
1051
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
1052
|
-
__VA_ARGS__)
|
|
1053
|
-
|
|
1054
|
-
#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_REAL_TYPES(CTYPE_ALIAS, ...) \
|
|
1055
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
1056
|
-
__VA_ARGS__) \
|
|
1057
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
1058
|
-
__VA_ARGS__)
|
|
1059
|
-
|
|
1060
|
-
#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_INTB_TYPES(CTYPE_ALIAS, ...) \
|
|
1061
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, \
|
|
1062
|
-
__VA_ARGS__) \
|
|
1063
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Long, CTYPE_ALIAS, \
|
|
1064
|
-
__VA_ARGS__)
|
|
1065
|
-
|
|
1066
|
-
#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_FLOATB_TYPES(CTYPE_ALIAS, ...) \
|
|
1067
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, \
|
|
1068
|
-
__VA_ARGS__) \
|
|
1069
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::Double, CTYPE_ALIAS, \
|
|
1070
|
-
__VA_ARGS__)
|
|
1071
|
-
|
|
1072
|
-
//
|
|
1073
|
-
// Switch case macros
|
|
1074
|
-
//
|
|
1075
|
-
// These macros provide an easy way to generate switch statements that apply a
|
|
1076
|
-
// common lambda function to subsets of ScalarTypes supported by ExecuTorch.
|
|
1077
|
-
// The lambda function can type specialize to the ctype associated with the
|
|
1078
|
-
// ScalarType being handled through an alias passed as the CTYPE_ALIAS argument.
|
|
1079
|
-
//
|
|
1080
|
-
// Arguments:
|
|
1081
|
-
// - ADDITIONAL: Additional ScalarType case to add
|
|
1082
|
-
// - TYPE: The ScalarType to handle through the switch statement
|
|
1083
|
-
// - CONTEXT: The KernelRuntimeContext instance used for error handling, etc.
|
|
1084
|
-
// - NAME: A name for this operation which will be used in error messages
|
|
1085
|
-
// - CTYPE_ALIAS: A typedef for the ctype associated with the ScalarType.
|
|
1086
|
-
// - [&](){...}: A lambda function to be applied to each ScalarType case
|
|
1087
|
-
//
|
|
1088
|
-
// An example usage is:
|
|
1089
|
-
//
|
|
1090
|
-
// ET_SWITCH_REAL_TYPES(input.scalar_type(), "example", CTYPE, [&]() {
|
|
1091
|
-
// output.mutable_data_ptr<CTYPE>[0] = input.const_data_ptr<CTYPE>[0];
|
|
1092
|
-
// });
|
|
1093
|
-
//
|
|
1094
|
-
// Note that these can be nested as well:
|
|
1095
|
-
//
|
|
1096
|
-
// ET_SWITCH_REAL_TYPES(input.scalar_type(), "example", CTYPE_IN, [&]() {
|
|
1097
|
-
// ET_SWITCH_REAL_TYPES(output.scalar_type(), "example", CTYPE_OUT, [&]() {
|
|
1098
|
-
// output.mutable_data_ptr<CTYPE_OUT>[0] =
|
|
1099
|
-
// input.const_data_ptr<CTYPE_IN>[0];
|
|
1100
|
-
// });
|
|
1101
|
-
// });
|
|
1102
|
-
//
|
|
1103
|
-
// These macros are adapted from Dispatch.h in the ATen library. The primary
|
|
1104
|
-
// difference is that the CTYPE_ALIAS argument is exposed to users, which is
|
|
1105
|
-
// used to alias the ctype associated with the ScalarType that is being handled.
|
|
1106
|
-
//
|
|
1107
|
-
|
|
1108
|
-
#define ET_SWITCH_ALL_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1109
|
-
ET_INTERNAL_SWITCH( \
|
|
1110
|
-
TYPE, CONTEXT, NAME, \
|
|
1111
|
-
ET_INTERNAL_SWITCH_CASE_ALL_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1112
|
-
|
|
1113
|
-
#define ET_SWITCH_REAL_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1114
|
-
ET_INTERNAL_SWITCH( \
|
|
1115
|
-
TYPE, CONTEXT, NAME, \
|
|
1116
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1117
|
-
|
|
1118
|
-
#define ET_SWITCH_REAL_TYPES_AND(ADDITIONAL, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1119
|
-
...) \
|
|
1120
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1121
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND( \
|
|
1122
|
-
ADDITIONAL, CTYPE_ALIAS, __VA_ARGS__))
|
|
1123
|
-
|
|
1124
|
-
#define ET_SWITCH_REAL_TYPES_AND2(ADDITIONAL1, ADDITIONAL2, TYPE, CONTEXT, \
|
|
1125
|
-
NAME, CTYPE_ALIAS, ...) \
|
|
1126
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1127
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND2( \
|
|
1128
|
-
ADDITIONAL1, ADDITIONAL2, CTYPE_ALIAS, __VA_ARGS__))
|
|
1129
|
-
|
|
1130
|
-
#define ET_SWITCH_REAL_TYPES_AND3(ADDITIONAL1, ADDITIONAL2, ADDITIONAL3, TYPE, \
|
|
1131
|
-
CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1132
|
-
ET_INTERNAL_SWITCH( \
|
|
1133
|
-
TYPE, CONTEXT, NAME, \
|
|
1134
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3( \
|
|
1135
|
-
ADDITIONAL1, ADDITIONAL2, ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__))
|
|
1136
|
-
|
|
1137
|
-
#define ET_SWITCH_REALH_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1138
|
-
ET_SWITCH_REAL_TYPES_AND(Half, TYPE, CONTEXT, NAME, CTYPE_ALIAS, __VA_ARGS__)
|
|
1139
|
-
|
|
1140
|
-
#define ET_SWITCH_REALHBF16_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1141
|
-
ET_SWITCH_REAL_TYPES_AND2(Half, BFloat16, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1142
|
-
__VA_ARGS__)
|
|
1143
|
-
|
|
1144
|
-
#define ET_SWITCH_REALB_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1145
|
-
ET_SWITCH_REAL_TYPES_AND(Bool, TYPE, CONTEXT, NAME, CTYPE_ALIAS, __VA_ARGS__)
|
|
1146
|
-
|
|
1147
|
-
#define ET_SWITCH_REALHB_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1148
|
-
ET_SWITCH_REAL_TYPES_AND2(Half, Bool, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1149
|
-
__VA_ARGS__)
|
|
1150
|
-
|
|
1151
|
-
#define ET_SWITCH_REALHBBF16_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1152
|
-
ET_SWITCH_REAL_TYPES_AND3(Half, Bool, BFloat16, TYPE, CONTEXT, NAME, \
|
|
1153
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1154
|
-
|
|
1155
|
-
#define ET_SWITCH_REALHBBF16_AND_UINT_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1156
|
-
...) \
|
|
1157
|
-
ET_INTERNAL_SWITCH( \
|
|
1158
|
-
TYPE, CONTEXT, NAME, \
|
|
1159
|
-
ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3(Half, Bool, BFloat16, \
|
|
1160
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1161
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::UInt16, \
|
|
1162
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1163
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::UInt32, \
|
|
1164
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1165
|
-
ET_INTERNAL_SWITCH_CASE( \
|
|
1166
|
-
::executorch::aten::ScalarType::UInt64, CTYPE_ALIAS, \
|
|
1167
|
-
__VA_ARGS__))
|
|
1168
|
-
|
|
1169
|
-
#define ET_SWITCH_INT_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1170
|
-
ET_INTERNAL_SWITCH( \
|
|
1171
|
-
TYPE, CONTEXT, NAME, \
|
|
1172
|
-
ET_INTERNAL_SWITCH_CASE_INT_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1173
|
-
|
|
1174
|
-
#define ET_SWITCH_INT_TYPES_AND(ADDITIONAL, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1175
|
-
...) \
|
|
1176
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1177
|
-
ET_INTERNAL_SWITCH_CASE_INT_TYPES_AND( \
|
|
1178
|
-
ADDITIONAL, CTYPE_ALIAS, __VA_ARGS__))
|
|
1179
|
-
|
|
1180
|
-
#define ET_SWITCH_FLOAT_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1181
|
-
ET_INTERNAL_SWITCH( \
|
|
1182
|
-
TYPE, CONTEXT, NAME, \
|
|
1183
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1184
|
-
|
|
1185
|
-
#define ET_SWITCH_FLOAT_TYPES_AND(ADDITIONAL, TYPE, CONTEXT, NAME, \
|
|
1186
|
-
CTYPE_ALIAS, ...) \
|
|
1187
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1188
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND( \
|
|
1189
|
-
ADDITIONAL, CTYPE_ALIAS, __VA_ARGS__))
|
|
1190
|
-
|
|
1191
|
-
#define ET_SWITCH_FLOAT_TYPES_AND2(ADDITIONAL1, ADDITIONAL2, TYPE, CONTEXT, \
|
|
1192
|
-
NAME, CTYPE_ALIAS, ...) \
|
|
1193
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1194
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND2( \
|
|
1195
|
-
ADDITIONAL1, ADDITIONAL2, CTYPE_ALIAS, __VA_ARGS__))
|
|
1196
|
-
|
|
1197
|
-
#define ET_SWITCH_FLOAT_TYPES_AND3(ADDITIONAL1, ADDITIONAL2, ADDITIONAL3, \
|
|
1198
|
-
TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1199
|
-
ET_INTERNAL_SWITCH( \
|
|
1200
|
-
TYPE, CONTEXT, NAME, \
|
|
1201
|
-
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND3( \
|
|
1202
|
-
ADDITIONAL1, ADDITIONAL2, ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__))
|
|
1203
|
-
|
|
1204
|
-
#define ET_SWITCH_FLOATH_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1205
|
-
ET_SWITCH_FLOAT_TYPES_AND(Half, TYPE, CONTEXT, NAME, CTYPE_ALIAS, __VA_ARGS__)
|
|
1206
|
-
|
|
1207
|
-
#define ET_SWITCH_FLOATHBF16_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1208
|
-
ET_SWITCH_FLOAT_TYPES_AND2(Half, BFloat16, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1209
|
-
__VA_ARGS__)
|
|
1210
|
-
|
|
1211
|
-
#define ET_SWITCH_FLOATHBF16_TYPES_AND(ADDITIONAL, TYPE, CONTEXT, NAME, \
|
|
1212
|
-
CTYPE_ALIAS, ...) \
|
|
1213
|
-
ET_SWITCH_FLOAT_TYPES_AND3(Half, BFloat16, ADDITIONAL, TYPE, CONTEXT, NAME, \
|
|
1214
|
-
CTYPE_ALIAS, __VA_ARGS__)
|
|
1215
|
-
|
|
1216
|
-
#define ET_SWITCH_QINT_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1217
|
-
ET_INTERNAL_SWITCH( \
|
|
1218
|
-
TYPE, CONTEXT, NAME, \
|
|
1219
|
-
ET_INTERNAL_SWITCH_CASE_QINT_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1220
|
-
|
|
1221
|
-
#define ET_SWITCH_COMPLEX_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1222
|
-
ET_INTERNAL_SWITCH( \
|
|
1223
|
-
TYPE, CONTEXT, NAME, \
|
|
1224
|
-
ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1225
|
-
|
|
1226
|
-
#define ET_SWITCH_COMPLEXH_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1227
|
-
ET_INTERNAL_SWITCH( \
|
|
1228
|
-
TYPE, CONTEXT, NAME, \
|
|
1229
|
-
ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1230
|
-
|
|
1231
|
-
#define ET_SWITCH_SCALAR_OBJ_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1232
|
-
ET_INTERNAL_SWITCH( \
|
|
1233
|
-
TYPE, CONTEXT, NAME, \
|
|
1234
|
-
ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1235
|
-
|
|
1236
|
-
#define ET_SWITCH_SCALAR_OBJ_REAL_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1237
|
-
ET_INTERNAL_SWITCH( \
|
|
1238
|
-
TYPE, CONTEXT, NAME, \
|
|
1239
|
-
ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_REAL_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1240
|
-
|
|
1241
|
-
#define ET_SWITCH_SCALAR_OBJ_INTB_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1242
|
-
ET_INTERNAL_SWITCH( \
|
|
1243
|
-
TYPE, CONTEXT, NAME, \
|
|
1244
|
-
ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_INTB_TYPES(CTYPE_ALIAS, __VA_ARGS__))
|
|
1245
|
-
|
|
1246
|
-
#define ET_SWITCH_SCALAR_OBJ_FLOATB_TYPES(TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1247
|
-
...) \
|
|
1248
|
-
ET_INTERNAL_SWITCH(TYPE, CONTEXT, NAME, \
|
|
1249
|
-
ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_FLOATB_TYPES( \
|
|
1250
|
-
CTYPE_ALIAS, __VA_ARGS__))
|
|
1251
|
-
|
|
1252
|
-
#define ET_SWITCH_TWO_TYPES(T1, T2, TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
|
|
1253
|
-
ET_INTERNAL_SWITCH( \
|
|
1254
|
-
TYPE, CONTEXT, NAME, \
|
|
1255
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::T1, CTYPE_ALIAS, \
|
|
1256
|
-
__VA_ARGS__) \
|
|
1257
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::T2, \
|
|
1258
|
-
CTYPE_ALIAS, __VA_ARGS__))
|
|
1259
|
-
|
|
1260
|
-
#define ET_SWITCH_THREE_TYPES(T1, T2, T3, TYPE, CONTEXT, NAME, CTYPE_ALIAS, \
|
|
1261
|
-
...) \
|
|
1262
|
-
ET_INTERNAL_SWITCH( \
|
|
1263
|
-
TYPE, CONTEXT, NAME, \
|
|
1264
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::T1, CTYPE_ALIAS, \
|
|
1265
|
-
__VA_ARGS__) \
|
|
1266
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::T2, \
|
|
1267
|
-
CTYPE_ALIAS, __VA_ARGS__) \
|
|
1268
|
-
ET_INTERNAL_SWITCH_CASE(::executorch::aten::ScalarType::T3, \
|
|
1269
|
-
CTYPE_ALIAS, __VA_ARGS__))
|
|
1270
|
-
|
|
1271
|
-
} // namespace runtime
|
|
1272
|
-
} // namespace executorch
|
|
1273
|
-
|
|
1274
|
-
namespace executorch {
|
|
1275
|
-
namespace aten {
|
|
1276
|
-
#ifdef USE_ATEN_LIB
|
|
1277
|
-
using ::at::elementSize;
|
|
1278
|
-
#else // USE_ATEN_LIB
|
|
1279
|
-
using ::executorch::runtime::elementSize;
|
|
1280
|
-
#endif // USE_ATEN_LIB
|
|
1281
|
-
} // namespace aten
|
|
1282
|
-
} // namespace executorch
|
|
1283
|
-
|
|
1284
|
-
namespace torch {
|
|
1285
|
-
namespace executor {
|
|
1286
|
-
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
1287
|
-
// to the new `::executorch` namespaces.
|
|
1288
|
-
using ::executorch::runtime::can_cast;
|
|
1289
|
-
using ::executorch::runtime::canCast;
|
|
1290
|
-
using ::executorch::runtime::convert;
|
|
1291
|
-
using ::executorch::runtime::CppTypeToScalarType;
|
|
1292
|
-
using ::executorch::runtime::elementSize;
|
|
1293
|
-
using ::executorch::runtime::is_barebones_unsigned_type;
|
|
1294
|
-
using ::executorch::runtime::is_bits_type;
|
|
1295
|
-
using ::executorch::runtime::is_complex_type;
|
|
1296
|
-
using ::executorch::runtime::is_float8_type;
|
|
1297
|
-
using ::executorch::runtime::is_integral_type;
|
|
1298
|
-
using ::executorch::runtime::is_qint_type;
|
|
1299
|
-
using ::executorch::runtime::isBitsType;
|
|
1300
|
-
using ::executorch::runtime::isComplexType;
|
|
1301
|
-
using ::executorch::runtime::isFloatingType;
|
|
1302
|
-
using ::executorch::runtime::isIntegralType;
|
|
1303
|
-
using ::executorch::runtime::isQIntType;
|
|
1304
|
-
using ::executorch::runtime::isRealHBType;
|
|
1305
|
-
using ::executorch::runtime::isRealHType;
|
|
1306
|
-
using ::executorch::runtime::isRealType;
|
|
1307
|
-
using ::executorch::runtime::isValid;
|
|
1308
|
-
using ::executorch::runtime::promote_types;
|
|
1309
|
-
using ::executorch::runtime::promoteTypes;
|
|
1310
|
-
using ::executorch::runtime::ScalarTypeToCppType;
|
|
1311
|
-
using ::executorch::runtime::toString;
|
|
1312
|
-
#if !defined(USE_ATEN_LIB)
|
|
1313
|
-
using ::executorch::runtime::is_floating_point;
|
|
1314
|
-
using ::executorch::runtime::is_reduced_floating_point;
|
|
1315
|
-
#endif
|
|
1316
|
-
namespace internal {
|
|
1317
|
-
using ::executorch::runtime::internal::B1;
|
|
1318
|
-
using ::executorch::runtime::internal::C2;
|
|
1319
|
-
using ::executorch::runtime::internal::C4;
|
|
1320
|
-
using ::executorch::runtime::internal::C8;
|
|
1321
|
-
using ::executorch::runtime::internal::F2;
|
|
1322
|
-
using ::executorch::runtime::internal::F4;
|
|
1323
|
-
using ::executorch::runtime::internal::F8;
|
|
1324
|
-
using ::executorch::runtime::internal::I1;
|
|
1325
|
-
using ::executorch::runtime::internal::I2;
|
|
1326
|
-
using ::executorch::runtime::internal::I4;
|
|
1327
|
-
using ::executorch::runtime::internal::I8;
|
|
1328
|
-
using ::executorch::runtime::internal::U1;
|
|
1329
|
-
} // namespace internal
|
|
1330
|
-
} // namespace executor
|
|
1331
|
-
} // namespace torch
|