react-native-executorch 0.5.2 → 0.5.4

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