react-native-executorch 0.5.1 → 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.
Files changed (595) hide show
  1. package/android/CMakeLists.txt +24 -0
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/cpp/CMakeLists.txt +25 -0
  4. package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +1 -13
  5. package/common/rnexecutorch/RnExecutorchInstaller.cpp +52 -18
  6. package/common/rnexecutorch/RnExecutorchInstaller.h +0 -25
  7. package/common/rnexecutorch/TokenizerModule.cpp +1 -1
  8. package/common/rnexecutorch/TokenizerModule.h +4 -1
  9. package/common/rnexecutorch/data_processing/FileUtils.h +2 -2
  10. package/common/rnexecutorch/data_processing/ImageProcessing.cpp +5 -5
  11. package/common/rnexecutorch/data_processing/ImageProcessing.h +2 -2
  12. package/common/rnexecutorch/data_processing/Numerical.cpp +13 -0
  13. package/common/rnexecutorch/host_objects/JsiConversions.h +43 -62
  14. package/common/rnexecutorch/host_objects/ModelHostObject.h +43 -24
  15. package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +8 -6
  16. package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +1 -1
  17. package/common/rnexecutorch/models/BaseModel.cpp +2 -2
  18. package/common/rnexecutorch/models/BaseModel.h +5 -0
  19. package/common/rnexecutorch/models/EncoderDecoderBase.cpp +2 -2
  20. package/common/rnexecutorch/models/EncoderDecoderBase.h +2 -2
  21. package/common/rnexecutorch/models/classification/Classification.cpp +6 -6
  22. package/common/rnexecutorch/models/classification/Classification.h +5 -0
  23. package/common/rnexecutorch/models/classification/Constants.h +3 -3
  24. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +2 -2
  25. package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +2 -2
  26. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +3 -3
  27. package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +5 -0
  28. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +2 -2
  29. package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +6 -1
  30. package/common/rnexecutorch/models/image_segmentation/Constants.h +3 -3
  31. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -5
  32. package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +8 -1
  33. package/common/rnexecutorch/models/llm/LLM.cpp +58 -0
  34. package/common/rnexecutorch/models/llm/LLM.h +35 -0
  35. package/common/rnexecutorch/models/object_detection/Constants.h +3 -3
  36. package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +8 -8
  37. package/common/rnexecutorch/models/object_detection/ObjectDetection.h +11 -5
  38. package/common/rnexecutorch/models/object_detection/Types.h +13 -0
  39. package/common/rnexecutorch/models/object_detection/Utils.cpp +13 -11
  40. package/common/rnexecutorch/models/object_detection/Utils.h +7 -13
  41. package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +2 -2
  42. package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +2 -2
  43. package/common/rnexecutorch/models/ocr/Constants.h +33 -26
  44. package/common/rnexecutorch/models/ocr/Detector.cpp +20 -22
  45. package/common/rnexecutorch/models/ocr/Detector.h +4 -4
  46. package/common/rnexecutorch/models/ocr/OCR.cpp +9 -8
  47. package/common/rnexecutorch/models/ocr/OCR.h +11 -3
  48. package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +20 -19
  49. package/common/rnexecutorch/models/ocr/RecognitionHandler.h +9 -7
  50. package/common/rnexecutorch/models/ocr/Recognizer.cpp +7 -7
  51. package/common/rnexecutorch/models/ocr/Recognizer.h +2 -2
  52. package/common/rnexecutorch/models/ocr/Types.h +4 -6
  53. package/common/rnexecutorch/models/ocr/{DetectorUtils.cpp → utils/DetectorUtils.cpp} +70 -63
  54. package/common/rnexecutorch/models/ocr/{DetectorUtils.h → utils/DetectorUtils.h} +12 -11
  55. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.cpp → utils/RecognitionHandlerUtils.cpp} +14 -11
  56. package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.h → utils/RecognitionHandlerUtils.h} +5 -5
  57. package/common/rnexecutorch/models/ocr/{RecognizerUtils.cpp → utils/RecognizerUtils.cpp} +28 -26
  58. package/common/rnexecutorch/models/ocr/{RecognizerUtils.h → utils/RecognizerUtils.h} +15 -14
  59. package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +2 -2
  60. package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +9 -2
  61. package/common/rnexecutorch/models/speech_to_text/SpeechToTextStrategy.h +2 -2
  62. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.cpp +2 -2
  63. package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.h +2 -2
  64. package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +5 -5
  65. package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +6 -0
  66. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +23 -22
  67. package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +4 -4
  68. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +34 -34
  69. package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +27 -20
  70. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.cpp +3 -2
  71. package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.h +3 -2
  72. package/ios/libs/executorch/libbackend_coreml_ios.a +0 -0
  73. package/ios/libs/executorch/libbackend_coreml_simulator.a +0 -0
  74. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64 → ios/libs/executorch}/libbackend_mps_ios.a +0 -0
  75. package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64-simulator → ios/libs/executorch}/libbackend_mps_simulator.a +0 -0
  76. package/ios/libs/executorch/libbackend_xnnpack_ios.a +0 -0
  77. package/ios/libs/executorch/libbackend_xnnpack_simulator.a +0 -0
  78. package/ios/libs/executorch/libexecutorch_ios.a +0 -0
  79. package/ios/libs/executorch/libexecutorch_simulator.a +0 -0
  80. package/ios/libs/executorch/libkernels_custom_ios.a +0 -0
  81. package/ios/libs/executorch/libkernels_custom_simulator.a +0 -0
  82. package/ios/libs/executorch/libkernels_optimized_ios.a +0 -0
  83. package/ios/libs/executorch/libkernels_optimized_simulator.a +0 -0
  84. package/ios/libs/executorch/libkernels_portable_ios.a +0 -0
  85. package/ios/libs/executorch/libkernels_portable_simulator.a +0 -0
  86. package/ios/libs/executorch/libkernels_quantized_ios.a +0 -0
  87. package/ios/libs/executorch/libkernels_quantized_simulator.a +0 -0
  88. package/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
  89. package/ios/{ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
  90. package/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
  91. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
  92. package/ios/{ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a} +0 -0
  93. package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
  94. package/lib/Error.js +53 -0
  95. package/lib/ThreadPool.d.ts +10 -0
  96. package/lib/ThreadPool.js +28 -0
  97. package/lib/common/Logger.d.ts +8 -0
  98. package/lib/common/Logger.js +19 -0
  99. package/lib/constants/directories.js +2 -0
  100. package/lib/constants/llmDefaults.d.ts +6 -0
  101. package/lib/constants/llmDefaults.js +16 -0
  102. package/lib/constants/modelUrls.d.ts +223 -0
  103. package/lib/constants/modelUrls.js +322 -0
  104. package/lib/constants/ocr/models.d.ts +882 -0
  105. package/lib/constants/ocr/models.js +182 -0
  106. package/lib/constants/ocr/symbols.js +139 -0
  107. package/lib/constants/sttDefaults.d.ts +28 -0
  108. package/lib/constants/sttDefaults.js +68 -0
  109. package/lib/controllers/LLMController.d.ts +47 -0
  110. package/lib/controllers/LLMController.js +213 -0
  111. package/lib/controllers/OCRController.js +67 -0
  112. package/lib/controllers/SpeechToTextController.d.ts +56 -0
  113. package/lib/controllers/SpeechToTextController.js +349 -0
  114. package/lib/controllers/VerticalOCRController.js +70 -0
  115. package/lib/hooks/computer_vision/useClassification.d.ts +15 -0
  116. package/lib/hooks/computer_vision/useClassification.js +7 -0
  117. package/lib/hooks/computer_vision/useImageEmbeddings.d.ts +15 -0
  118. package/lib/hooks/computer_vision/useImageEmbeddings.js +7 -0
  119. package/lib/hooks/computer_vision/useImageSegmentation.d.ts +38 -0
  120. package/lib/hooks/computer_vision/useImageSegmentation.js +7 -0
  121. package/lib/hooks/computer_vision/useOCR.d.ts +20 -0
  122. package/lib/hooks/computer_vision/useOCR.js +41 -0
  123. package/lib/hooks/computer_vision/useObjectDetection.d.ts +15 -0
  124. package/lib/hooks/computer_vision/useObjectDetection.js +7 -0
  125. package/lib/hooks/computer_vision/useStyleTransfer.d.ts +15 -0
  126. package/lib/hooks/computer_vision/useStyleTransfer.js +7 -0
  127. package/lib/hooks/computer_vision/useVerticalOCR.d.ts +21 -0
  128. package/lib/hooks/computer_vision/useVerticalOCR.js +43 -0
  129. package/lib/hooks/general/useExecutorchModule.d.ts +13 -0
  130. package/lib/hooks/general/useExecutorchModule.js +7 -0
  131. package/lib/hooks/natural_language_processing/useLLM.d.ts +10 -0
  132. package/lib/hooks/natural_language_processing/useLLM.js +78 -0
  133. package/lib/hooks/natural_language_processing/useSpeechToText.d.ts +27 -0
  134. package/lib/hooks/natural_language_processing/useSpeechToText.js +49 -0
  135. package/lib/hooks/natural_language_processing/useTextEmbeddings.d.ts +16 -0
  136. package/lib/hooks/natural_language_processing/useTextEmbeddings.js +7 -0
  137. package/lib/hooks/natural_language_processing/useTokenizer.d.ts +17 -0
  138. package/lib/hooks/natural_language_processing/useTokenizer.js +52 -0
  139. package/lib/hooks/useModule.js +45 -0
  140. package/lib/hooks/useNonStaticModule.d.ts +20 -0
  141. package/lib/hooks/useNonStaticModule.js +49 -0
  142. package/lib/index.d.ts +48 -0
  143. package/lib/index.js +58 -0
  144. package/lib/module/controllers/LLMController.js +6 -10
  145. package/lib/module/controllers/LLMController.js.map +1 -1
  146. package/lib/module/hooks/computer_vision/useClassification.js +2 -2
  147. package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
  148. package/lib/module/hooks/computer_vision/useImageEmbeddings.js +2 -2
  149. package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -1
  150. package/lib/module/hooks/computer_vision/useImageSegmentation.js +2 -2
  151. package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -1
  152. package/lib/module/hooks/computer_vision/useObjectDetection.js +2 -2
  153. package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
  154. package/lib/module/hooks/computer_vision/useStyleTransfer.js +2 -2
  155. package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
  156. package/lib/module/hooks/general/useExecutorchModule.js +2 -2
  157. package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
  158. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -2
  159. package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
  160. package/lib/module/hooks/useModule.js +13 -9
  161. package/lib/module/hooks/useModule.js.map +1 -1
  162. package/lib/module/index.js +1 -1
  163. package/lib/module/index.js.map +1 -1
  164. package/lib/module/modules/BaseModule.js +9 -17
  165. package/lib/module/modules/BaseModule.js.map +1 -1
  166. package/lib/module/modules/computer_vision/ClassificationModule.js +2 -2
  167. package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
  168. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +2 -2
  169. package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -1
  170. package/lib/module/modules/computer_vision/ImageSegmentationModule.js +2 -2
  171. package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
  172. package/lib/module/modules/computer_vision/ObjectDetectionModule.js +2 -2
  173. package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
  174. package/lib/module/modules/computer_vision/StyleTransferModule.js +2 -2
  175. package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
  176. package/lib/module/modules/general/ExecutorchModule.js +2 -2
  177. package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
  178. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +2 -2
  179. package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
  180. package/lib/module/native/RnExecutorchModules.js +1 -2
  181. package/lib/module/native/RnExecutorchModules.js.map +1 -1
  182. package/lib/module/utils/ResourceFetcher.js +6 -8
  183. package/lib/module/utils/ResourceFetcher.js.map +1 -1
  184. package/lib/module/utils/ResourceFetcherUtils.js +20 -20
  185. package/lib/module/utils/ResourceFetcherUtils.js.map +1 -1
  186. package/lib/module/utils/SpeechToTextModule/ASR.js +3 -3
  187. package/lib/module/utils/SpeechToTextModule/ASR.js.map +1 -1
  188. package/lib/modules/BaseModule.js +25 -0
  189. package/lib/modules/BaseNonStaticModule.js +14 -0
  190. package/lib/modules/computer_vision/ClassificationModule.d.ts +8 -0
  191. package/lib/modules/computer_vision/ClassificationModule.js +17 -0
  192. package/lib/modules/computer_vision/ImageEmbeddingsModule.d.ts +8 -0
  193. package/lib/modules/computer_vision/ImageEmbeddingsModule.js +17 -0
  194. package/lib/modules/computer_vision/ImageSegmentationModule.d.ts +11 -0
  195. package/lib/modules/computer_vision/ImageSegmentationModule.js +27 -0
  196. package/lib/modules/computer_vision/OCRModule.d.ts +14 -0
  197. package/lib/modules/computer_vision/OCRModule.js +17 -0
  198. package/lib/modules/computer_vision/ObjectDetectionModule.d.ts +9 -0
  199. package/lib/modules/computer_vision/ObjectDetectionModule.js +17 -0
  200. package/lib/modules/computer_vision/StyleTransferModule.d.ts +8 -0
  201. package/lib/modules/computer_vision/StyleTransferModule.js +17 -0
  202. package/lib/modules/computer_vision/VerticalOCRModule.d.ts +14 -0
  203. package/lib/modules/computer_vision/VerticalOCRModule.js +19 -0
  204. package/lib/modules/general/ExecutorchModule.d.ts +7 -0
  205. package/lib/modules/general/ExecutorchModule.js +14 -0
  206. package/lib/modules/natural_language_processing/LLMModule.d.ts +28 -0
  207. package/lib/modules/natural_language_processing/LLMModule.js +45 -0
  208. package/lib/modules/natural_language_processing/SpeechToTextModule.d.ts +24 -0
  209. package/lib/modules/natural_language_processing/SpeechToTextModule.js +36 -0
  210. package/lib/modules/natural_language_processing/TextEmbeddingsModule.d.ts +9 -0
  211. package/lib/modules/natural_language_processing/TextEmbeddingsModule.js +21 -0
  212. package/lib/modules/natural_language_processing/TokenizerModule.d.ts +12 -0
  213. package/lib/modules/natural_language_processing/TokenizerModule.js +30 -0
  214. package/lib/native/NativeETInstaller.js +2 -0
  215. package/lib/native/NativeOCR.js +2 -0
  216. package/lib/native/NativeVerticalOCR.js +2 -0
  217. package/lib/native/RnExecutorchModules.d.ts +7 -0
  218. package/lib/native/RnExecutorchModules.js +18 -0
  219. package/lib/tsconfig.tsbuildinfo +1 -1
  220. package/lib/types/common.d.ts +32 -0
  221. package/lib/types/common.js +25 -0
  222. package/lib/types/imageSegmentation.js +26 -0
  223. package/lib/types/llm.d.ts +46 -0
  224. package/lib/types/llm.js +9 -0
  225. package/lib/types/objectDetection.js +94 -0
  226. package/lib/types/ocr.js +1 -0
  227. package/lib/types/stt.d.ts +94 -0
  228. package/lib/types/stt.js +85 -0
  229. package/lib/typescript/controllers/LLMController.d.ts +1 -1
  230. package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
  231. package/lib/typescript/hooks/useModule.d.ts +8 -5
  232. package/lib/typescript/hooks/useModule.d.ts.map +1 -1
  233. package/lib/typescript/index.d.ts +1 -0
  234. package/lib/typescript/index.d.ts.map +1 -1
  235. package/lib/typescript/modules/BaseModule.d.ts +7 -6
  236. package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
  237. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +2 -2
  238. package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
  239. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +2 -2
  240. package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -1
  241. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +2 -2
  242. package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
  243. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +2 -2
  244. package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
  245. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +2 -2
  246. package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
  247. package/lib/typescript/modules/general/ExecutorchModule.d.ts +2 -2
  248. package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
  249. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +2 -2
  250. package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
  251. package/lib/typescript/native/RnExecutorchModules.d.ts +1 -3
  252. package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
  253. package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -1
  254. package/lib/typescript/utils/ResourceFetcherUtils.d.ts.map +1 -1
  255. package/lib/utils/ResourceFetcher.d.ts +24 -0
  256. package/lib/utils/ResourceFetcher.js +305 -0
  257. package/lib/utils/ResourceFetcherUtils.d.ts +54 -0
  258. package/lib/utils/ResourceFetcherUtils.js +127 -0
  259. package/lib/utils/llm.d.ts +6 -0
  260. package/lib/utils/llm.js +72 -0
  261. package/lib/utils/stt.js +21 -0
  262. package/package.json +1 -2
  263. package/react-native-executorch.podspec +47 -44
  264. package/src/controllers/LLMController.ts +8 -13
  265. package/src/hooks/computer_vision/useClassification.ts +2 -2
  266. package/src/hooks/computer_vision/useImageEmbeddings.ts +2 -2
  267. package/src/hooks/computer_vision/useImageSegmentation.ts +2 -2
  268. package/src/hooks/computer_vision/useObjectDetection.ts +2 -2
  269. package/src/hooks/computer_vision/useStyleTransfer.ts +2 -2
  270. package/src/hooks/general/useExecutorchModule.ts +2 -2
  271. package/src/hooks/natural_language_processing/useTextEmbeddings.ts +2 -2
  272. package/src/hooks/useModule.ts +23 -13
  273. package/src/index.ts +3 -2
  274. package/src/modules/BaseModule.ts +17 -28
  275. package/src/modules/computer_vision/ClassificationModule.ts +2 -2
  276. package/src/modules/computer_vision/ImageEmbeddingsModule.ts +2 -2
  277. package/src/modules/computer_vision/ImageSegmentationModule.ts +2 -2
  278. package/src/modules/computer_vision/ObjectDetectionModule.ts +2 -2
  279. package/src/modules/computer_vision/StyleTransferModule.ts +2 -2
  280. package/src/modules/general/ExecutorchModule.ts +2 -2
  281. package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +2 -2
  282. package/src/native/RnExecutorchModules.ts +1 -5
  283. package/src/utils/ResourceFetcher.ts +9 -7
  284. package/src/utils/ResourceFetcherUtils.ts +15 -17
  285. package/src/utils/SpeechToTextModule/ASR.ts +4 -4
  286. package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
  287. package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
  288. package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
  289. package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +26 -0
  290. package/third-party/include/executorch/extension/threadpool/threadpool.h +94 -0
  291. package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
  292. package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
  293. package/ios/ExecutorchLib.xcframework/Info.plist +0 -43
  294. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  295. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  296. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  297. package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
  298. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/ETModel.h +0 -27
  299. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
  300. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
  301. package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
  302. package/ios/RnExecutorch/LLM.h +0 -5
  303. package/ios/RnExecutorch/LLM.mm +0 -78
  304. package/ios/RnExecutorch.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  305. package/ios/RnExecutorch.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  306. package/ios/RnExecutorch.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  307. package/lib/module/modules/BaseNonStaticModule.js +0 -17
  308. package/lib/module/modules/BaseNonStaticModule.js.map +0 -1
  309. package/lib/module/native/NativeLLM.js +0 -5
  310. package/lib/module/native/NativeLLM.js.map +0 -1
  311. package/lib/typescript/modules/BaseNonStaticModule.d.ts +0 -10
  312. package/lib/typescript/modules/BaseNonStaticModule.d.ts.map +0 -1
  313. package/lib/typescript/native/NativeLLM.d.ts +0 -12
  314. package/lib/typescript/native/NativeLLM.d.ts.map +0 -1
  315. package/src/modules/BaseNonStaticModule.ts +0 -26
  316. package/src/native/NativeLLM.ts +0 -14
  317. package/third-party/include/tokenizers-cpp/tokenizers_c.h +0 -61
  318. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.h +0 -27
  319. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.mm +0 -249
  320. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.h +0 -14
  321. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.mm +0 -80
  322. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.h +0 -32
  323. package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.mm +0 -95
  324. package/third-party/ios/ExecutorchLib/ExecutorchLib/InputType.h +0 -12
  325. package/third-party/ios/ExecutorchLib/ExecutorchLib/Utils.hpp +0 -217
  326. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.cpp +0 -11
  327. package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.h +0 -11
  328. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/base64.h +0 -202
  329. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.cpp +0 -313
  330. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.h +0 -57
  331. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.cpp +0 -78
  332. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.h +0 -23
  333. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.cpp +0 -427
  334. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.h +0 -87
  335. package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tokenizer.h +0 -76
  336. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.pbxproj +0 -683
  337. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  338. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  339. package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  340. package/third-party/ios/ExecutorchLib/build.sh +0 -44
  341. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/Info.plist +0 -43
  342. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64/libbackend_coreml_ios.a +0 -0
  343. package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64-simulator/libbackend_coreml_simulator.a +0 -0
  344. package/third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/Info.plist +0 -43
  345. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/Info.plist +0 -43
  346. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64/libbackend_xnnpack_ios.a +0 -0
  347. package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64-simulator/libbackend_xnnpack_simulator.a +0 -0
  348. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/Info.plist +0 -47
  349. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Export.h +0 -163
  350. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Macros.h +0 -497
  351. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-inl.h +0 -342
  352. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-math.h +0 -266
  353. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16.h +0 -125
  354. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half-inl.h +0 -347
  355. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half.h +0 -416
  356. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/TypeSafeSignMath.h +0 -133
  357. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/bit_cast.h +0 -43
  358. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/floating_point_utils.h +0 -33
  359. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/irange.h +0 -107
  360. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorch.h +0 -13
  361. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchError.h +0 -16
  362. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchLog.h +0 -76
  363. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchModule.h +0 -286
  364. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchTensor.h +0 -742
  365. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchValue.h +0 -219
  366. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/module/module.h +0 -492
  367. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor.h +0 -13
  368. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  369. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  370. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  371. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  372. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  373. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/interface.h +0 -166
  374. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/array_ref.h +0 -235
  375. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/data_loader.h +0 -136
  376. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/defines.h +0 -20
  377. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/error.h +0 -229
  378. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/evalue.h +0 -521
  379. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer.h +0 -565
  380. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  381. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  382. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  383. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  384. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  385. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  386. 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
  387. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  388. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  389. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  390. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  391. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/named_data_map.h +0 -86
  392. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  393. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  394. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  395. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  396. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  397. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
  398. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
  399. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  400. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
  401. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  402. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  403. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
  404. 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
  405. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  406. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  407. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  408. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  409. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  410. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  411. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  412. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  413. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  414. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  415. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  416. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  417. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/result.h +0 -258
  418. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/span.h +0 -93
  419. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tag.h +0 -71
  420. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  421. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  422. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  423. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method.h +0 -387
  424. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method_meta.h +0 -251
  425. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/program.h +0 -320
  426. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  427. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  428. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  429. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  430. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/abort.h +0 -36
  431. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/assert.h +0 -119
  432. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/clock.h +0 -43
  433. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  434. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compiler.h +0 -191
  435. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/log.h +0 -177
  436. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/platform.h +0 -133
  437. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/profiler.h +0 -292
  438. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/runtime.h +0 -35
  439. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/system.h +0 -49
  440. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/types.h +0 -24
  441. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/schema/extended_header.h +0 -76
  442. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/module.modulemap +0 -5
  443. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/libexecutorch_ios.a +0 -0
  444. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Export.h +0 -163
  445. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Macros.h +0 -497
  446. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-inl.h +0 -342
  447. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-math.h +0 -266
  448. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16.h +0 -125
  449. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half-inl.h +0 -347
  450. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half.h +0 -416
  451. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/TypeSafeSignMath.h +0 -133
  452. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/bit_cast.h +0 -43
  453. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/floating_point_utils.h +0 -33
  454. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/irange.h +0 -107
  455. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorch.h +0 -13
  456. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchError.h +0 -16
  457. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchLog.h +0 -76
  458. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchModule.h +0 -286
  459. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchTensor.h +0 -742
  460. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchValue.h +0 -219
  461. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/module/module.h +0 -492
  462. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor.h +0 -13
  463. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
  464. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
  465. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
  466. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
  467. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
  468. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/interface.h +0 -166
  469. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/array_ref.h +0 -235
  470. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/data_loader.h +0 -136
  471. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/defines.h +0 -20
  472. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/error.h +0 -229
  473. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/evalue.h +0 -521
  474. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer.h +0 -565
  475. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
  476. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
  477. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
  478. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
  479. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
  480. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
  481. 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
  482. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
  483. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
  484. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
  485. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/memory_allocator.h +0 -198
  486. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/named_data_map.h +0 -86
  487. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
  488. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
  489. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
  490. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
  491. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
  492. 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
  493. 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
  494. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
  495. 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
  496. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
  497. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
  498. 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
  499. 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
  500. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
  501. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
  502. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/device.h +0 -70
  503. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/half.h +0 -27
  504. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
  505. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
  506. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
  507. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
  508. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
  509. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
  510. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
  511. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
  512. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/result.h +0 -258
  513. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/span.h +0 -93
  514. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tag.h +0 -71
  515. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_layout.h +0 -79
  516. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
  517. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/memory_manager.h +0 -113
  518. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method.h +0 -387
  519. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method_meta.h +0 -251
  520. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/program.h +0 -320
  521. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
  522. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
  523. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
  524. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
  525. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/abort.h +0 -36
  526. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/assert.h +0 -119
  527. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/clock.h +0 -43
  528. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
  529. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compiler.h +0 -191
  530. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/log.h +0 -177
  531. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/platform.h +0 -133
  532. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/profiler.h +0 -292
  533. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/runtime.h +0 -35
  534. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/system.h +0 -49
  535. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/types.h +0 -24
  536. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/schema/extended_header.h +0 -76
  537. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/module.modulemap +0 -5
  538. package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/libexecutorch_simulator.a +0 -0
  539. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/Info.plist +0 -43
  540. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64/libkernels_custom_ios.a +0 -0
  541. package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64-simulator/libkernels_custom_simulator.a +0 -0
  542. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/Info.plist +0 -43
  543. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64/libkernels_optimized_ios.a +0 -0
  544. package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64-simulator/libkernels_optimized_simulator.a +0 -0
  545. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/Info.plist +0 -43
  546. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64/libkernels_portable_ios.a +0 -0
  547. package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64-simulator/libkernels_portable_simulator.a +0 -0
  548. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/Info.plist +0 -43
  549. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64/libkernels_quantized_ios.a +0 -0
  550. package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64-simulator/libkernels_quantized_simulator.a +0 -0
  551. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/Info.plist +0 -43
  552. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/bitmap256.h +0 -82
  553. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/filtered_re2.h +0 -111
  554. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/pod_array.h +0 -43
  555. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter.h +0 -130
  556. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter_tree.h +0 -139
  557. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prog.h +0 -483
  558. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/re2.h +0 -994
  559. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/regexp.h +0 -692
  560. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/set.h +0 -85
  561. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_array.h +0 -367
  562. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_set.h +0 -241
  563. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/stringpiece.h +0 -205
  564. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_casefold.h +0 -78
  565. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_groups.h +0 -64
  566. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/walker-inl.h +0 -235
  567. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Info.plist +0 -26
  568. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/re2 +0 -0
  569. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/bitmap256.h +0 -82
  570. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/filtered_re2.h +0 -111
  571. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/pod_array.h +0 -43
  572. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter.h +0 -130
  573. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter_tree.h +0 -139
  574. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prog.h +0 -483
  575. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/re2.h +0 -994
  576. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/regexp.h +0 -692
  577. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/set.h +0 -85
  578. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_array.h +0 -367
  579. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_set.h +0 -241
  580. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/stringpiece.h +0 -205
  581. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_casefold.h +0 -78
  582. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_groups.h +0 -64
  583. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/walker-inl.h +0 -235
  584. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Info.plist +0 -26
  585. package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/re2 +0 -0
  586. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/irunner.h +0 -0
  587. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.cpp +0 -0
  588. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.h +0 -0
  589. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/stats.h +0 -0
  590. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.cpp +0 -0
  591. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.h +0 -0
  592. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.cpp +0 -0
  593. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.h +0 -0
  594. /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_token_generator.h +0 -0
  595. /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