gstaichi 2.1.1__cp311-cp311-macosx_11_0_arm64.whl

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 (178) hide show
  1. gstaichi/__init__.py +40 -0
  2. gstaichi/_funcs.py +706 -0
  3. gstaichi/_kernels.py +420 -0
  4. gstaichi/_lib/__init__.py +3 -0
  5. gstaichi/_lib/core/__init__.py +0 -0
  6. gstaichi/_lib/core/gstaichi_python.cpython-311-darwin.so +0 -0
  7. gstaichi/_lib/core/gstaichi_python.pyi +2909 -0
  8. gstaichi/_lib/core/py.typed +0 -0
  9. gstaichi/_lib/runtime/libMoltenVK.dylib +0 -0
  10. gstaichi/_lib/runtime/runtime_arm64.bc +0 -0
  11. gstaichi/_lib/utils.py +243 -0
  12. gstaichi/_logging.py +131 -0
  13. gstaichi/_snode/__init__.py +5 -0
  14. gstaichi/_snode/fields_builder.py +187 -0
  15. gstaichi/_snode/snode_tree.py +34 -0
  16. gstaichi/_test_tools/__init__.py +18 -0
  17. gstaichi/_test_tools/dataclass_test_tools.py +36 -0
  18. gstaichi/_test_tools/load_kernel_string.py +30 -0
  19. gstaichi/_test_tools/textwrap2.py +6 -0
  20. gstaichi/_version.py +1 -0
  21. gstaichi/_version_check.py +100 -0
  22. gstaichi/ad/__init__.py +3 -0
  23. gstaichi/ad/_ad.py +530 -0
  24. gstaichi/algorithms/__init__.py +3 -0
  25. gstaichi/algorithms/_algorithms.py +117 -0
  26. gstaichi/assets/.git +1 -0
  27. gstaichi/assets/Go-Regular.ttf +0 -0
  28. gstaichi/assets/static/imgs/ti_gallery.png +0 -0
  29. gstaichi/examples/lcg_python.py +26 -0
  30. gstaichi/examples/lcg_taichi.py +34 -0
  31. gstaichi/examples/minimal.py +28 -0
  32. gstaichi/experimental.py +16 -0
  33. gstaichi/lang/__init__.py +50 -0
  34. gstaichi/lang/_dataclass_util.py +31 -0
  35. gstaichi/lang/_fast_caching/__init__.py +3 -0
  36. gstaichi/lang/_fast_caching/args_hasher.py +110 -0
  37. gstaichi/lang/_fast_caching/config_hasher.py +30 -0
  38. gstaichi/lang/_fast_caching/fast_caching_types.py +21 -0
  39. gstaichi/lang/_fast_caching/function_hasher.py +57 -0
  40. gstaichi/lang/_fast_caching/hash_utils.py +11 -0
  41. gstaichi/lang/_fast_caching/python_side_cache.py +52 -0
  42. gstaichi/lang/_fast_caching/src_hasher.py +75 -0
  43. gstaichi/lang/_kernel_impl_dataclass.py +212 -0
  44. gstaichi/lang/_ndarray.py +352 -0
  45. gstaichi/lang/_ndrange.py +152 -0
  46. gstaichi/lang/_template_mapper.py +195 -0
  47. gstaichi/lang/_texture.py +172 -0
  48. gstaichi/lang/_wrap_inspect.py +215 -0
  49. gstaichi/lang/any_array.py +99 -0
  50. gstaichi/lang/ast/__init__.py +5 -0
  51. gstaichi/lang/ast/ast_transformer.py +1323 -0
  52. gstaichi/lang/ast/ast_transformer_utils.py +346 -0
  53. gstaichi/lang/ast/ast_transformers/__init__.py +0 -0
  54. gstaichi/lang/ast/ast_transformers/call_transformer.py +324 -0
  55. gstaichi/lang/ast/ast_transformers/function_def_transformer.py +304 -0
  56. gstaichi/lang/ast/checkers.py +106 -0
  57. gstaichi/lang/ast/symbol_resolver.py +57 -0
  58. gstaichi/lang/ast/transform.py +9 -0
  59. gstaichi/lang/common_ops.py +310 -0
  60. gstaichi/lang/exception.py +80 -0
  61. gstaichi/lang/expr.py +180 -0
  62. gstaichi/lang/field.py +428 -0
  63. gstaichi/lang/impl.py +1245 -0
  64. gstaichi/lang/kernel_arguments.py +155 -0
  65. gstaichi/lang/kernel_impl.py +1341 -0
  66. gstaichi/lang/matrix.py +1835 -0
  67. gstaichi/lang/matrix_ops.py +341 -0
  68. gstaichi/lang/matrix_ops_utils.py +190 -0
  69. gstaichi/lang/mesh.py +687 -0
  70. gstaichi/lang/misc.py +780 -0
  71. gstaichi/lang/ops.py +1494 -0
  72. gstaichi/lang/runtime_ops.py +13 -0
  73. gstaichi/lang/shell.py +35 -0
  74. gstaichi/lang/simt/__init__.py +5 -0
  75. gstaichi/lang/simt/block.py +94 -0
  76. gstaichi/lang/simt/grid.py +7 -0
  77. gstaichi/lang/simt/subgroup.py +191 -0
  78. gstaichi/lang/simt/warp.py +96 -0
  79. gstaichi/lang/snode.py +489 -0
  80. gstaichi/lang/source_builder.py +150 -0
  81. gstaichi/lang/struct.py +810 -0
  82. gstaichi/lang/util.py +312 -0
  83. gstaichi/linalg/__init__.py +8 -0
  84. gstaichi/linalg/matrixfree_cg.py +310 -0
  85. gstaichi/linalg/sparse_cg.py +59 -0
  86. gstaichi/linalg/sparse_matrix.py +303 -0
  87. gstaichi/linalg/sparse_solver.py +123 -0
  88. gstaichi/math/__init__.py +11 -0
  89. gstaichi/math/_complex.py +205 -0
  90. gstaichi/math/mathimpl.py +886 -0
  91. gstaichi/profiler/__init__.py +6 -0
  92. gstaichi/profiler/kernel_metrics.py +260 -0
  93. gstaichi/profiler/kernel_profiler.py +586 -0
  94. gstaichi/profiler/memory_profiler.py +15 -0
  95. gstaichi/profiler/scoped_profiler.py +36 -0
  96. gstaichi/sparse/__init__.py +3 -0
  97. gstaichi/sparse/_sparse_grid.py +77 -0
  98. gstaichi/tools/__init__.py +12 -0
  99. gstaichi/tools/diagnose.py +117 -0
  100. gstaichi/tools/np2ply.py +364 -0
  101. gstaichi/tools/vtk.py +38 -0
  102. gstaichi/types/__init__.py +19 -0
  103. gstaichi/types/annotations.py +52 -0
  104. gstaichi/types/compound_types.py +71 -0
  105. gstaichi/types/enums.py +49 -0
  106. gstaichi/types/ndarray_type.py +169 -0
  107. gstaichi/types/primitive_types.py +206 -0
  108. gstaichi/types/quant.py +88 -0
  109. gstaichi/types/texture_type.py +85 -0
  110. gstaichi/types/utils.py +11 -0
  111. gstaichi-2.1.1.data/data/include/GLFW/glfw3.h +6389 -0
  112. gstaichi-2.1.1.data/data/include/GLFW/glfw3native.h +594 -0
  113. gstaichi-2.1.1.data/data/include/spirv-tools/instrument.hpp +268 -0
  114. gstaichi-2.1.1.data/data/include/spirv-tools/libspirv.h +907 -0
  115. gstaichi-2.1.1.data/data/include/spirv-tools/libspirv.hpp +375 -0
  116. gstaichi-2.1.1.data/data/include/spirv-tools/linker.hpp +97 -0
  117. gstaichi-2.1.1.data/data/include/spirv-tools/optimizer.hpp +970 -0
  118. gstaichi-2.1.1.data/data/include/spirv_cross/GLSL.std.450.h +114 -0
  119. gstaichi-2.1.1.data/data/include/spirv_cross/spirv.h +2568 -0
  120. gstaichi-2.1.1.data/data/include/spirv_cross/spirv.hpp +2579 -0
  121. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cfg.hpp +168 -0
  122. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_common.hpp +1920 -0
  123. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cpp.hpp +93 -0
  124. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross.hpp +1171 -0
  125. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross_c.h +1074 -0
  126. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross_containers.hpp +754 -0
  127. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross_error_handling.hpp +94 -0
  128. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross_parsed_ir.hpp +256 -0
  129. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_cross_util.hpp +37 -0
  130. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_glsl.hpp +1001 -0
  131. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_hlsl.hpp +406 -0
  132. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_msl.hpp +1273 -0
  133. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_parser.hpp +103 -0
  134. gstaichi-2.1.1.data/data/include/spirv_cross/spirv_reflect.hpp +91 -0
  135. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake +5 -0
  136. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake +29 -0
  137. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake +114 -0
  138. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake +5 -0
  139. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake +19 -0
  140. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake +123 -0
  141. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake +5 -0
  142. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake +19 -0
  143. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake +123 -0
  144. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake +5 -0
  145. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake +19 -0
  146. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake +123 -0
  147. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake +5 -0
  148. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake +19 -0
  149. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake +123 -0
  150. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake +5 -0
  151. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake +19 -0
  152. gstaichi-2.1.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake +123 -0
  153. gstaichi-2.1.1.data/data/lib/cmake/glfw3/glfw3Config.cmake +3 -0
  154. gstaichi-2.1.1.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +65 -0
  155. gstaichi-2.1.1.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake +19 -0
  156. gstaichi-2.1.1.data/data/lib/cmake/glfw3/glfw3Targets.cmake +107 -0
  157. gstaichi-2.1.1.data/data/lib/libSPIRV-Tools-shared.dylib +0 -0
  158. gstaichi-2.1.1.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake +19 -0
  159. gstaichi-2.1.1.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake +123 -0
  160. gstaichi-2.1.1.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake +19 -0
  161. gstaichi-2.1.1.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake +106 -0
  162. gstaichi-2.1.1.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake +19 -0
  163. gstaichi-2.1.1.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake +123 -0
  164. gstaichi-2.1.1.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake +19 -0
  165. gstaichi-2.1.1.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake +123 -0
  166. gstaichi-2.1.1.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake +19 -0
  167. gstaichi-2.1.1.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake +123 -0
  168. gstaichi-2.1.1.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake +19 -0
  169. gstaichi-2.1.1.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake +123 -0
  170. gstaichi-2.1.1.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake +19 -0
  171. gstaichi-2.1.1.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake +106 -0
  172. gstaichi-2.1.1.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake +19 -0
  173. gstaichi-2.1.1.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake +123 -0
  174. gstaichi-2.1.1.dist-info/METADATA +106 -0
  175. gstaichi-2.1.1.dist-info/RECORD +178 -0
  176. gstaichi-2.1.1.dist-info/WHEEL +5 -0
  177. gstaichi-2.1.1.dist-info/licenses/LICENSE +201 -0
  178. gstaichi-2.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2909 @@
1
+ """
2
+ gstaichi_python
3
+ """
4
+ from __future__ import annotations
5
+ import numpy
6
+ import typing
7
+ __all__: list[str] = ['ADJOINT', 'ADJOINT_CHECKBIT', 'AOS', 'ASTBuilder', 'Arch', 'AutodiffMode', 'Axis', 'Benchmark', 'BinaryOpType', 'BitStructType', 'BitStructTypeBuilder', 'BoundaryMode', 'CC', 'CE', 'CF', 'CGd', 'CGf', 'CLAMP', 'CUCG', 'CV', 'Cell', 'CompileConfig', 'CompiledKernelData', 'Config', 'ConvType', 'CuSparseMatrix', 'CuSparseSolver', 'DUAL', 'DataTypeCxx', 'DataType_f16', 'DataType_f32', 'DataType_f64', 'DataType_gen', 'DataType_i16', 'DataType_i32', 'DataType_i64', 'DataType_i8', 'DataType_u1', 'DataType_u16', 'DataType_u32', 'DataType_u64', 'DataType_u8', 'DataType_unknown', 'DebugInfo', 'DeviceAllocation', 'DeviceCapabilityConfig', 'EC', 'EE', 'EF', 'EV', 'Edge', 'EigenSparseSolverfloat32LDLTAMD', 'EigenSparseSolverfloat32LDLTCOLAMD', 'EigenSparseSolverfloat32LLTAMD', 'EigenSparseSolverfloat32LLTCOLAMD', 'EigenSparseSolverfloat32LUAMD', 'EigenSparseSolverfloat32LUCOLAMD', 'EigenSparseSolverfloat64LDLTAMD', 'EigenSparseSolverfloat64LDLTCOLAMD', 'EigenSparseSolverfloat64LLTAMD', 'EigenSparseSolverfloat64LLTCOLAMD', 'EigenSparseSolverfloat64LUAMD', 'EigenSparseSolverfloat64LUCOLAMD', 'ExprCxx', 'ExprGroup', 'Extension', 'FC', 'FE', 'FF', 'FORWARD', 'FV', 'Face', 'Format', 'Function', 'FunctionKey', 'GsTaichiAssertionError', 'GsTaichiIndexError', 'GsTaichiRuntimeError', 'GsTaichiSyntaxError', 'GsTaichiTypeError', 'HackedSignalRegister', 'InternalOp', 'KernelCxx', 'KernelLaunchContext', 'KernelProfileTracedRecord', 'KernelProfilerQueryResult', 'Layout', 'Mesh', 'MeshElementType', 'MeshPtr', 'MeshRelationType', 'MeshTopology', 'NONE', 'NULL', 'NdarrayCxx', 'Operation', 'PRIMAL', 'Program', 'REVERSE', 'SNodeAccessFlag', 'SNodeCxx', 'SNodeGradType', 'SNodeRegistry', 'SNodeTreeCxx', 'SNodeType', 'SOA', 'SparseMatrix', 'SparseMatrixBuilder', 'SparseSolver', 'Stmt', 'Task', 'Tetrahedron', 'TextureCxx', 'TextureOpType', 'Triangle', 'Type', 'TypeFactory', 'UNSAFE', 'UnaryOpType', 'VALIDATION', 'VC', 'VE', 'VF', 'VV', 'Vector2d', 'Vector2f', 'Vector2i', 'Vector3d', 'Vector3f', 'Vector3i', 'Vector4d', 'Vector4f', 'Vector4i', 'Vertex', 'abs', 'acos', 'add', 'adstack', 'amdgpu', 'arch_from_name', 'arch_name', 'arch_uses_llvm', 'arm64', 'asin', 'assertion', 'atan2', 'bit_and', 'bit_not', 'bit_or', 'bit_sar', 'bit_shl', 'bit_shr', 'bit_struct', 'bit_xor', 'bitmasked', 'bits_cast', 'block_local', 'bls', 'cast_bits', 'cast_value', 'ceil', 'clear_profile_info', 'clz', 'cmp_eq', 'cmp_ge', 'cmp_gt', 'cmp_le', 'cmp_lt', 'cmp_ne', 'cos', 'create_benchmark', 'create_initialized_benchmark', 'create_initialized_task', 'create_mesh', 'create_task', 'critical', 'cuda', 'cuda_version', 'dColMajor_EigenSparseMatrix', 'dRowMajor_EigenSparseMatrix', 'data64', 'data_type_name', 'data_type_size', 'debug', 'default_compile_config', 'dense', 'div', 'dynamic', 'element_order', 'element_type_name', 'error', 'exp', 'expr_abs', 'expr_acos', 'expr_add', 'expr_asin', 'expr_assume_in_range', 'expr_atan2', 'expr_atomic_add', 'expr_atomic_bit_and', 'expr_atomic_bit_or', 'expr_atomic_bit_xor', 'expr_atomic_max', 'expr_atomic_min', 'expr_atomic_mul', 'expr_atomic_sub', 'expr_bit_and', 'expr_bit_not', 'expr_bit_or', 'expr_bit_sar', 'expr_bit_shl', 'expr_bit_shr', 'expr_bit_xor', 'expr_ceil', 'expr_clz', 'expr_cmp_eq', 'expr_cmp_ge', 'expr_cmp_gt', 'expr_cmp_le', 'expr_cmp_lt', 'expr_cmp_ne', 'expr_cos', 'expr_div', 'expr_exp', 'expr_field', 'expr_floor', 'expr_floordiv', 'expr_frexp', 'expr_ifte', 'expr_inv', 'expr_log', 'expr_logic_not', 'expr_logical_and', 'expr_logical_or', 'expr_loop_unique', 'expr_matrix_field', 'expr_max', 'expr_min', 'expr_mod', 'expr_mul', 'expr_neg', 'expr_popcnt', 'expr_pow', 'expr_rcp', 'expr_round', 'expr_rsqrt', 'expr_select', 'expr_sin', 'expr_sqrt', 'expr_sub', 'expr_tan', 'expr_tanh', 'expr_truediv', 'extfunc', 'fColMajor_EigenSparseMatrix', 'fRowMajor_EigenSparseMatrix', 'finalize_snode_tree', 'floor', 'floordiv', 'flush_log', 'frexp', 'from_end_element_order', 'g2r', 'get_commit_hash', 'get_default_float_size', 'get_external_tensor_dim', 'get_external_tensor_element_dim', 'get_external_tensor_element_shape', 'get_external_tensor_element_type', 'get_external_tensor_needs_grad', 'get_external_tensor_real_func_args', 'get_external_tensor_shape_along_axis', 'get_llvm_target_support', 'get_max_num_indices', 'get_num_elements', 'get_python_package_dir', 'get_relation_access', 'get_relation_size', 'get_repo_dir', 'get_type_factory_instance', 'get_version_major', 'get_version_minor', 'get_version_patch', 'get_version_string', 'hash', 'host_arch', 'info', 'insert_internal_func_call', 'inv', 'inverse_relation', 'is_extension_supported', 'is_integral', 'is_quant', 'is_real', 'is_signed', 'is_tensor', 'is_unsigned', 'js', 'kFetchTexel', 'kLoad', 'kSampleLod', 'kStore', 'kUndefined', 'l2g', 'l2r', 'libdevice_path', 'log', 'logging_effective', 'logic_not', 'make_arg_load_expr', 'make_binary_op_expr', 'make_const_expr_bool', 'make_const_expr_fp', 'make_const_expr_int', 'make_cucg_solver', 'make_cusparse_solver', 'make_double_cg_solver', 'make_external_tensor_expr', 'make_external_tensor_grad_expr', 'make_float_cg_solver', 'make_frontend_assign_stmt', 'make_get_element_expr', 'make_global_load_stmt', 'make_global_store_stmt', 'make_rand_expr', 'make_reference', 'make_rw_texture_ptr_expr', 'make_sparse_solver', 'make_texture_ptr_expr', 'make_unary_op_expr', 'max', 'mesh', 'mesh_local', 'metal', 'min', 'mod', 'mul', 'neg', 'opencl', 'place', 'pointer', 'pop_python_print_buffer', 'popcnt', 'pow', 'print_all_units', 'print_profile_info', 'promoted_type', 'quant', 'quant_array', 'quant_basic', 'query_int64', 'rcp', 'read_only', 'relation_by_orders', 'reset_default_compile_config', 'root', 'round', 'rsqrt', 'set_core_state_python_imported', 'set_core_trigger_gdb_when_crash', 'set_index_mapping', 'set_lib_dir', 'set_logging_level', 'set_logging_level_default', 'set_num_elements', 'set_num_patches', 'set_owned_offset', 'set_patch_max_element_num', 'set_python_package_dir', 'set_relation_dynamic', 'set_relation_fixed', 'set_tmp_dir', 'set_total_offset', 'set_vulkan_visible_device', 'sgn', 'sin', 'sparse', 'sqrt', 'start_memory_monitoring', 'sub', 'subscript_with_multiple_indices', 'tan', 'tanh', 'test_cpp_exception', 'test_logging', 'test_printf', 'test_raise_error', 'test_threading', 'test_throw', 'to_end_element_order', 'toggle_python_print_buffer', 'trace', 'trigger_crash', 'trigger_sig_fpe', 'truediv', 'undefined', 'value_cast', 'vulkan', 'wait_for_debugger', 'warn', 'with_amdgpu', 'with_cuda', 'with_metal', 'with_vulkan', 'x64']
8
+ class ASTBuilder:
9
+ def begin_frontend_if(self, arg0: ..., arg1: DebugInfo) -> None:
10
+ ...
11
+ def begin_frontend_if_false(self) -> None:
12
+ ...
13
+ def begin_frontend_if_true(self) -> None:
14
+ ...
15
+ def begin_frontend_mesh_for(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> None:
16
+ ...
17
+ def begin_frontend_range_for(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> None:
18
+ ...
19
+ def begin_frontend_struct_for_on_external_tensor(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
20
+ ...
21
+ def begin_frontend_struct_for_on_snode(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
22
+ ...
23
+ def begin_frontend_while(self, arg0: ..., arg1: DebugInfo) -> None:
24
+ ...
25
+ def begin_func(self, arg0: str) -> None:
26
+ ...
27
+ def bit_vectorize(self) -> None:
28
+ ...
29
+ def block_dim(self, arg0: int) -> None:
30
+ ...
31
+ def create_assert_stmt(self, arg0: ..., arg1: str, arg2: list[...], arg3: DebugInfo) -> None:
32
+ ...
33
+ def create_kernel_exprgroup_return(self, arg0: ..., arg1: DebugInfo) -> None:
34
+ ...
35
+ def create_print(self, arg0: list[... | str], arg1: list[str | None], arg2: DebugInfo) -> None:
36
+ ...
37
+ def end_frontend_mesh_for(self) -> None:
38
+ ...
39
+ def end_frontend_range_for(self) -> None:
40
+ ...
41
+ def end_frontend_struct_for(self) -> None:
42
+ ...
43
+ def end_func(self, arg0: str) -> None:
44
+ ...
45
+ def expand_exprs(self, arg0: list[...]) -> list[...]:
46
+ ...
47
+ def expr_alloca(self, arg0: DebugInfo) -> ...:
48
+ ...
49
+ def expr_alloca_shared_array(self, arg0: tuple[int, ...], arg1: DataTypeCxx, arg2: DebugInfo) -> ...:
50
+ ...
51
+ def expr_assign(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
52
+ ...
53
+ def expr_snode_append(self, arg0: ..., arg1: ..., arg2: list[...]) -> ...:
54
+ ...
55
+ def expr_snode_get_addr(self, arg0: ..., arg1: ...) -> ...:
56
+ ...
57
+ def expr_snode_is_active(self, arg0: ..., arg1: ...) -> ...:
58
+ ...
59
+ def expr_snode_length(self, arg0: ..., arg1: ...) -> ...:
60
+ ...
61
+ def expr_subscript(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> ...:
62
+ ...
63
+ def expr_var(self, arg0: ..., arg1: DebugInfo) -> ...:
64
+ ...
65
+ def insert_activate(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
66
+ ...
67
+ def insert_break_stmt(self, arg0: DebugInfo) -> None:
68
+ ...
69
+ def insert_continue_stmt(self, arg0: DebugInfo) -> None:
70
+ ...
71
+ def insert_deactivate(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
72
+ ...
73
+ def insert_expr_stmt(self, arg0: ...) -> None:
74
+ ...
75
+ def insert_external_func_call(self, arg0: int, arg1: str, arg2: str, arg3: str, arg4: ..., arg5: ..., arg6: DebugInfo) -> None:
76
+ ...
77
+ def insert_func_call(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> ... | None:
78
+ ...
79
+ def insert_patch_idx_expr(self, arg0: DebugInfo) -> ...:
80
+ ...
81
+ def insert_snode_access_flag(self, arg0: SNodeAccessFlag, arg1: ...) -> None:
82
+ ...
83
+ def insert_thread_idx_expr(self) -> ...:
84
+ ...
85
+ def make_id_expr(self, arg0: str) -> ...:
86
+ ...
87
+ def make_matrix_expr(self, arg0: tuple[int, ...], arg1: DataTypeCxx, arg2: list[...], arg3: DebugInfo) -> ...:
88
+ ...
89
+ def make_texture_op_expr(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> ...:
90
+ ...
91
+ def mesh_index_conversion(self, arg0: ..., arg1: ..., arg2: ..., arg3: ..., arg4: DebugInfo) -> ...:
92
+ ...
93
+ def parallelize(self, arg0: int) -> None:
94
+ ...
95
+ def pop_scope(self) -> None:
96
+ ...
97
+ def reset_snode_access_flag(self) -> None:
98
+ ...
99
+ def sifakis_svd_f32(self, arg0: ..., arg1: int) -> tuple[..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...]:
100
+ ...
101
+ def sifakis_svd_f64(self, arg0: ..., arg1: int) -> tuple[..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...]:
102
+ ...
103
+ def stop_grad(self, arg0: ...) -> None:
104
+ ...
105
+ def strictly_serialize(self) -> None:
106
+ ...
107
+ class Arch:
108
+ """
109
+ Members:
110
+
111
+ x64
112
+
113
+ arm64
114
+
115
+ js
116
+
117
+ cuda
118
+
119
+ metal
120
+
121
+ opencl
122
+
123
+ amdgpu
124
+
125
+ vulkan
126
+ """
127
+ __members__: typing.ClassVar[dict[str, Arch]] # value = {'x64': <Arch.x64: 0>, 'arm64': <Arch.arm64: 1>, 'js': <Arch.js: 2>, 'cuda': <Arch.cuda: 3>, 'metal': <Arch.metal: 4>, 'opencl': <Arch.opencl: 5>, 'amdgpu': <Arch.amdgpu: 6>, 'vulkan': <Arch.vulkan: 7>}
128
+ amdgpu: typing.ClassVar[Arch] # value = <Arch.amdgpu: 6>
129
+ arm64: typing.ClassVar[Arch] # value = <Arch.arm64: 1>
130
+ cuda: typing.ClassVar[Arch] # value = <Arch.cuda: 3>
131
+ js: typing.ClassVar[Arch] # value = <Arch.js: 2>
132
+ metal: typing.ClassVar[Arch] # value = <Arch.metal: 4>
133
+ opencl: typing.ClassVar[Arch] # value = <Arch.opencl: 5>
134
+ vulkan: typing.ClassVar[Arch] # value = <Arch.vulkan: 7>
135
+ x64: typing.ClassVar[Arch] # value = <Arch.x64: 0>
136
+ def __eq__(self, other: typing.Any) -> bool:
137
+ ...
138
+ def __ge__(self, other: typing.Any) -> bool:
139
+ ...
140
+ def __getstate__(self) -> int:
141
+ ...
142
+ def __gt__(self, other: typing.Any) -> bool:
143
+ ...
144
+ def __hash__(self) -> int:
145
+ ...
146
+ def __index__(self) -> int:
147
+ ...
148
+ def __init__(self, value: int) -> None:
149
+ ...
150
+ def __int__(self) -> int:
151
+ ...
152
+ def __le__(self, other: typing.Any) -> bool:
153
+ ...
154
+ def __lt__(self, other: typing.Any) -> bool:
155
+ ...
156
+ def __ne__(self, other: typing.Any) -> bool:
157
+ ...
158
+ def __repr__(self) -> str:
159
+ ...
160
+ def __setstate__(self, state: int) -> None:
161
+ ...
162
+ def __str__(self) -> str:
163
+ ...
164
+ @property
165
+ def name(self) -> str:
166
+ ...
167
+ @property
168
+ def value(self) -> int:
169
+ ...
170
+ class AutodiffMode:
171
+ """
172
+ Members:
173
+
174
+ NONE
175
+
176
+ VALIDATION
177
+
178
+ FORWARD
179
+
180
+ REVERSE
181
+ """
182
+ FORWARD: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.FORWARD: 0>
183
+ NONE: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.NONE: 2>
184
+ REVERSE: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.REVERSE: 1>
185
+ VALIDATION: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.VALIDATION: 3>
186
+ __members__: typing.ClassVar[dict[str, AutodiffMode]] # value = {'NONE': <AutodiffMode.NONE: 2>, 'VALIDATION': <AutodiffMode.VALIDATION: 3>, 'FORWARD': <AutodiffMode.FORWARD: 0>, 'REVERSE': <AutodiffMode.REVERSE: 1>}
187
+ def __eq__(self, other: typing.Any) -> bool:
188
+ ...
189
+ def __ge__(self, other: typing.Any) -> bool:
190
+ ...
191
+ def __getstate__(self) -> int:
192
+ ...
193
+ def __gt__(self, other: typing.Any) -> bool:
194
+ ...
195
+ def __hash__(self) -> int:
196
+ ...
197
+ def __index__(self) -> int:
198
+ ...
199
+ def __init__(self, value: int) -> None:
200
+ ...
201
+ def __int__(self) -> int:
202
+ ...
203
+ def __le__(self, other: typing.Any) -> bool:
204
+ ...
205
+ def __lt__(self, other: typing.Any) -> bool:
206
+ ...
207
+ def __ne__(self, other: typing.Any) -> bool:
208
+ ...
209
+ def __repr__(self) -> str:
210
+ ...
211
+ def __setstate__(self, state: int) -> None:
212
+ ...
213
+ def __str__(self) -> str:
214
+ ...
215
+ @property
216
+ def name(self) -> str:
217
+ ...
218
+ @property
219
+ def value(self) -> int:
220
+ ...
221
+ class Axis:
222
+ def __init__(self, arg0: int) -> None:
223
+ ...
224
+ class Benchmark:
225
+ def initialize(self, arg0: Config) -> None:
226
+ ...
227
+ def run(self, arg0: int) -> float:
228
+ ...
229
+ def test(self) -> bool:
230
+ ...
231
+ class BinaryOpType:
232
+ """
233
+ Members:
234
+
235
+ mul
236
+
237
+ add
238
+
239
+ sub
240
+
241
+ truediv
242
+
243
+ floordiv
244
+
245
+ div
246
+
247
+ mod
248
+
249
+ max
250
+
251
+ min
252
+
253
+ bit_and
254
+
255
+ bit_or
256
+
257
+ bit_xor
258
+
259
+ bit_shl
260
+
261
+ bit_shr
262
+
263
+ bit_sar
264
+
265
+ cmp_lt
266
+
267
+ cmp_le
268
+
269
+ cmp_gt
270
+
271
+ cmp_ge
272
+
273
+ cmp_eq
274
+
275
+ cmp_ne
276
+
277
+ atan2
278
+
279
+ pow
280
+
281
+ undefined
282
+ """
283
+ __members__: typing.ClassVar[dict[str, BinaryOpType]] # value = {'mul': <BinaryOpType.mul: 0>, 'add': <BinaryOpType.add: 1>, 'sub': <BinaryOpType.sub: 2>, 'truediv': <BinaryOpType.truediv: 3>, 'floordiv': <BinaryOpType.floordiv: 4>, 'div': <BinaryOpType.div: 5>, 'mod': <BinaryOpType.mod: 6>, 'max': <BinaryOpType.max: 7>, 'min': <BinaryOpType.min: 8>, 'bit_and': <BinaryOpType.bit_and: 9>, 'bit_or': <BinaryOpType.bit_or: 10>, 'bit_xor': <BinaryOpType.bit_xor: 11>, 'bit_shl': <BinaryOpType.bit_shl: 12>, 'bit_shr': <BinaryOpType.bit_shr: 13>, 'bit_sar': <BinaryOpType.bit_sar: 14>, 'cmp_lt': <BinaryOpType.cmp_lt: 15>, 'cmp_le': <BinaryOpType.cmp_le: 16>, 'cmp_gt': <BinaryOpType.cmp_gt: 17>, 'cmp_ge': <BinaryOpType.cmp_ge: 18>, 'cmp_eq': <BinaryOpType.cmp_eq: 19>, 'cmp_ne': <BinaryOpType.cmp_ne: 20>, 'atan2': <BinaryOpType.atan2: 21>, 'pow': <BinaryOpType.pow: 22>, 'undefined': <BinaryOpType.undefined: 23>}
284
+ add: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.add: 1>
285
+ atan2: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.atan2: 21>
286
+ bit_and: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_and: 9>
287
+ bit_or: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_or: 10>
288
+ bit_sar: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_sar: 14>
289
+ bit_shl: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_shl: 12>
290
+ bit_shr: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_shr: 13>
291
+ bit_xor: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_xor: 11>
292
+ cmp_eq: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_eq: 19>
293
+ cmp_ge: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_ge: 18>
294
+ cmp_gt: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_gt: 17>
295
+ cmp_le: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_le: 16>
296
+ cmp_lt: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_lt: 15>
297
+ cmp_ne: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_ne: 20>
298
+ div: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.div: 5>
299
+ floordiv: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.floordiv: 4>
300
+ max: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.max: 7>
301
+ min: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.min: 8>
302
+ mod: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.mod: 6>
303
+ mul: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.mul: 0>
304
+ pow: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.pow: 22>
305
+ sub: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.sub: 2>
306
+ truediv: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.truediv: 3>
307
+ undefined: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.undefined: 23>
308
+ def __eq__(self, other: typing.Any) -> bool:
309
+ ...
310
+ def __ge__(self, other: typing.Any) -> bool:
311
+ ...
312
+ def __getstate__(self) -> int:
313
+ ...
314
+ def __gt__(self, other: typing.Any) -> bool:
315
+ ...
316
+ def __hash__(self) -> int:
317
+ ...
318
+ def __index__(self) -> int:
319
+ ...
320
+ def __init__(self, value: int) -> None:
321
+ ...
322
+ def __int__(self) -> int:
323
+ ...
324
+ def __le__(self, other: typing.Any) -> bool:
325
+ ...
326
+ def __lt__(self, other: typing.Any) -> bool:
327
+ ...
328
+ def __ne__(self, other: typing.Any) -> bool:
329
+ ...
330
+ def __repr__(self) -> str:
331
+ ...
332
+ def __setstate__(self, state: int) -> None:
333
+ ...
334
+ def __str__(self) -> str:
335
+ ...
336
+ @property
337
+ def name(self) -> str:
338
+ ...
339
+ @property
340
+ def value(self) -> int:
341
+ ...
342
+ class BitStructType:
343
+ pass
344
+ class BitStructTypeBuilder:
345
+ def __init__(self, arg0: int) -> None:
346
+ ...
347
+ def add_member(self, arg0: Type) -> int:
348
+ ...
349
+ def begin_placing_shared_exponent(self) -> None:
350
+ ...
351
+ def build(self) -> BitStructType:
352
+ ...
353
+ def end_placing_shared_exponent(self) -> None:
354
+ ...
355
+ class BoundaryMode:
356
+ """
357
+ Members:
358
+
359
+ UNSAFE
360
+
361
+ CLAMP
362
+ """
363
+ CLAMP: typing.ClassVar[BoundaryMode] # value = <BoundaryMode.CLAMP: 1>
364
+ UNSAFE: typing.ClassVar[BoundaryMode] # value = <BoundaryMode.UNSAFE: 0>
365
+ __members__: typing.ClassVar[dict[str, BoundaryMode]] # value = {'UNSAFE': <BoundaryMode.UNSAFE: 0>, 'CLAMP': <BoundaryMode.CLAMP: 1>}
366
+ def __eq__(self, other: typing.Any) -> bool:
367
+ ...
368
+ def __ge__(self, other: typing.Any) -> bool:
369
+ ...
370
+ def __getstate__(self) -> int:
371
+ ...
372
+ def __gt__(self, other: typing.Any) -> bool:
373
+ ...
374
+ def __hash__(self) -> int:
375
+ ...
376
+ def __index__(self) -> int:
377
+ ...
378
+ def __init__(self, value: int) -> None:
379
+ ...
380
+ def __int__(self) -> int:
381
+ ...
382
+ def __le__(self, other: typing.Any) -> bool:
383
+ ...
384
+ def __lt__(self, other: typing.Any) -> bool:
385
+ ...
386
+ def __ne__(self, other: typing.Any) -> bool:
387
+ ...
388
+ def __repr__(self) -> str:
389
+ ...
390
+ def __setstate__(self, state: int) -> None:
391
+ ...
392
+ def __str__(self) -> str:
393
+ ...
394
+ @property
395
+ def name(self) -> str:
396
+ ...
397
+ @property
398
+ def value(self) -> int:
399
+ ...
400
+ class CGd:
401
+ def __init__(self, arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> None:
402
+ ...
403
+ def get_x(self) -> numpy.ndarray[numpy.float64[m, 1]]:
404
+ ...
405
+ def is_success(self) -> bool:
406
+ ...
407
+ def set_b(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> None:
408
+ ...
409
+ def set_b_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
410
+ ...
411
+ def set_x(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> None:
412
+ ...
413
+ def set_x_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
414
+ ...
415
+ def solve(self) -> None:
416
+ ...
417
+ class CGf:
418
+ def __init__(self, arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> None:
419
+ ...
420
+ def get_x(self) -> numpy.ndarray[numpy.float32[m, 1]]:
421
+ ...
422
+ def is_success(self) -> bool:
423
+ ...
424
+ def set_b(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> None:
425
+ ...
426
+ def set_b_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
427
+ ...
428
+ def set_x(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> None:
429
+ ...
430
+ def set_x_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
431
+ ...
432
+ def solve(self) -> None:
433
+ ...
434
+ class CUCG:
435
+ def solve(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
436
+ ...
437
+ class CompileConfig:
438
+ ad_stack_size: int
439
+ advanced_optimization: bool
440
+ arch: Arch
441
+ auto_mesh_local_default_occupacy: int
442
+ cache_loop_invariant_global_vars: bool
443
+ cfg_optimization: bool
444
+ check_out_of_bound: bool
445
+ cpu_block_dim_adaptive: bool
446
+ cpu_max_num_threads: int
447
+ cuda_stack_limit: int
448
+ debug: bool
449
+ default_cpu_block_dim: int
450
+ default_fp: DataTypeCxx
451
+ default_gpu_block_dim: int
452
+ default_ip: DataTypeCxx
453
+ default_up: DataTypeCxx
454
+ demote_dense_struct_fors: bool
455
+ demote_no_access_mesh_fors: bool
456
+ detect_read_only: bool
457
+ device_memory_GB: float
458
+ device_memory_fraction: float
459
+ experimental_auto_mesh_local: bool
460
+ fast_math: bool
461
+ flatten_if: bool
462
+ force_scalarize_matrix: bool
463
+ gpu_max_reg: int
464
+ half2_vectorization: bool
465
+ kernel_profiler: bool
466
+ lower_access: bool
467
+ make_block_local: bool
468
+ make_cpu_multithreading_loop: bool
469
+ make_mesh_block_local: bool
470
+ make_thread_local: bool
471
+ max_block_dim: int
472
+ mesh_localize_all_attr_mappings: bool
473
+ mesh_localize_from_end_mapping: bool
474
+ mesh_localize_to_end_mapping: bool
475
+ move_loop_invariant_outside_if: bool
476
+ num_compile_threads: int
477
+ offline_cache: bool
478
+ offline_cache_cleaning_factor: float
479
+ offline_cache_cleaning_policy: str
480
+ offline_cache_file_path: str
481
+ offline_cache_max_size_of_files: int
482
+ opt_level: int
483
+ optimize_mesh_reordered_mapping: bool
484
+ print_accessor_ir: bool
485
+ print_ir: bool
486
+ print_ir_dbg_info: bool
487
+ print_kernel_amdgcn: bool
488
+ print_kernel_asm: bool
489
+ print_kernel_llvm_ir: bool
490
+ print_kernel_llvm_ir_optimized: bool
491
+ print_preprocessed_ir: bool
492
+ print_struct_llvm_ir: bool
493
+ quant_opt_atomic_demotion: bool
494
+ quant_opt_store_fusion: bool
495
+ random_seed: int
496
+ real_matrix_scalarize: bool
497
+ saturating_grid_dim: int
498
+ simplify_after_lower_access: bool
499
+ simplify_before_lower_access: bool
500
+ timeline: bool
501
+ use_llvm: bool
502
+ verbose: bool
503
+ verbose_kernel_launches: bool
504
+ vk_api_version: str
505
+ def __init__(self) -> None:
506
+ ...
507
+ class CompiledKernelData:
508
+ pass
509
+ class Config:
510
+ pass
511
+ class ConvType:
512
+ """
513
+ Members:
514
+
515
+ l2g
516
+
517
+ l2r
518
+
519
+ g2r
520
+ """
521
+ __members__: typing.ClassVar[dict[str, ConvType]] # value = {'l2g': <ConvType.l2g: 0>, 'l2r': <ConvType.l2r: 1>, 'g2r': <ConvType.g2r: 2>}
522
+ g2r: typing.ClassVar[ConvType] # value = <ConvType.g2r: 2>
523
+ l2g: typing.ClassVar[ConvType] # value = <ConvType.l2g: 0>
524
+ l2r: typing.ClassVar[ConvType] # value = <ConvType.l2r: 1>
525
+ def __eq__(self, other: typing.Any) -> bool:
526
+ ...
527
+ def __ge__(self, other: typing.Any) -> bool:
528
+ ...
529
+ def __getstate__(self) -> int:
530
+ ...
531
+ def __gt__(self, other: typing.Any) -> bool:
532
+ ...
533
+ def __hash__(self) -> int:
534
+ ...
535
+ def __index__(self) -> int:
536
+ ...
537
+ def __init__(self, value: int) -> None:
538
+ ...
539
+ def __int__(self) -> int:
540
+ ...
541
+ def __le__(self, other: typing.Any) -> bool:
542
+ ...
543
+ def __lt__(self, other: typing.Any) -> bool:
544
+ ...
545
+ def __ne__(self, other: typing.Any) -> bool:
546
+ ...
547
+ def __repr__(self) -> str:
548
+ ...
549
+ def __setstate__(self, state: int) -> None:
550
+ ...
551
+ def __str__(self) -> str:
552
+ ...
553
+ @property
554
+ def name(self) -> str:
555
+ ...
556
+ @property
557
+ def value(self) -> int:
558
+ ...
559
+ class CuSparseMatrix(SparseMatrix):
560
+ def __add__(self, arg0: CuSparseMatrix) -> SparseMatrix:
561
+ ...
562
+ @typing.overload
563
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
564
+ ...
565
+ @typing.overload
566
+ def __init__(self, arg0: CuSparseMatrix) -> None:
567
+ ...
568
+ def __mul__(self, arg0: float) -> SparseMatrix:
569
+ ...
570
+ def __rmul__(self, arg0: float) -> SparseMatrix:
571
+ ...
572
+ def __sub__(self, arg0: CuSparseMatrix) -> SparseMatrix:
573
+ ...
574
+ def get_element(self, arg0: int, arg1: int) -> float:
575
+ ...
576
+ def matmul(self, arg0: CuSparseMatrix) -> SparseMatrix:
577
+ ...
578
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
579
+ ...
580
+ def to_string(self) -> str:
581
+ ...
582
+ def transpose(self) -> SparseMatrix:
583
+ ...
584
+ class CuSparseSolver(SparseSolver):
585
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
586
+ ...
587
+ def compute(self, arg0: SparseMatrix) -> bool:
588
+ ...
589
+ def factorize(self, arg0: SparseMatrix) -> None:
590
+ ...
591
+ def info(self) -> bool:
592
+ ...
593
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
594
+ ...
595
+ class DataTypeCxx:
596
+ def __call__(self, *args, **kwargs) -> None:
597
+ ...
598
+ def __eq__(self, arg0: DataTypeCxx) -> bool:
599
+ ...
600
+ def __getstate__(self) -> tuple:
601
+ ...
602
+ def __hash__(self) -> int:
603
+ ...
604
+ def __init__(self, arg0: ...) -> None:
605
+ ...
606
+ def __setstate__(self, arg0: tuple) -> None:
607
+ ...
608
+ def __str__(self) -> str:
609
+ ...
610
+ def element_type(self) -> DataTypeCxx:
611
+ ...
612
+ def get_ptr(self) -> ...:
613
+ ...
614
+ def ptr_removed(self) -> DataTypeCxx:
615
+ ...
616
+ def shape(self) -> tuple[int, ...]:
617
+ ...
618
+ def to_string(self) -> str:
619
+ ...
620
+ class DebugInfo:
621
+ src_loc: ...
622
+ tb: str
623
+ @typing.overload
624
+ def __init__(self) -> None:
625
+ ...
626
+ @typing.overload
627
+ def __init__(self, arg0: str) -> None:
628
+ ...
629
+ @typing.overload
630
+ def __init__(self) -> None:
631
+ ...
632
+ class DeviceAllocation:
633
+ def __init__(self, device: int, alloc_id: int) -> None:
634
+ ...
635
+ @property
636
+ def alloc_id(self) -> int:
637
+ ...
638
+ @property
639
+ def device(self) -> ...:
640
+ ...
641
+ class DeviceCapabilityConfig:
642
+ pass
643
+ class EigenSparseSolverfloat32LDLTAMD(SparseSolver):
644
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
645
+ ...
646
+ def compute(self, arg0: SparseMatrix) -> bool:
647
+ ...
648
+ def factorize(self, arg0: SparseMatrix) -> None:
649
+ ...
650
+ def info(self) -> bool:
651
+ ...
652
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
653
+ ...
654
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
655
+ ...
656
+ class EigenSparseSolverfloat32LDLTCOLAMD(SparseSolver):
657
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
658
+ ...
659
+ def compute(self, arg0: SparseMatrix) -> bool:
660
+ ...
661
+ def factorize(self, arg0: SparseMatrix) -> None:
662
+ ...
663
+ def info(self) -> bool:
664
+ ...
665
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
666
+ ...
667
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
668
+ ...
669
+ class EigenSparseSolverfloat32LLTAMD(SparseSolver):
670
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
671
+ ...
672
+ def compute(self, arg0: SparseMatrix) -> bool:
673
+ ...
674
+ def factorize(self, arg0: SparseMatrix) -> None:
675
+ ...
676
+ def info(self) -> bool:
677
+ ...
678
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
679
+ ...
680
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
681
+ ...
682
+ class EigenSparseSolverfloat32LLTCOLAMD(SparseSolver):
683
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
684
+ ...
685
+ def compute(self, arg0: SparseMatrix) -> bool:
686
+ ...
687
+ def factorize(self, arg0: SparseMatrix) -> None:
688
+ ...
689
+ def info(self) -> bool:
690
+ ...
691
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
692
+ ...
693
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
694
+ ...
695
+ class EigenSparseSolverfloat32LUAMD(SparseSolver):
696
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
697
+ ...
698
+ def compute(self, arg0: SparseMatrix) -> bool:
699
+ ...
700
+ def factorize(self, arg0: SparseMatrix) -> None:
701
+ ...
702
+ def info(self) -> bool:
703
+ ...
704
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
705
+ ...
706
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
707
+ ...
708
+ class EigenSparseSolverfloat32LUCOLAMD(SparseSolver):
709
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
710
+ ...
711
+ def compute(self, arg0: SparseMatrix) -> bool:
712
+ ...
713
+ def factorize(self, arg0: SparseMatrix) -> None:
714
+ ...
715
+ def info(self) -> bool:
716
+ ...
717
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
718
+ ...
719
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
720
+ ...
721
+ class EigenSparseSolverfloat64LDLTAMD(SparseSolver):
722
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
723
+ ...
724
+ def compute(self, arg0: SparseMatrix) -> bool:
725
+ ...
726
+ def factorize(self, arg0: SparseMatrix) -> None:
727
+ ...
728
+ def info(self) -> bool:
729
+ ...
730
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
731
+ ...
732
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
733
+ ...
734
+ class EigenSparseSolverfloat64LDLTCOLAMD(SparseSolver):
735
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
736
+ ...
737
+ def compute(self, arg0: SparseMatrix) -> bool:
738
+ ...
739
+ def factorize(self, arg0: SparseMatrix) -> None:
740
+ ...
741
+ def info(self) -> bool:
742
+ ...
743
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
744
+ ...
745
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
746
+ ...
747
+ class EigenSparseSolverfloat64LLTAMD(SparseSolver):
748
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
749
+ ...
750
+ def compute(self, arg0: SparseMatrix) -> bool:
751
+ ...
752
+ def factorize(self, arg0: SparseMatrix) -> None:
753
+ ...
754
+ def info(self) -> bool:
755
+ ...
756
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
757
+ ...
758
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
759
+ ...
760
+ class EigenSparseSolverfloat64LLTCOLAMD(SparseSolver):
761
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
762
+ ...
763
+ def compute(self, arg0: SparseMatrix) -> bool:
764
+ ...
765
+ def factorize(self, arg0: SparseMatrix) -> None:
766
+ ...
767
+ def info(self) -> bool:
768
+ ...
769
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
770
+ ...
771
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
772
+ ...
773
+ class EigenSparseSolverfloat64LUAMD(SparseSolver):
774
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
775
+ ...
776
+ def compute(self, arg0: SparseMatrix) -> bool:
777
+ ...
778
+ def factorize(self, arg0: SparseMatrix) -> None:
779
+ ...
780
+ def info(self) -> bool:
781
+ ...
782
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
783
+ ...
784
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
785
+ ...
786
+ class EigenSparseSolverfloat64LUCOLAMD(SparseSolver):
787
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
788
+ ...
789
+ def compute(self, arg0: SparseMatrix) -> bool:
790
+ ...
791
+ def factorize(self, arg0: SparseMatrix) -> None:
792
+ ...
793
+ def info(self) -> bool:
794
+ ...
795
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
796
+ ...
797
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
798
+ ...
799
+ class ExprCxx:
800
+ def get_dbg_info(self) -> DebugInfo:
801
+ ...
802
+ def get_dt(self) -> ...:
803
+ ...
804
+ def get_dynamic_index_stride(self) -> int:
805
+ ...
806
+ def get_dynamic_indexable(self) -> bool:
807
+ ...
808
+ def get_expr_name(self) -> str:
809
+ ...
810
+ def get_raw_address(self) -> int:
811
+ ...
812
+ def get_ret_type(self) -> DataTypeCxx:
813
+ ...
814
+ def get_rvalue_type(self) -> DataTypeCxx:
815
+ ...
816
+ def get_shape(self) -> tuple[int, ...] | None:
817
+ ...
818
+ def get_underlying_ptr_address(self) -> int:
819
+ ...
820
+ def is_external_tensor_expr(self) -> bool:
821
+ ...
822
+ def is_index_expr(self) -> bool:
823
+ ...
824
+ def is_lvalue(self) -> bool:
825
+ ...
826
+ def is_primal(self) -> bool:
827
+ ...
828
+ def is_struct(self) -> bool:
829
+ ...
830
+ def is_tensor(self) -> bool:
831
+ ...
832
+ def set_adjoint(self, arg0: ExprCxx) -> None:
833
+ ...
834
+ def set_adjoint_checkbit(self, arg0: ExprCxx) -> None:
835
+ ...
836
+ def set_dbg_info(self, arg0: DebugInfo) -> None:
837
+ ...
838
+ def set_dual(self, arg0: ExprCxx) -> None:
839
+ ...
840
+ def set_dynamic_index_stride(self, arg0: int) -> None:
841
+ ...
842
+ def set_grad_type(self, arg0: SNodeGradType) -> None:
843
+ ...
844
+ def set_name(self, arg0: str) -> None:
845
+ ...
846
+ def snode(self) -> SNodeCxx:
847
+ ...
848
+ def type_check(self, arg0: CompileConfig) -> None:
849
+ ...
850
+ class ExprGroup:
851
+ def __init__(self) -> None:
852
+ ...
853
+ def push_back(self, arg0: ExprCxx) -> None:
854
+ ...
855
+ def size(self) -> int:
856
+ ...
857
+ class Extension:
858
+ """
859
+ Members:
860
+
861
+ sparse
862
+
863
+ quant
864
+
865
+ mesh
866
+
867
+ quant_basic
868
+
869
+ data64
870
+
871
+ adstack
872
+
873
+ bls
874
+
875
+ assertion
876
+
877
+ extfunc
878
+ """
879
+ __members__: typing.ClassVar[dict[str, Extension]] # value = {'sparse': <Extension.sparse: 0>, 'quant': <Extension.quant: 1>, 'mesh': <Extension.mesh: 2>, 'quant_basic': <Extension.quant_basic: 3>, 'data64': <Extension.data64: 4>, 'adstack': <Extension.adstack: 5>, 'bls': <Extension.bls: 6>, 'assertion': <Extension.assertion: 7>, 'extfunc': <Extension.extfunc: 8>}
880
+ adstack: typing.ClassVar[Extension] # value = <Extension.adstack: 5>
881
+ assertion: typing.ClassVar[Extension] # value = <Extension.assertion: 7>
882
+ bls: typing.ClassVar[Extension] # value = <Extension.bls: 6>
883
+ data64: typing.ClassVar[Extension] # value = <Extension.data64: 4>
884
+ extfunc: typing.ClassVar[Extension] # value = <Extension.extfunc: 8>
885
+ mesh: typing.ClassVar[Extension] # value = <Extension.mesh: 2>
886
+ quant: typing.ClassVar[Extension] # value = <Extension.quant: 1>
887
+ quant_basic: typing.ClassVar[Extension] # value = <Extension.quant_basic: 3>
888
+ sparse: typing.ClassVar[Extension] # value = <Extension.sparse: 0>
889
+ def __eq__(self, other: typing.Any) -> bool:
890
+ ...
891
+ def __ge__(self, other: typing.Any) -> bool:
892
+ ...
893
+ def __getstate__(self) -> int:
894
+ ...
895
+ def __gt__(self, other: typing.Any) -> bool:
896
+ ...
897
+ def __hash__(self) -> int:
898
+ ...
899
+ def __index__(self) -> int:
900
+ ...
901
+ def __init__(self, value: int) -> None:
902
+ ...
903
+ def __int__(self) -> int:
904
+ ...
905
+ def __le__(self, other: typing.Any) -> bool:
906
+ ...
907
+ def __lt__(self, other: typing.Any) -> bool:
908
+ ...
909
+ def __ne__(self, other: typing.Any) -> bool:
910
+ ...
911
+ def __repr__(self) -> str:
912
+ ...
913
+ def __setstate__(self, state: int) -> None:
914
+ ...
915
+ def __str__(self) -> str:
916
+ ...
917
+ @property
918
+ def name(self) -> str:
919
+ ...
920
+ @property
921
+ def value(self) -> int:
922
+ ...
923
+ class Format:
924
+ """
925
+ Members:
926
+
927
+ unknown
928
+
929
+ r8
930
+
931
+ rg8
932
+
933
+ rgba8
934
+
935
+ rgba8srgb
936
+
937
+ bgra8
938
+
939
+ bgra8srgb
940
+
941
+ r8u
942
+
943
+ rg8u
944
+
945
+ rgba8u
946
+
947
+ r8i
948
+
949
+ rg8i
950
+
951
+ rgba8i
952
+
953
+ r16
954
+
955
+ rg16
956
+
957
+ rgb16
958
+
959
+ rgba16
960
+
961
+ r16u
962
+
963
+ rg16u
964
+
965
+ rgb16u
966
+
967
+ rgba16u
968
+
969
+ r16i
970
+
971
+ rg16i
972
+
973
+ rgb16i
974
+
975
+ rgba16i
976
+
977
+ r16f
978
+
979
+ rg16f
980
+
981
+ rgb16f
982
+
983
+ rgba16f
984
+
985
+ r32u
986
+
987
+ rg32u
988
+
989
+ rgb32u
990
+
991
+ rgba32u
992
+
993
+ r32i
994
+
995
+ rg32i
996
+
997
+ rgb32i
998
+
999
+ rgba32i
1000
+
1001
+ r32f
1002
+
1003
+ rg32f
1004
+
1005
+ rgb32f
1006
+
1007
+ rgba32f
1008
+
1009
+ depth16
1010
+
1011
+ depth24stencil8
1012
+
1013
+ depth32f
1014
+ """
1015
+ __members__: typing.ClassVar[dict[str, Format]] # value = {'unknown': <Format.unknown: 0>, 'r8': <Format.r8: 1>, 'rg8': <Format.rg8: 2>, 'rgba8': <Format.rgba8: 3>, 'rgba8srgb': <Format.rgba8srgb: 4>, 'bgra8': <Format.bgra8: 5>, 'bgra8srgb': <Format.bgra8srgb: 6>, 'r8u': <Format.r8u: 7>, 'rg8u': <Format.rg8u: 8>, 'rgba8u': <Format.rgba8u: 9>, 'r8i': <Format.r8i: 10>, 'rg8i': <Format.rg8i: 11>, 'rgba8i': <Format.rgba8i: 12>, 'r16': <Format.r16: 13>, 'rg16': <Format.rg16: 14>, 'rgb16': <Format.rgb16: 15>, 'rgba16': <Format.rgba16: 16>, 'r16u': <Format.r16u: 17>, 'rg16u': <Format.rg16u: 18>, 'rgb16u': <Format.rgb16u: 19>, 'rgba16u': <Format.rgba16u: 20>, 'r16i': <Format.r16i: 21>, 'rg16i': <Format.rg16i: 22>, 'rgb16i': <Format.rgb16i: 23>, 'rgba16i': <Format.rgba16i: 24>, 'r16f': <Format.r16f: 25>, 'rg16f': <Format.rg16f: 26>, 'rgb16f': <Format.rgb16f: 27>, 'rgba16f': <Format.rgba16f: 28>, 'r32u': <Format.r32u: 29>, 'rg32u': <Format.rg32u: 30>, 'rgb32u': <Format.rgb32u: 31>, 'rgba32u': <Format.rgba32u: 32>, 'r32i': <Format.r32i: 33>, 'rg32i': <Format.rg32i: 34>, 'rgb32i': <Format.rgb32i: 35>, 'rgba32i': <Format.rgba32i: 36>, 'r32f': <Format.r32f: 37>, 'rg32f': <Format.rg32f: 38>, 'rgb32f': <Format.rgb32f: 39>, 'rgba32f': <Format.rgba32f: 40>, 'depth16': <Format.depth16: 41>, 'depth24stencil8': <Format.depth24stencil8: 42>, 'depth32f': <Format.depth32f: 43>}
1016
+ bgra8: typing.ClassVar[Format] # value = <Format.bgra8: 5>
1017
+ bgra8srgb: typing.ClassVar[Format] # value = <Format.bgra8srgb: 6>
1018
+ depth16: typing.ClassVar[Format] # value = <Format.depth16: 41>
1019
+ depth24stencil8: typing.ClassVar[Format] # value = <Format.depth24stencil8: 42>
1020
+ depth32f: typing.ClassVar[Format] # value = <Format.depth32f: 43>
1021
+ r16: typing.ClassVar[Format] # value = <Format.r16: 13>
1022
+ r16f: typing.ClassVar[Format] # value = <Format.r16f: 25>
1023
+ r16i: typing.ClassVar[Format] # value = <Format.r16i: 21>
1024
+ r16u: typing.ClassVar[Format] # value = <Format.r16u: 17>
1025
+ r32f: typing.ClassVar[Format] # value = <Format.r32f: 37>
1026
+ r32i: typing.ClassVar[Format] # value = <Format.r32i: 33>
1027
+ r32u: typing.ClassVar[Format] # value = <Format.r32u: 29>
1028
+ r8: typing.ClassVar[Format] # value = <Format.r8: 1>
1029
+ r8i: typing.ClassVar[Format] # value = <Format.r8i: 10>
1030
+ r8u: typing.ClassVar[Format] # value = <Format.r8u: 7>
1031
+ rg16: typing.ClassVar[Format] # value = <Format.rg16: 14>
1032
+ rg16f: typing.ClassVar[Format] # value = <Format.rg16f: 26>
1033
+ rg16i: typing.ClassVar[Format] # value = <Format.rg16i: 22>
1034
+ rg16u: typing.ClassVar[Format] # value = <Format.rg16u: 18>
1035
+ rg32f: typing.ClassVar[Format] # value = <Format.rg32f: 38>
1036
+ rg32i: typing.ClassVar[Format] # value = <Format.rg32i: 34>
1037
+ rg32u: typing.ClassVar[Format] # value = <Format.rg32u: 30>
1038
+ rg8: typing.ClassVar[Format] # value = <Format.rg8: 2>
1039
+ rg8i: typing.ClassVar[Format] # value = <Format.rg8i: 11>
1040
+ rg8u: typing.ClassVar[Format] # value = <Format.rg8u: 8>
1041
+ rgb16: typing.ClassVar[Format] # value = <Format.rgb16: 15>
1042
+ rgb16f: typing.ClassVar[Format] # value = <Format.rgb16f: 27>
1043
+ rgb16i: typing.ClassVar[Format] # value = <Format.rgb16i: 23>
1044
+ rgb16u: typing.ClassVar[Format] # value = <Format.rgb16u: 19>
1045
+ rgb32f: typing.ClassVar[Format] # value = <Format.rgb32f: 39>
1046
+ rgb32i: typing.ClassVar[Format] # value = <Format.rgb32i: 35>
1047
+ rgb32u: typing.ClassVar[Format] # value = <Format.rgb32u: 31>
1048
+ rgba16: typing.ClassVar[Format] # value = <Format.rgba16: 16>
1049
+ rgba16f: typing.ClassVar[Format] # value = <Format.rgba16f: 28>
1050
+ rgba16i: typing.ClassVar[Format] # value = <Format.rgba16i: 24>
1051
+ rgba16u: typing.ClassVar[Format] # value = <Format.rgba16u: 20>
1052
+ rgba32f: typing.ClassVar[Format] # value = <Format.rgba32f: 40>
1053
+ rgba32i: typing.ClassVar[Format] # value = <Format.rgba32i: 36>
1054
+ rgba32u: typing.ClassVar[Format] # value = <Format.rgba32u: 32>
1055
+ rgba8: typing.ClassVar[Format] # value = <Format.rgba8: 3>
1056
+ rgba8i: typing.ClassVar[Format] # value = <Format.rgba8i: 12>
1057
+ rgba8srgb: typing.ClassVar[Format] # value = <Format.rgba8srgb: 4>
1058
+ rgba8u: typing.ClassVar[Format] # value = <Format.rgba8u: 9>
1059
+ unknown: typing.ClassVar[Format] # value = <Format.unknown: 0>
1060
+ def __eq__(self, other: typing.Any) -> bool:
1061
+ ...
1062
+ def __getstate__(self) -> int:
1063
+ ...
1064
+ def __hash__(self) -> int:
1065
+ ...
1066
+ def __index__(self) -> int:
1067
+ ...
1068
+ def __init__(self, value: int) -> None:
1069
+ ...
1070
+ def __int__(self) -> int:
1071
+ ...
1072
+ def __ne__(self, other: typing.Any) -> bool:
1073
+ ...
1074
+ def __repr__(self) -> str:
1075
+ ...
1076
+ def __setstate__(self, state: int) -> None:
1077
+ ...
1078
+ def __str__(self) -> str:
1079
+ ...
1080
+ @property
1081
+ def name(self) -> str:
1082
+ ...
1083
+ @property
1084
+ def value(self) -> int:
1085
+ ...
1086
+ class Function:
1087
+ def ast_builder(self) -> ASTBuilder:
1088
+ ...
1089
+ def finalize_params(self) -> None:
1090
+ ...
1091
+ def finalize_rets(self) -> None:
1092
+ ...
1093
+ def insert_arr_param(self, arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: str) -> tuple[int, ...]:
1094
+ ...
1095
+ def insert_ndarray_param(self, arg0: DataTypeCxx, arg1: int, arg2: str, arg3: bool) -> tuple[int, ...]:
1096
+ ...
1097
+ def insert_pointer_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1098
+ ...
1099
+ def insert_ret(self, arg0: DataTypeCxx) -> int:
1100
+ ...
1101
+ def insert_rw_texture_param(self, arg0: int, arg1: Format, arg2: str) -> tuple[int, ...]:
1102
+ ...
1103
+ def insert_scalar_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1104
+ ...
1105
+ def insert_texture_param(self, arg0: int, arg1: str) -> tuple[int, ...]:
1106
+ ...
1107
+ def set_function_body(self, arg0: typing.Callable[[], None]) -> None:
1108
+ ...
1109
+ class FunctionKey:
1110
+ def __init__(self, arg0: str, arg1: int, arg2: int) -> None:
1111
+ ...
1112
+ @property
1113
+ def instance_id(self) -> int:
1114
+ ...
1115
+ class GsTaichiAssertionError(AssertionError):
1116
+ pass
1117
+ class GsTaichiIndexError(IndexError):
1118
+ pass
1119
+ class GsTaichiRuntimeError(RuntimeError):
1120
+ pass
1121
+ class GsTaichiSyntaxError(SyntaxError):
1122
+ pass
1123
+ class GsTaichiTypeError(TypeError):
1124
+ pass
1125
+ class HackedSignalRegister:
1126
+ def __init__(self) -> None:
1127
+ ...
1128
+ class InternalOp:
1129
+ block_barrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1130
+ block_barrier_and_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1131
+ block_barrier_count_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1132
+ block_barrier_or_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1133
+ composite_extract_0: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1134
+ composite_extract_1: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1135
+ composite_extract_2: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1136
+ composite_extract_3: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1137
+ cuda_active_mask: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1138
+ cuda_all_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1139
+ cuda_any_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1140
+ cuda_ballot_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1141
+ cuda_match_all_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1142
+ cuda_match_any_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1143
+ cuda_shfl_down_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1144
+ cuda_shfl_down_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1145
+ cuda_shfl_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1146
+ cuda_shfl_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1147
+ cuda_shfl_up_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1148
+ cuda_shfl_up_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1149
+ cuda_shfl_xor_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1150
+ cuda_uni_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1151
+ do_nothing: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1152
+ grid_memfence: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1153
+ insert_triplet_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1154
+ insert_triplet_f64: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1155
+ linear_thread_idx: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1156
+ localInvocationId: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1157
+ refresh_counter: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1158
+ subgroupAdd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1159
+ subgroupAnd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1160
+ subgroupBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1161
+ subgroupBroadcast: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1162
+ subgroupElect: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1163
+ subgroupInclusiveAdd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1164
+ subgroupInclusiveAnd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1165
+ subgroupInclusiveMax: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1166
+ subgroupInclusiveMin: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1167
+ subgroupInclusiveMul: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1168
+ subgroupInclusiveOr: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1169
+ subgroupInclusiveXor: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1170
+ subgroupInvocationId: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1171
+ subgroupMax: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1172
+ subgroupMemoryBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1173
+ subgroupMin: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1174
+ subgroupMul: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1175
+ subgroupOr: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1176
+ subgroupSize: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1177
+ subgroupXor: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1178
+ test_active_mask: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1179
+ test_internal_func_args: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1180
+ test_list_manager: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1181
+ test_node_allocator: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1182
+ test_node_allocator_gc_cpu: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1183
+ test_shfl: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1184
+ test_stack: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1185
+ vkGlobalThreadIdx: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1186
+ warp_barrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1187
+ workgroupBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1188
+ workgroupMemoryBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1189
+ class KernelCxx:
1190
+ def ast_builder(self) -> ASTBuilder:
1191
+ ...
1192
+ def finalize_params(self) -> None:
1193
+ ...
1194
+ def finalize_rets(self) -> None:
1195
+ ...
1196
+ def insert_arr_param(self, arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: str) -> tuple[int, ...]:
1197
+ ...
1198
+ def insert_ndarray_param(self, arg0: DataTypeCxx, arg1: int, arg2: str, arg3: bool) -> tuple[int, ...]:
1199
+ ...
1200
+ def insert_pointer_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1201
+ ...
1202
+ def insert_ret(self, arg0: DataTypeCxx) -> int:
1203
+ ...
1204
+ def insert_rw_texture_param(self, arg0: int, arg1: Format, arg2: str) -> tuple[int, ...]:
1205
+ ...
1206
+ def insert_scalar_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1207
+ ...
1208
+ def insert_texture_param(self, arg0: int, arg1: str) -> tuple[int, ...]:
1209
+ ...
1210
+ def make_launch_context(self) -> KernelLaunchContext:
1211
+ ...
1212
+ def no_activate(self, arg0: SNodeCxx) -> None:
1213
+ ...
1214
+ class KernelLaunchContext:
1215
+ def get_struct_ret_float(self, arg0: tuple[int, ...]) -> float:
1216
+ ...
1217
+ def get_struct_ret_int(self, arg0: tuple[int, ...]) -> int:
1218
+ ...
1219
+ def get_struct_ret_uint(self, arg0: tuple[int, ...]) -> int:
1220
+ ...
1221
+ def set_arg_external_array_with_shape(self, arg0: tuple[int, ...], arg1: int, arg2: int, arg3: tuple[int, ...], arg4: int) -> None:
1222
+ ...
1223
+ def set_arg_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1224
+ ...
1225
+ def set_arg_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1226
+ ...
1227
+ def set_arg_ndarray(self, arg0: tuple[int, ...], arg1: Ndarray) -> None:
1228
+ ...
1229
+ def set_arg_ndarray_with_grad(self, arg0: tuple[int, ...], arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
1230
+ ...
1231
+ def set_arg_rw_texture(self, arg0: tuple[int, ...], arg1: TextureCxx) -> None:
1232
+ ...
1233
+ def set_arg_texture(self, arg0: tuple[int, ...], arg1: TextureCxx) -> None:
1234
+ ...
1235
+ def set_arg_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1236
+ ...
1237
+ def set_struct_arg_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1238
+ ...
1239
+ def set_struct_arg_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1240
+ ...
1241
+ def set_struct_arg_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1242
+ ...
1243
+ class KernelProfileTracedRecord:
1244
+ active_blocks_per_multiprocessor: int
1245
+ base_time: float
1246
+ block_size: int
1247
+ grid_size: int
1248
+ kernel_time: float
1249
+ metric_values: list[float]
1250
+ name: str
1251
+ register_per_thread: int
1252
+ shared_mem_per_block: int
1253
+ class KernelProfilerQueryResult:
1254
+ avg: float
1255
+ counter: int
1256
+ max: float
1257
+ min: float
1258
+ class Layout:
1259
+ """
1260
+ Members:
1261
+
1262
+ AOS
1263
+
1264
+ SOA
1265
+
1266
+ NULL
1267
+ """
1268
+ AOS: typing.ClassVar[Layout] # value = <Layout.AOS: 0>
1269
+ NULL: typing.ClassVar[Layout] # value = <Layout.NULL: 2>
1270
+ SOA: typing.ClassVar[Layout] # value = <Layout.SOA: 1>
1271
+ __members__: typing.ClassVar[dict[str, Layout]] # value = {'AOS': <Layout.AOS: 0>, 'SOA': <Layout.SOA: 1>, 'NULL': <Layout.NULL: 2>}
1272
+ def __eq__(self, other: typing.Any) -> bool:
1273
+ ...
1274
+ def __ge__(self, other: typing.Any) -> bool:
1275
+ ...
1276
+ def __getstate__(self) -> int:
1277
+ ...
1278
+ def __gt__(self, other: typing.Any) -> bool:
1279
+ ...
1280
+ def __hash__(self) -> int:
1281
+ ...
1282
+ def __index__(self) -> int:
1283
+ ...
1284
+ def __init__(self, value: int) -> None:
1285
+ ...
1286
+ def __int__(self) -> int:
1287
+ ...
1288
+ def __le__(self, other: typing.Any) -> bool:
1289
+ ...
1290
+ def __lt__(self, other: typing.Any) -> bool:
1291
+ ...
1292
+ def __ne__(self, other: typing.Any) -> bool:
1293
+ ...
1294
+ def __repr__(self) -> str:
1295
+ ...
1296
+ def __setstate__(self, state: int) -> None:
1297
+ ...
1298
+ def __str__(self) -> str:
1299
+ ...
1300
+ @property
1301
+ def name(self) -> str:
1302
+ ...
1303
+ @property
1304
+ def value(self) -> int:
1305
+ ...
1306
+ class Mesh:
1307
+ pass
1308
+ class MeshElementType:
1309
+ """
1310
+ Members:
1311
+
1312
+ Vertex
1313
+
1314
+ Edge
1315
+
1316
+ Face
1317
+
1318
+ Cell
1319
+ """
1320
+ Cell: typing.ClassVar[MeshElementType] # value = <MeshElementType.Cell: 3>
1321
+ Edge: typing.ClassVar[MeshElementType] # value = <MeshElementType.Edge: 1>
1322
+ Face: typing.ClassVar[MeshElementType] # value = <MeshElementType.Face: 2>
1323
+ Vertex: typing.ClassVar[MeshElementType] # value = <MeshElementType.Vertex: 0>
1324
+ __members__: typing.ClassVar[dict[str, MeshElementType]] # value = {'Vertex': <MeshElementType.Vertex: 0>, 'Edge': <MeshElementType.Edge: 1>, 'Face': <MeshElementType.Face: 2>, 'Cell': <MeshElementType.Cell: 3>}
1325
+ def __eq__(self, other: typing.Any) -> bool:
1326
+ ...
1327
+ def __ge__(self, other: typing.Any) -> bool:
1328
+ ...
1329
+ def __getstate__(self) -> int:
1330
+ ...
1331
+ def __gt__(self, other: typing.Any) -> bool:
1332
+ ...
1333
+ def __hash__(self) -> int:
1334
+ ...
1335
+ def __index__(self) -> int:
1336
+ ...
1337
+ def __init__(self, value: int) -> None:
1338
+ ...
1339
+ def __int__(self) -> int:
1340
+ ...
1341
+ def __le__(self, other: typing.Any) -> bool:
1342
+ ...
1343
+ def __lt__(self, other: typing.Any) -> bool:
1344
+ ...
1345
+ def __ne__(self, other: typing.Any) -> bool:
1346
+ ...
1347
+ def __repr__(self) -> str:
1348
+ ...
1349
+ def __setstate__(self, state: int) -> None:
1350
+ ...
1351
+ def __str__(self) -> str:
1352
+ ...
1353
+ @property
1354
+ def name(self) -> str:
1355
+ ...
1356
+ @property
1357
+ def value(self) -> int:
1358
+ ...
1359
+ class MeshPtr:
1360
+ pass
1361
+ class MeshRelationType:
1362
+ """
1363
+ Members:
1364
+
1365
+ VV
1366
+
1367
+ VE
1368
+
1369
+ VF
1370
+
1371
+ VC
1372
+
1373
+ EV
1374
+
1375
+ EE
1376
+
1377
+ EF
1378
+
1379
+ EC
1380
+
1381
+ FV
1382
+
1383
+ FE
1384
+
1385
+ FF
1386
+
1387
+ FC
1388
+
1389
+ CV
1390
+
1391
+ CE
1392
+
1393
+ CF
1394
+
1395
+ CC
1396
+ """
1397
+ CC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CC: 15>
1398
+ CE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CE: 13>
1399
+ CF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CF: 14>
1400
+ CV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CV: 12>
1401
+ EC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EC: 7>
1402
+ EE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EE: 5>
1403
+ EF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EF: 6>
1404
+ EV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EV: 4>
1405
+ FC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FC: 11>
1406
+ FE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FE: 9>
1407
+ FF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FF: 10>
1408
+ FV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FV: 8>
1409
+ VC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VC: 3>
1410
+ VE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VE: 1>
1411
+ VF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VF: 2>
1412
+ VV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VV: 0>
1413
+ __members__: typing.ClassVar[dict[str, MeshRelationType]] # value = {'VV': <MeshRelationType.VV: 0>, 'VE': <MeshRelationType.VE: 1>, 'VF': <MeshRelationType.VF: 2>, 'VC': <MeshRelationType.VC: 3>, 'EV': <MeshRelationType.EV: 4>, 'EE': <MeshRelationType.EE: 5>, 'EF': <MeshRelationType.EF: 6>, 'EC': <MeshRelationType.EC: 7>, 'FV': <MeshRelationType.FV: 8>, 'FE': <MeshRelationType.FE: 9>, 'FF': <MeshRelationType.FF: 10>, 'FC': <MeshRelationType.FC: 11>, 'CV': <MeshRelationType.CV: 12>, 'CE': <MeshRelationType.CE: 13>, 'CF': <MeshRelationType.CF: 14>, 'CC': <MeshRelationType.CC: 15>}
1414
+ def __eq__(self, other: typing.Any) -> bool:
1415
+ ...
1416
+ def __ge__(self, other: typing.Any) -> bool:
1417
+ ...
1418
+ def __getstate__(self) -> int:
1419
+ ...
1420
+ def __gt__(self, other: typing.Any) -> bool:
1421
+ ...
1422
+ def __hash__(self) -> int:
1423
+ ...
1424
+ def __index__(self) -> int:
1425
+ ...
1426
+ def __init__(self, value: int) -> None:
1427
+ ...
1428
+ def __int__(self) -> int:
1429
+ ...
1430
+ def __le__(self, other: typing.Any) -> bool:
1431
+ ...
1432
+ def __lt__(self, other: typing.Any) -> bool:
1433
+ ...
1434
+ def __ne__(self, other: typing.Any) -> bool:
1435
+ ...
1436
+ def __repr__(self) -> str:
1437
+ ...
1438
+ def __setstate__(self, state: int) -> None:
1439
+ ...
1440
+ def __str__(self) -> str:
1441
+ ...
1442
+ @property
1443
+ def name(self) -> str:
1444
+ ...
1445
+ @property
1446
+ def value(self) -> int:
1447
+ ...
1448
+ class MeshTopology:
1449
+ """
1450
+ Members:
1451
+
1452
+ Triangle
1453
+
1454
+ Tetrahedron
1455
+ """
1456
+ Tetrahedron: typing.ClassVar[MeshTopology] # value = <MeshTopology.Tetrahedron: 4>
1457
+ Triangle: typing.ClassVar[MeshTopology] # value = <MeshTopology.Triangle: 3>
1458
+ __members__: typing.ClassVar[dict[str, MeshTopology]] # value = {'Triangle': <MeshTopology.Triangle: 3>, 'Tetrahedron': <MeshTopology.Tetrahedron: 4>}
1459
+ def __eq__(self, other: typing.Any) -> bool:
1460
+ ...
1461
+ def __ge__(self, other: typing.Any) -> bool:
1462
+ ...
1463
+ def __getstate__(self) -> int:
1464
+ ...
1465
+ def __gt__(self, other: typing.Any) -> bool:
1466
+ ...
1467
+ def __hash__(self) -> int:
1468
+ ...
1469
+ def __index__(self) -> int:
1470
+ ...
1471
+ def __init__(self, value: int) -> None:
1472
+ ...
1473
+ def __int__(self) -> int:
1474
+ ...
1475
+ def __le__(self, other: typing.Any) -> bool:
1476
+ ...
1477
+ def __lt__(self, other: typing.Any) -> bool:
1478
+ ...
1479
+ def __ne__(self, other: typing.Any) -> bool:
1480
+ ...
1481
+ def __repr__(self) -> str:
1482
+ ...
1483
+ def __setstate__(self, state: int) -> None:
1484
+ ...
1485
+ def __str__(self) -> str:
1486
+ ...
1487
+ @property
1488
+ def name(self) -> str:
1489
+ ...
1490
+ @property
1491
+ def value(self) -> int:
1492
+ ...
1493
+ class NdarrayCxx:
1494
+ def device_allocation(self) -> DeviceAllocation:
1495
+ ...
1496
+ def device_allocation_ptr(self) -> int:
1497
+ ...
1498
+ def element_data_type(self) -> DataTypeCxx:
1499
+ ...
1500
+ def element_shape(self) -> tuple[int, ...]:
1501
+ ...
1502
+ def element_size(self) -> int:
1503
+ ...
1504
+ def nelement(self) -> int:
1505
+ ...
1506
+ def read_float(self, arg0: tuple[int, ...]) -> float:
1507
+ ...
1508
+ def read_int(self, arg0: tuple[int, ...]) -> int:
1509
+ ...
1510
+ def read_uint(self, arg0: tuple[int, ...]) -> int:
1511
+ ...
1512
+ def total_shape(self) -> tuple[int, ...]:
1513
+ ...
1514
+ def write_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1515
+ ...
1516
+ def write_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1517
+ ...
1518
+ @property
1519
+ def dtype(self) -> DataTypeCxx:
1520
+ ...
1521
+ @property
1522
+ def shape(self) -> tuple[int, ...]:
1523
+ ...
1524
+ class Operation:
1525
+ pass
1526
+ class Program:
1527
+ def __init__(self) -> None:
1528
+ ...
1529
+ def clear_kernel_profiler(self) -> None:
1530
+ ...
1531
+ def compile_kernel(self, arg0: CompileConfig, arg1: DeviceCapabilityConfig, arg2: ...) -> CompiledKernelData:
1532
+ ...
1533
+ def config(self) -> CompileConfig:
1534
+ ...
1535
+ def create_function(self, arg0: ...) -> Function:
1536
+ ...
1537
+ def create_kernel(self, arg0: typing.Callable[[...], None], arg1: str, arg2: AutodiffMode) -> KernelCxx:
1538
+ ...
1539
+ def create_ndarray(self, dt: DataTypeCxx, shape: tuple[int, ...], layout: Layout = ..., zero_fill: bool = False, dbg_info: DebugInfo = ...) -> ...:
1540
+ ...
1541
+ def create_sparse_matrix(self, arg0: int, arg1: int, arg2: DataTypeCxx, arg3: str) -> ...:
1542
+ ...
1543
+ def create_texture(self, fmt: ..., shape: tuple[int, ...] = ()) -> ...:
1544
+ ...
1545
+ def delete_ndarray(self, arg0: ...) -> None:
1546
+ ...
1547
+ def dump_cache_data_to_disk(self) -> None:
1548
+ ...
1549
+ def fill_float(self, arg0: ..., arg1: float) -> None:
1550
+ ...
1551
+ def fill_int(self, arg0: ..., arg1: int) -> None:
1552
+ ...
1553
+ def fill_uint(self, arg0: ..., arg1: int) -> None:
1554
+ ...
1555
+ def finalize(self) -> None:
1556
+ ...
1557
+ def get_device_caps(self) -> DeviceCapabilityConfig:
1558
+ ...
1559
+ def get_graphics_device(self) -> ...:
1560
+ ...
1561
+ def get_kernel_profiler_device_name(self) -> str:
1562
+ ...
1563
+ def get_kernel_profiler_records(self) -> list[KernelProfileTracedRecord]:
1564
+ ...
1565
+ def get_ndarray_data_ptr_as_int(self, arg0: ...) -> int:
1566
+ ...
1567
+ def get_snode_num_dynamically_allocated(self, arg0: ...) -> int:
1568
+ ...
1569
+ def get_snode_root(self, arg0: int) -> ...:
1570
+ ...
1571
+ def get_snode_tree_size(self) -> int:
1572
+ ...
1573
+ def get_total_compilation_time(self) -> float:
1574
+ ...
1575
+ def kernel_profiler_total_time(self) -> float:
1576
+ ...
1577
+ def launch_kernel(self, arg0: CompiledKernelData, arg1: ...) -> None:
1578
+ ...
1579
+ def load_fast_cache(self, arg0: str, arg1: str, arg2: CompileConfig, arg3: DeviceCapabilityConfig) -> CompiledKernelData:
1580
+ ...
1581
+ def make_id_expr(self, arg0: str) -> ...:
1582
+ ...
1583
+ def make_sparse_matrix_from_ndarray(self, arg0: ..., arg1: ...) -> None:
1584
+ ...
1585
+ def materialize_runtime(self) -> None:
1586
+ ...
1587
+ def print_memory_profiler_info(self) -> None:
1588
+ ...
1589
+ def query_kernel_profile_info(self, arg0: str) -> KernelProfilerQueryResult:
1590
+ ...
1591
+ def reinit_kernel_profiler_with_metrics(self, arg0: list[str]) -> bool:
1592
+ ...
1593
+ def set_kernel_profiler_toolkit(self, arg0: str) -> bool:
1594
+ ...
1595
+ def store_fast_cache(self, arg0: str, arg1: ..., arg2: CompileConfig, arg3: DeviceCapabilityConfig, arg4: CompiledKernelData) -> None:
1596
+ ...
1597
+ def sync_kernel_profiler(self) -> None:
1598
+ ...
1599
+ def synchronize(self) -> None:
1600
+ ...
1601
+ def timeline_clear(self) -> None:
1602
+ ...
1603
+ def timeline_save(self, arg0: str) -> None:
1604
+ ...
1605
+ def update_kernel_profiler(self) -> None:
1606
+ ...
1607
+ class SNodeAccessFlag:
1608
+ """
1609
+ Members:
1610
+
1611
+ block_local
1612
+
1613
+ read_only
1614
+
1615
+ mesh_local
1616
+ """
1617
+ __members__: typing.ClassVar[dict[str, SNodeAccessFlag]] # value = {'block_local': <SNodeAccessFlag.block_local: 0>, 'read_only': <SNodeAccessFlag.read_only: 1>, 'mesh_local': <SNodeAccessFlag.mesh_local: 2>}
1618
+ block_local: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.block_local: 0>
1619
+ mesh_local: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.mesh_local: 2>
1620
+ read_only: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.read_only: 1>
1621
+ def __eq__(self, other: typing.Any) -> bool:
1622
+ ...
1623
+ def __ge__(self, other: typing.Any) -> bool:
1624
+ ...
1625
+ def __getstate__(self) -> int:
1626
+ ...
1627
+ def __gt__(self, other: typing.Any) -> bool:
1628
+ ...
1629
+ def __hash__(self) -> int:
1630
+ ...
1631
+ def __index__(self) -> int:
1632
+ ...
1633
+ def __init__(self, value: int) -> None:
1634
+ ...
1635
+ def __int__(self) -> int:
1636
+ ...
1637
+ def __le__(self, other: typing.Any) -> bool:
1638
+ ...
1639
+ def __lt__(self, other: typing.Any) -> bool:
1640
+ ...
1641
+ def __ne__(self, other: typing.Any) -> bool:
1642
+ ...
1643
+ def __repr__(self) -> str:
1644
+ ...
1645
+ def __setstate__(self, state: int) -> None:
1646
+ ...
1647
+ def __str__(self) -> str:
1648
+ ...
1649
+ @property
1650
+ def name(self) -> str:
1651
+ ...
1652
+ @property
1653
+ def value(self) -> int:
1654
+ ...
1655
+ class SNodeCxx:
1656
+ parent: SNodeCxx
1657
+ def __init__(self) -> None:
1658
+ ...
1659
+ def allocate_adjoint_checkbit(self) -> None:
1660
+ ...
1661
+ def bit_struct(self, arg0: ..., arg1: DebugInfo) -> SNodeCxx:
1662
+ ...
1663
+ def bitmasked(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1664
+ ...
1665
+ def data_type(self) -> DataTypeCxx:
1666
+ ...
1667
+ def dense(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1668
+ ...
1669
+ def dynamic(self, arg0: Axis, arg1: int, arg2: int, arg3: DebugInfo) -> SNodeCxx:
1670
+ ...
1671
+ def get_ch(self, arg0: int) -> SNodeCxx:
1672
+ ...
1673
+ def get_expr(self) -> ...:
1674
+ ...
1675
+ def get_num_ch(self) -> int:
1676
+ ...
1677
+ def get_physical_index_position(self) -> tuple[int, ...]:
1678
+ ...
1679
+ def get_shape_along_axis(self, arg0: int) -> int:
1680
+ ...
1681
+ def get_snode_grad_type(self) -> SNodeGradType:
1682
+ ...
1683
+ def get_snode_tree_id(self) -> int:
1684
+ ...
1685
+ def has_adjoint(self) -> bool:
1686
+ ...
1687
+ def has_adjoint_checkbit(self) -> bool:
1688
+ ...
1689
+ def has_dual(self) -> bool:
1690
+ ...
1691
+ def hash(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1692
+ ...
1693
+ def is_place(self) -> bool:
1694
+ ...
1695
+ def is_primal(self) -> bool:
1696
+ ...
1697
+ def lazy_dual(self) -> None:
1698
+ ...
1699
+ def lazy_grad(self) -> None:
1700
+ ...
1701
+ def name(self) -> str:
1702
+ ...
1703
+ def num_active_indices(self) -> int:
1704
+ ...
1705
+ def place(self, arg0: ..., arg1: tuple[int, ...], arg2: int) -> None:
1706
+ ...
1707
+ def pointer(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1708
+ ...
1709
+ def quant_array(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: int, arg3: DebugInfo) -> SNodeCxx:
1710
+ ...
1711
+ def read_float(self, arg0: tuple[int, ...]) -> float:
1712
+ ...
1713
+ def read_int(self, arg0: tuple[int, ...]) -> int:
1714
+ ...
1715
+ def read_uint(self, arg0: tuple[int, ...]) -> int:
1716
+ ...
1717
+ def write_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1718
+ ...
1719
+ def write_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1720
+ ...
1721
+ def write_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1722
+ ...
1723
+ @property
1724
+ def cell_size_bytes(self) -> int:
1725
+ ...
1726
+ @property
1727
+ def id(self) -> int:
1728
+ ...
1729
+ @property
1730
+ def offset(self) -> tuple[int, ...]:
1731
+ ...
1732
+ @property
1733
+ def offset_bytes_in_parent_cell(self) -> int:
1734
+ ...
1735
+ @property
1736
+ def type(self) -> SNodeType:
1737
+ ...
1738
+ class SNodeGradType:
1739
+ """
1740
+ Members:
1741
+
1742
+ PRIMAL
1743
+
1744
+ ADJOINT
1745
+
1746
+ DUAL
1747
+
1748
+ ADJOINT_CHECKBIT
1749
+ """
1750
+ ADJOINT: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.ADJOINT: 1>
1751
+ ADJOINT_CHECKBIT: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.ADJOINT_CHECKBIT: 3>
1752
+ DUAL: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.DUAL: 2>
1753
+ PRIMAL: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.PRIMAL: 0>
1754
+ __members__: typing.ClassVar[dict[str, SNodeGradType]] # value = {'PRIMAL': <SNodeGradType.PRIMAL: 0>, 'ADJOINT': <SNodeGradType.ADJOINT: 1>, 'DUAL': <SNodeGradType.DUAL: 2>, 'ADJOINT_CHECKBIT': <SNodeGradType.ADJOINT_CHECKBIT: 3>}
1755
+ def __eq__(self, other: typing.Any) -> bool:
1756
+ ...
1757
+ def __ge__(self, other: typing.Any) -> bool:
1758
+ ...
1759
+ def __getstate__(self) -> int:
1760
+ ...
1761
+ def __gt__(self, other: typing.Any) -> bool:
1762
+ ...
1763
+ def __hash__(self) -> int:
1764
+ ...
1765
+ def __index__(self) -> int:
1766
+ ...
1767
+ def __init__(self, value: int) -> None:
1768
+ ...
1769
+ def __int__(self) -> int:
1770
+ ...
1771
+ def __le__(self, other: typing.Any) -> bool:
1772
+ ...
1773
+ def __lt__(self, other: typing.Any) -> bool:
1774
+ ...
1775
+ def __ne__(self, other: typing.Any) -> bool:
1776
+ ...
1777
+ def __repr__(self) -> str:
1778
+ ...
1779
+ def __setstate__(self, state: int) -> None:
1780
+ ...
1781
+ def __str__(self) -> str:
1782
+ ...
1783
+ @property
1784
+ def name(self) -> str:
1785
+ ...
1786
+ @property
1787
+ def value(self) -> int:
1788
+ ...
1789
+ class SNodeRegistry:
1790
+ def __init__(self) -> None:
1791
+ ...
1792
+ def create_root(self, arg0: Program) -> SNodeCxx:
1793
+ ...
1794
+ class SNodeTreeCxx:
1795
+ def destroy_snode_tree(self, arg0: Program) -> None:
1796
+ ...
1797
+ def id(self) -> int:
1798
+ ...
1799
+ class SNodeType:
1800
+ """
1801
+ Members:
1802
+
1803
+ root
1804
+
1805
+ dense
1806
+
1807
+ dynamic
1808
+
1809
+ pointer
1810
+
1811
+ bitmasked
1812
+
1813
+ hash
1814
+
1815
+ place
1816
+
1817
+ bit_struct
1818
+
1819
+ quant_array
1820
+
1821
+ undefined
1822
+ """
1823
+ __members__: typing.ClassVar[dict[str, SNodeType]] # value = {'root': <SNodeType.root: 0>, 'dense': <SNodeType.dense: 1>, 'dynamic': <SNodeType.dynamic: 2>, 'pointer': <SNodeType.pointer: 3>, 'bitmasked': <SNodeType.bitmasked: 4>, 'hash': <SNodeType.hash: 5>, 'place': <SNodeType.place: 6>, 'bit_struct': <SNodeType.bit_struct: 7>, 'quant_array': <SNodeType.quant_array: 8>, 'undefined': <SNodeType.undefined: 9>}
1824
+ bit_struct: typing.ClassVar[SNodeType] # value = <SNodeType.bit_struct: 7>
1825
+ bitmasked: typing.ClassVar[SNodeType] # value = <SNodeType.bitmasked: 4>
1826
+ dense: typing.ClassVar[SNodeType] # value = <SNodeType.dense: 1>
1827
+ dynamic: typing.ClassVar[SNodeType] # value = <SNodeType.dynamic: 2>
1828
+ hash: typing.ClassVar[SNodeType] # value = <SNodeType.hash: 5>
1829
+ place: typing.ClassVar[SNodeType] # value = <SNodeType.place: 6>
1830
+ pointer: typing.ClassVar[SNodeType] # value = <SNodeType.pointer: 3>
1831
+ quant_array: typing.ClassVar[SNodeType] # value = <SNodeType.quant_array: 8>
1832
+ root: typing.ClassVar[SNodeType] # value = <SNodeType.root: 0>
1833
+ undefined: typing.ClassVar[SNodeType] # value = <SNodeType.undefined: 9>
1834
+ def __eq__(self, other: typing.Any) -> bool:
1835
+ ...
1836
+ def __ge__(self, other: typing.Any) -> bool:
1837
+ ...
1838
+ def __getstate__(self) -> int:
1839
+ ...
1840
+ def __gt__(self, other: typing.Any) -> bool:
1841
+ ...
1842
+ def __hash__(self) -> int:
1843
+ ...
1844
+ def __index__(self) -> int:
1845
+ ...
1846
+ def __init__(self, value: int) -> None:
1847
+ ...
1848
+ def __int__(self) -> int:
1849
+ ...
1850
+ def __le__(self, other: typing.Any) -> bool:
1851
+ ...
1852
+ def __lt__(self, other: typing.Any) -> bool:
1853
+ ...
1854
+ def __ne__(self, other: typing.Any) -> bool:
1855
+ ...
1856
+ def __repr__(self) -> str:
1857
+ ...
1858
+ def __setstate__(self, state: int) -> None:
1859
+ ...
1860
+ def __str__(self) -> str:
1861
+ ...
1862
+ @property
1863
+ def name(self) -> str:
1864
+ ...
1865
+ @property
1866
+ def value(self) -> int:
1867
+ ...
1868
+ class SparseMatrix:
1869
+ @typing.overload
1870
+ def __init__(self) -> None:
1871
+ ...
1872
+ @typing.overload
1873
+ def __init__(self, rows: int, cols: int, dt: DataTypeCxx = ...) -> None:
1874
+ ...
1875
+ @typing.overload
1876
+ def __init__(self, arg0: SparseMatrix) -> None:
1877
+ ...
1878
+ def get_data_type(self) -> DataTypeCxx:
1879
+ ...
1880
+ def get_element(self, arg0: int, arg1: int) -> float:
1881
+ ...
1882
+ def mmwrite(self, arg0: str) -> None:
1883
+ ...
1884
+ def num_cols(self) -> int:
1885
+ ...
1886
+ def num_rows(self) -> int:
1887
+ ...
1888
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
1889
+ ...
1890
+ def to_string(self) -> str:
1891
+ ...
1892
+ class SparseMatrixBuilder:
1893
+ def __init__(self, rows: int, cols: int, max_num_triplets: int, dt: DataTypeCxx = ..., storage_format: str = 'col_major') -> None:
1894
+ ...
1895
+ def build(self) -> ...:
1896
+ ...
1897
+ def build_cuda(self) -> ...:
1898
+ ...
1899
+ def create_ndarray(self, arg0: Program) -> None:
1900
+ ...
1901
+ def delete_ndarray(self, arg0: Program) -> None:
1902
+ ...
1903
+ def get_addr(self) -> int:
1904
+ ...
1905
+ def get_ndarray_data_ptr(self) -> int:
1906
+ ...
1907
+ def print_triplets_cuda(self) -> None:
1908
+ ...
1909
+ def print_triplets_eigen(self) -> None:
1910
+ ...
1911
+ class SparseSolver:
1912
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
1913
+ ...
1914
+ def compute(self, arg0: SparseMatrix) -> bool:
1915
+ ...
1916
+ def factorize(self, arg0: SparseMatrix) -> None:
1917
+ ...
1918
+ def info(self) -> bool:
1919
+ ...
1920
+ class Stmt:
1921
+ pass
1922
+ class Task:
1923
+ def initialize(self, arg0: Config) -> None:
1924
+ ...
1925
+ def run(self, arg0: list[str]) -> str:
1926
+ ...
1927
+ class TextureCxx:
1928
+ def device_allocation_ptr(self) -> int:
1929
+ ...
1930
+ def from_ndarray(self, arg0: NdarrayCxx) -> None:
1931
+ ...
1932
+ def from_snode(self, arg0: SNodeCxx) -> None:
1933
+ ...
1934
+ class TextureOpType:
1935
+ """
1936
+ Members:
1937
+
1938
+ kUndefined
1939
+
1940
+ kSampleLod
1941
+
1942
+ kFetchTexel
1943
+
1944
+ kLoad
1945
+
1946
+ kStore
1947
+ """
1948
+ __members__: typing.ClassVar[dict[str, TextureOpType]] # value = {'kUndefined': <TextureOpType.kUndefined: 0>, 'kSampleLod': <TextureOpType.kSampleLod: 1>, 'kFetchTexel': <TextureOpType.kFetchTexel: 2>, 'kLoad': <TextureOpType.kLoad: 3>, 'kStore': <TextureOpType.kStore: 4>}
1949
+ kFetchTexel: typing.ClassVar[TextureOpType] # value = <TextureOpType.kFetchTexel: 2>
1950
+ kLoad: typing.ClassVar[TextureOpType] # value = <TextureOpType.kLoad: 3>
1951
+ kSampleLod: typing.ClassVar[TextureOpType] # value = <TextureOpType.kSampleLod: 1>
1952
+ kStore: typing.ClassVar[TextureOpType] # value = <TextureOpType.kStore: 4>
1953
+ kUndefined: typing.ClassVar[TextureOpType] # value = <TextureOpType.kUndefined: 0>
1954
+ def __eq__(self, other: typing.Any) -> bool:
1955
+ ...
1956
+ def __ge__(self, other: typing.Any) -> bool:
1957
+ ...
1958
+ def __getstate__(self) -> int:
1959
+ ...
1960
+ def __gt__(self, other: typing.Any) -> bool:
1961
+ ...
1962
+ def __hash__(self) -> int:
1963
+ ...
1964
+ def __index__(self) -> int:
1965
+ ...
1966
+ def __init__(self, value: int) -> None:
1967
+ ...
1968
+ def __int__(self) -> int:
1969
+ ...
1970
+ def __le__(self, other: typing.Any) -> bool:
1971
+ ...
1972
+ def __lt__(self, other: typing.Any) -> bool:
1973
+ ...
1974
+ def __ne__(self, other: typing.Any) -> bool:
1975
+ ...
1976
+ def __repr__(self) -> str:
1977
+ ...
1978
+ def __setstate__(self, state: int) -> None:
1979
+ ...
1980
+ def __str__(self) -> str:
1981
+ ...
1982
+ @property
1983
+ def name(self) -> str:
1984
+ ...
1985
+ @property
1986
+ def value(self) -> int:
1987
+ ...
1988
+ class Type:
1989
+ def to_string(self) -> str:
1990
+ ...
1991
+ class TypeFactory:
1992
+ def get_ndarray_struct_type(self, dt: DataTypeCxx, ndim: int, needs_grad: bool) -> Type:
1993
+ ...
1994
+ def get_quant_fixed_type(self, digits_type: Type, compute_type: Type, scale: float) -> Type:
1995
+ ...
1996
+ def get_quant_float_type(self, digits_type: Type, exponent_type: Type, compute_type: Type) -> Type:
1997
+ ...
1998
+ def get_quant_int_type(self, num_bits: int, is_signed: bool, compute_type: Type) -> Type:
1999
+ ...
2000
+ def get_rwtexture_struct_type(self) -> Type:
2001
+ ...
2002
+ def get_struct_type(self, arg0: list[tuple[DataTypeCxx, str]]) -> DataTypeCxx:
2003
+ ...
2004
+ def get_tensor_type(self, shape: tuple[int, ...], element_type: DataType) -> DataTypeCxx:
2005
+ ...
2006
+ class UnaryOpType:
2007
+ """
2008
+ Members:
2009
+
2010
+ neg
2011
+
2012
+ sqrt
2013
+
2014
+ round
2015
+
2016
+ floor
2017
+
2018
+ frexp
2019
+
2020
+ ceil
2021
+
2022
+ cast_value
2023
+
2024
+ cast_bits
2025
+
2026
+ abs
2027
+
2028
+ sgn
2029
+
2030
+ sin
2031
+
2032
+ asin
2033
+
2034
+ cos
2035
+
2036
+ acos
2037
+
2038
+ tan
2039
+
2040
+ tanh
2041
+
2042
+ inv
2043
+
2044
+ rcp
2045
+
2046
+ exp
2047
+
2048
+ log
2049
+
2050
+ popcnt
2051
+
2052
+ clz
2053
+
2054
+ rsqrt
2055
+
2056
+ bit_not
2057
+
2058
+ logic_not
2059
+
2060
+ undefined
2061
+ """
2062
+ __members__: typing.ClassVar[dict[str, UnaryOpType]] # value = {'neg': <UnaryOpType.neg: 0>, 'sqrt': <UnaryOpType.sqrt: 1>, 'round': <UnaryOpType.round: 2>, 'floor': <UnaryOpType.floor: 3>, 'frexp': <UnaryOpType.frexp: 4>, 'ceil': <UnaryOpType.ceil: 5>, 'cast_value': <UnaryOpType.cast_value: 6>, 'cast_bits': <UnaryOpType.cast_bits: 7>, 'abs': <UnaryOpType.abs: 8>, 'sgn': <UnaryOpType.sgn: 9>, 'sin': <UnaryOpType.sin: 10>, 'asin': <UnaryOpType.asin: 11>, 'cos': <UnaryOpType.cos: 12>, 'acos': <UnaryOpType.acos: 13>, 'tan': <UnaryOpType.tan: 14>, 'tanh': <UnaryOpType.tanh: 15>, 'inv': <UnaryOpType.inv: 16>, 'rcp': <UnaryOpType.rcp: 17>, 'exp': <UnaryOpType.exp: 18>, 'log': <UnaryOpType.log: 19>, 'popcnt': <UnaryOpType.popcnt: 20>, 'clz': <UnaryOpType.clz: 21>, 'rsqrt': <UnaryOpType.rsqrt: 22>, 'bit_not': <UnaryOpType.bit_not: 23>, 'logic_not': <UnaryOpType.logic_not: 24>, 'undefined': <UnaryOpType.undefined: 25>}
2063
+ abs: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.abs: 8>
2064
+ acos: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.acos: 13>
2065
+ asin: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.asin: 11>
2066
+ bit_not: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.bit_not: 23>
2067
+ cast_bits: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cast_bits: 7>
2068
+ cast_value: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cast_value: 6>
2069
+ ceil: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.ceil: 5>
2070
+ clz: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.clz: 21>
2071
+ cos: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cos: 12>
2072
+ exp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.exp: 18>
2073
+ floor: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.floor: 3>
2074
+ frexp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.frexp: 4>
2075
+ inv: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.inv: 16>
2076
+ log: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.log: 19>
2077
+ logic_not: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.logic_not: 24>
2078
+ neg: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.neg: 0>
2079
+ popcnt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.popcnt: 20>
2080
+ rcp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.rcp: 17>
2081
+ round: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.round: 2>
2082
+ rsqrt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.rsqrt: 22>
2083
+ sgn: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sgn: 9>
2084
+ sin: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sin: 10>
2085
+ sqrt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sqrt: 1>
2086
+ tan: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.tan: 14>
2087
+ tanh: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.tanh: 15>
2088
+ undefined: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.undefined: 25>
2089
+ def __eq__(self, other: typing.Any) -> bool:
2090
+ ...
2091
+ def __ge__(self, other: typing.Any) -> bool:
2092
+ ...
2093
+ def __getstate__(self) -> int:
2094
+ ...
2095
+ def __gt__(self, other: typing.Any) -> bool:
2096
+ ...
2097
+ def __hash__(self) -> int:
2098
+ ...
2099
+ def __index__(self) -> int:
2100
+ ...
2101
+ def __init__(self, value: int) -> None:
2102
+ ...
2103
+ def __int__(self) -> int:
2104
+ ...
2105
+ def __le__(self, other: typing.Any) -> bool:
2106
+ ...
2107
+ def __lt__(self, other: typing.Any) -> bool:
2108
+ ...
2109
+ def __ne__(self, other: typing.Any) -> bool:
2110
+ ...
2111
+ def __repr__(self) -> str:
2112
+ ...
2113
+ def __setstate__(self, state: int) -> None:
2114
+ ...
2115
+ def __str__(self) -> str:
2116
+ ...
2117
+ @property
2118
+ def name(self) -> str:
2119
+ ...
2120
+ @property
2121
+ def value(self) -> int:
2122
+ ...
2123
+ class Vector2d:
2124
+ x: float
2125
+ y: float
2126
+ def __getitem__(self, arg0: int) -> float:
2127
+ ...
2128
+ @typing.overload
2129
+ def __init__(self, arg0: float, arg1: float) -> None:
2130
+ ...
2131
+ @typing.overload
2132
+ def __init__(self, arg0: float) -> None:
2133
+ ...
2134
+ def __len__(self) -> int:
2135
+ ...
2136
+ class Vector2f:
2137
+ x: float
2138
+ y: float
2139
+ def __getitem__(self, arg0: int) -> float:
2140
+ ...
2141
+ @typing.overload
2142
+ def __init__(self, arg0: float, arg1: float) -> None:
2143
+ ...
2144
+ @typing.overload
2145
+ def __init__(self, arg0: float) -> None:
2146
+ ...
2147
+ def __len__(self) -> int:
2148
+ ...
2149
+ class Vector2i:
2150
+ x: int
2151
+ y: int
2152
+ def __getitem__(self, arg0: int) -> int:
2153
+ ...
2154
+ @typing.overload
2155
+ def __init__(self, arg0: int, arg1: int) -> None:
2156
+ ...
2157
+ @typing.overload
2158
+ def __init__(self, arg0: int) -> None:
2159
+ ...
2160
+ def __len__(self) -> int:
2161
+ ...
2162
+ class Vector3d:
2163
+ x: float
2164
+ y: float
2165
+ z: float
2166
+ def __getitem__(self, arg0: int) -> float:
2167
+ ...
2168
+ @typing.overload
2169
+ def __init__(self, arg0: float, arg1: float, arg2: float) -> None:
2170
+ ...
2171
+ @typing.overload
2172
+ def __init__(self, arg0: float) -> None:
2173
+ ...
2174
+ def __len__(self) -> int:
2175
+ ...
2176
+ class Vector3f:
2177
+ x: float
2178
+ y: float
2179
+ z: float
2180
+ def __getitem__(self, arg0: int) -> float:
2181
+ ...
2182
+ @typing.overload
2183
+ def __init__(self, arg0: float, arg1: float, arg2: float) -> None:
2184
+ ...
2185
+ @typing.overload
2186
+ def __init__(self, arg0: float) -> None:
2187
+ ...
2188
+ def __len__(self) -> int:
2189
+ ...
2190
+ class Vector3i:
2191
+ x: int
2192
+ y: int
2193
+ z: int
2194
+ def __getitem__(self, arg0: int) -> int:
2195
+ ...
2196
+ @typing.overload
2197
+ def __init__(self, arg0: int, arg1: int, arg2: int) -> None:
2198
+ ...
2199
+ @typing.overload
2200
+ def __init__(self, arg0: int) -> None:
2201
+ ...
2202
+ def __len__(self) -> int:
2203
+ ...
2204
+ class Vector4d:
2205
+ w: float
2206
+ x: float
2207
+ y: float
2208
+ z: float
2209
+ def __getitem__(self, arg0: int) -> float:
2210
+ ...
2211
+ @typing.overload
2212
+ def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None:
2213
+ ...
2214
+ @typing.overload
2215
+ def __init__(self, arg0: float) -> None:
2216
+ ...
2217
+ def __len__(self) -> int:
2218
+ ...
2219
+ class Vector4f:
2220
+ w: float
2221
+ x: float
2222
+ y: float
2223
+ z: float
2224
+ def __getitem__(self, arg0: int) -> float:
2225
+ ...
2226
+ @typing.overload
2227
+ def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None:
2228
+ ...
2229
+ @typing.overload
2230
+ def __init__(self, arg0: float) -> None:
2231
+ ...
2232
+ def __len__(self) -> int:
2233
+ ...
2234
+ class Vector4i:
2235
+ w: int
2236
+ x: int
2237
+ y: int
2238
+ z: int
2239
+ def __getitem__(self, arg0: int) -> int:
2240
+ ...
2241
+ @typing.overload
2242
+ def __init__(self, arg0: int, arg1: int, arg2: int, arg3: int) -> None:
2243
+ ...
2244
+ @typing.overload
2245
+ def __init__(self, arg0: int) -> None:
2246
+ ...
2247
+ def __len__(self) -> int:
2248
+ ...
2249
+ class dColMajor_EigenSparseMatrix(SparseMatrix):
2250
+ def __add__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2251
+ ...
2252
+ def __iadd__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2253
+ ...
2254
+ def __imul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2255
+ ...
2256
+ @typing.overload
2257
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2258
+ ...
2259
+ @typing.overload
2260
+ def __init__(self, arg0: dColMajor_EigenSparseMatrix) -> None:
2261
+ ...
2262
+ @typing.overload
2263
+ def __init__(self, arg0: scipy.sparse.csc_matrix) -> None:
2264
+ ...
2265
+ def __isub__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2266
+ ...
2267
+ @typing.overload
2268
+ def __mul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2269
+ ...
2270
+ @typing.overload
2271
+ def __mul__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2272
+ ...
2273
+ def __rmul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2274
+ ...
2275
+ def __sub__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2276
+ ...
2277
+ def get_element(self, arg0: int, arg1: int) -> float:
2278
+ ...
2279
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
2280
+ ...
2281
+ def matmul(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2282
+ ...
2283
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2284
+ ...
2285
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2286
+ ...
2287
+ def transpose(self) -> dColMajor_EigenSparseMatrix:
2288
+ ...
2289
+ class dRowMajor_EigenSparseMatrix(SparseMatrix):
2290
+ def __add__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2291
+ ...
2292
+ def __iadd__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2293
+ ...
2294
+ def __imul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2295
+ ...
2296
+ @typing.overload
2297
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2298
+ ...
2299
+ @typing.overload
2300
+ def __init__(self, arg0: dRowMajor_EigenSparseMatrix) -> None:
2301
+ ...
2302
+ @typing.overload
2303
+ def __init__(self, arg0: scipy.sparse.csr_matrix) -> None:
2304
+ ...
2305
+ def __isub__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2306
+ ...
2307
+ @typing.overload
2308
+ def __mul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2309
+ ...
2310
+ @typing.overload
2311
+ def __mul__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2312
+ ...
2313
+ def __rmul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2314
+ ...
2315
+ def __sub__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2316
+ ...
2317
+ def get_element(self, arg0: int, arg1: int) -> float:
2318
+ ...
2319
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
2320
+ ...
2321
+ def matmul(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2322
+ ...
2323
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2324
+ ...
2325
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2326
+ ...
2327
+ def transpose(self) -> dRowMajor_EigenSparseMatrix:
2328
+ ...
2329
+ class fColMajor_EigenSparseMatrix(SparseMatrix):
2330
+ def __add__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2331
+ ...
2332
+ def __iadd__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2333
+ ...
2334
+ def __imul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2335
+ ...
2336
+ @typing.overload
2337
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2338
+ ...
2339
+ @typing.overload
2340
+ def __init__(self, arg0: fColMajor_EigenSparseMatrix) -> None:
2341
+ ...
2342
+ @typing.overload
2343
+ def __init__(self, arg0: scipy.sparse.csc_matrix) -> None:
2344
+ ...
2345
+ def __isub__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2346
+ ...
2347
+ @typing.overload
2348
+ def __mul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2349
+ ...
2350
+ @typing.overload
2351
+ def __mul__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2352
+ ...
2353
+ def __rmul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2354
+ ...
2355
+ def __sub__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2356
+ ...
2357
+ def get_element(self, arg0: int, arg1: int) -> float:
2358
+ ...
2359
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
2360
+ ...
2361
+ def matmul(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2362
+ ...
2363
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2364
+ ...
2365
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2366
+ ...
2367
+ def transpose(self) -> fColMajor_EigenSparseMatrix:
2368
+ ...
2369
+ class fRowMajor_EigenSparseMatrix(SparseMatrix):
2370
+ def __add__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2371
+ ...
2372
+ def __iadd__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2373
+ ...
2374
+ def __imul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2375
+ ...
2376
+ @typing.overload
2377
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2378
+ ...
2379
+ @typing.overload
2380
+ def __init__(self, arg0: fRowMajor_EigenSparseMatrix) -> None:
2381
+ ...
2382
+ @typing.overload
2383
+ def __init__(self, arg0: scipy.sparse.csr_matrix) -> None:
2384
+ ...
2385
+ def __isub__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2386
+ ...
2387
+ @typing.overload
2388
+ def __mul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2389
+ ...
2390
+ @typing.overload
2391
+ def __mul__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2392
+ ...
2393
+ def __rmul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2394
+ ...
2395
+ def __sub__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2396
+ ...
2397
+ def get_element(self, arg0: int, arg1: int) -> float:
2398
+ ...
2399
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
2400
+ ...
2401
+ def matmul(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2402
+ ...
2403
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2404
+ ...
2405
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2406
+ ...
2407
+ def transpose(self) -> fRowMajor_EigenSparseMatrix:
2408
+ ...
2409
+ def arch_from_name(arg0: str) -> Arch:
2410
+ ...
2411
+ def arch_name(arg0: Arch) -> str:
2412
+ ...
2413
+ def arch_uses_llvm(arg0: Arch) -> bool:
2414
+ ...
2415
+ def bits_cast(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2416
+ ...
2417
+ def clear_profile_info() -> None:
2418
+ ...
2419
+ def create_benchmark(arg0: str) -> ...:
2420
+ ...
2421
+ def create_initialized_benchmark(arg0: str, arg1: ...) -> ...:
2422
+ ...
2423
+ def create_initialized_task(arg0: str, arg1: ...) -> ...:
2424
+ ...
2425
+ def create_mesh() -> MeshPtr:
2426
+ ...
2427
+ def create_task(arg0: str) -> ...:
2428
+ ...
2429
+ def critical(arg0: str) -> None:
2430
+ ...
2431
+ def cuda_version() -> str:
2432
+ ...
2433
+ def data_type_name(arg0: DataTypeCxx) -> str:
2434
+ ...
2435
+ def data_type_size(arg0: DataTypeCxx) -> int:
2436
+ ...
2437
+ def debug(arg0: str) -> None:
2438
+ ...
2439
+ def default_compile_config() -> CompileConfig:
2440
+ ...
2441
+ def element_order(arg0: MeshElementType) -> int:
2442
+ ...
2443
+ def element_type_name(arg0: MeshElementType) -> str:
2444
+ ...
2445
+ def error(arg0: str) -> None:
2446
+ ...
2447
+ def expr_abs(arg0: ExprCxx) -> ExprCxx:
2448
+ ...
2449
+ def expr_acos(arg0: ExprCxx) -> ExprCxx:
2450
+ ...
2451
+ def expr_add(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2452
+ ...
2453
+ def expr_asin(arg0: ExprCxx) -> ExprCxx:
2454
+ ...
2455
+ def expr_assume_in_range(arg0: ExprCxx, arg1: ExprCxx, arg2: int, arg3: int, arg4: DebugInfo) -> ExprCxx:
2456
+ ...
2457
+ def expr_atan2(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2458
+ ...
2459
+ def expr_atomic_add(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2460
+ ...
2461
+ def expr_atomic_bit_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2462
+ ...
2463
+ def expr_atomic_bit_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2464
+ ...
2465
+ def expr_atomic_bit_xor(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2466
+ ...
2467
+ def expr_atomic_max(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2468
+ ...
2469
+ def expr_atomic_min(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2470
+ ...
2471
+ def expr_atomic_mul(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2472
+ ...
2473
+ def expr_atomic_sub(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2474
+ ...
2475
+ def expr_bit_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2476
+ ...
2477
+ def expr_bit_not(arg0: ExprCxx) -> ExprCxx:
2478
+ ...
2479
+ def expr_bit_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2480
+ ...
2481
+ def expr_bit_sar(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2482
+ ...
2483
+ def expr_bit_shl(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2484
+ ...
2485
+ def expr_bit_shr(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2486
+ ...
2487
+ def expr_bit_xor(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2488
+ ...
2489
+ def expr_ceil(arg0: ExprCxx) -> ExprCxx:
2490
+ ...
2491
+ def expr_clz(arg0: ExprCxx) -> ExprCxx:
2492
+ ...
2493
+ def expr_cmp_eq(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2494
+ ...
2495
+ def expr_cmp_ge(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2496
+ ...
2497
+ def expr_cmp_gt(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2498
+ ...
2499
+ def expr_cmp_le(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2500
+ ...
2501
+ def expr_cmp_lt(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2502
+ ...
2503
+ def expr_cmp_ne(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2504
+ ...
2505
+ def expr_cos(arg0: ExprCxx) -> ExprCxx:
2506
+ ...
2507
+ def expr_div(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2508
+ ...
2509
+ def expr_exp(arg0: ExprCxx) -> ExprCxx:
2510
+ ...
2511
+ def expr_field(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2512
+ ...
2513
+ def expr_floor(arg0: ExprCxx) -> ExprCxx:
2514
+ ...
2515
+ def expr_floordiv(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2516
+ ...
2517
+ def expr_frexp(arg0: ExprCxx) -> ExprCxx:
2518
+ ...
2519
+ def expr_ifte(arg0: ExprCxx, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2520
+ ...
2521
+ def expr_inv(arg0: ExprCxx) -> ExprCxx:
2522
+ ...
2523
+ def expr_log(arg0: ExprCxx) -> ExprCxx:
2524
+ ...
2525
+ def expr_logic_not(arg0: ExprCxx) -> ExprCxx:
2526
+ ...
2527
+ def expr_logical_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2528
+ ...
2529
+ def expr_logical_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2530
+ ...
2531
+ def expr_loop_unique(arg0: ExprCxx, arg1: list[SNodeCxx], arg2: DebugInfo) -> ExprCxx:
2532
+ ...
2533
+ def expr_matrix_field(arg0: list[ExprCxx], arg1: tuple[int, ...]) -> ExprCxx:
2534
+ ...
2535
+ def expr_max(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2536
+ ...
2537
+ def expr_min(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2538
+ ...
2539
+ def expr_mod(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2540
+ ...
2541
+ def expr_mul(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2542
+ ...
2543
+ def expr_neg(arg0: ExprCxx) -> ExprCxx:
2544
+ ...
2545
+ def expr_popcnt(arg0: ExprCxx) -> ExprCxx:
2546
+ ...
2547
+ def expr_pow(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2548
+ ...
2549
+ def expr_rcp(arg0: ExprCxx) -> ExprCxx:
2550
+ ...
2551
+ def expr_round(arg0: ExprCxx) -> ExprCxx:
2552
+ ...
2553
+ def expr_rsqrt(arg0: ExprCxx) -> ExprCxx:
2554
+ ...
2555
+ def expr_select(arg0: ExprCxx, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2556
+ ...
2557
+ def expr_sin(arg0: ExprCxx) -> ExprCxx:
2558
+ ...
2559
+ def expr_sqrt(arg0: ExprCxx) -> ExprCxx:
2560
+ ...
2561
+ def expr_sub(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2562
+ ...
2563
+ def expr_tan(arg0: ExprCxx) -> ExprCxx:
2564
+ ...
2565
+ def expr_tanh(arg0: ExprCxx) -> ExprCxx:
2566
+ ...
2567
+ def expr_truediv(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2568
+ ...
2569
+ def finalize_snode_tree(arg0: SNodeRegistry, arg1: SNodeCxx, arg2: Program, arg3: bool) -> SNodeTreeCxx:
2570
+ ...
2571
+ def flush_log() -> None:
2572
+ ...
2573
+ def from_end_element_order(arg0: MeshRelationType) -> int:
2574
+ ...
2575
+ def get_commit_hash() -> str:
2576
+ ...
2577
+ def get_default_float_size() -> int:
2578
+ ...
2579
+ def get_external_tensor_dim(arg0: ExprCxx) -> int:
2580
+ ...
2581
+ def get_external_tensor_element_dim(arg0: ExprCxx) -> int:
2582
+ ...
2583
+ def get_external_tensor_element_shape(arg0: ExprCxx) -> tuple[int, ...]:
2584
+ ...
2585
+ def get_external_tensor_element_type(arg0: ExprCxx) -> DataTypeCxx:
2586
+ ...
2587
+ def get_external_tensor_needs_grad(arg0: ExprCxx) -> bool:
2588
+ ...
2589
+ def get_external_tensor_real_func_args(arg0: ExprCxx, arg1: DebugInfo) -> list[ExprCxx]:
2590
+ ...
2591
+ def get_external_tensor_shape_along_axis(arg0: ExprCxx, arg1: int, arg2: DebugInfo) -> ExprCxx:
2592
+ ...
2593
+ def get_llvm_target_support() -> str:
2594
+ ...
2595
+ def get_max_num_indices() -> int:
2596
+ ...
2597
+ def get_num_elements(arg0: MeshPtr, arg1: MeshElementType) -> int:
2598
+ ...
2599
+ def get_python_package_dir() -> str:
2600
+ ...
2601
+ def get_relation_access(arg0: ..., arg1: ExprCxx, arg2: ..., arg3: ExprCxx, arg4: DebugInfo) -> ExprCxx:
2602
+ ...
2603
+ def get_relation_size(arg0: ..., arg1: ExprCxx, arg2: ..., arg3: DebugInfo) -> ExprCxx:
2604
+ ...
2605
+ def get_repo_dir() -> str:
2606
+ ...
2607
+ def get_type_factory_instance() -> TypeFactory:
2608
+ ...
2609
+ def get_version_major() -> int:
2610
+ ...
2611
+ def get_version_minor() -> int:
2612
+ ...
2613
+ def get_version_patch() -> int:
2614
+ ...
2615
+ def get_version_string() -> str:
2616
+ ...
2617
+ def host_arch() -> Arch:
2618
+ ...
2619
+ def info(arg0: str) -> None:
2620
+ ...
2621
+ def insert_internal_func_call(arg0: ..., arg1: ExprGroup) -> ExprCxx:
2622
+ ...
2623
+ def inverse_relation(arg0: MeshRelationType) -> MeshRelationType:
2624
+ ...
2625
+ def is_extension_supported(arg0: Arch, arg1: Extension) -> bool:
2626
+ ...
2627
+ def is_integral(arg0: DataTypeCxx) -> bool:
2628
+ ...
2629
+ def is_quant(arg0: DataTypeCxx) -> bool:
2630
+ ...
2631
+ def is_real(arg0: DataTypeCxx) -> bool:
2632
+ ...
2633
+ def is_signed(arg0: DataTypeCxx) -> bool:
2634
+ ...
2635
+ def is_tensor(arg0: DataTypeCxx) -> bool:
2636
+ ...
2637
+ def is_unsigned(arg0: DataTypeCxx) -> bool:
2638
+ ...
2639
+ def libdevice_path() -> str:
2640
+ ...
2641
+ def logging_effective(arg0: str) -> bool:
2642
+ ...
2643
+ def make_arg_load_expr(arg_id: tuple[int, ...], dt: DataTypeCxx, is_ptr: bool = False, create_load: bool = True, dbg_info: DebugInfo = ...) -> ExprCxx:
2644
+ ...
2645
+ def make_binary_op_expr(arg0: BinaryOpType, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2646
+ ...
2647
+ def make_const_expr_bool(arg0: DataType, arg1: bool | np.bool_) -> ExprCxx:
2648
+ ...
2649
+ def make_const_expr_fp(arg0: DataType, arg1: float | np.floating) -> ExprCxx:
2650
+ ...
2651
+ def make_const_expr_int(arg0: DataType, arg1: int | np.int32 | np.int64) -> ExprCxx:
2652
+ ...
2653
+ def make_cucg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CUCG:
2654
+ ...
2655
+ def make_cusparse_solver(arg0: DataTypeCxx, arg1: str, arg2: str) -> SparseSolver:
2656
+ ...
2657
+ def make_double_cg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CGd:
2658
+ ...
2659
+ def make_external_tensor_expr(arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: bool, arg4: BoundaryMode) -> ExprCxx:
2660
+ ...
2661
+ def make_external_tensor_grad_expr(arg0: ExprCxx) -> ExprCxx:
2662
+ ...
2663
+ def make_float_cg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CGf:
2664
+ ...
2665
+ def make_frontend_assign_stmt(arg0: ExprCxx, arg1: ExprCxx, arg2: DebugInfo) -> Stmt:
2666
+ ...
2667
+ def make_get_element_expr(arg0: Expr, arg1: tuple[int, ...], arg2: DebugInfo) -> ExprCxx:
2668
+ ...
2669
+ def make_global_load_stmt(arg0: Stmt) -> Stmt:
2670
+ ...
2671
+ def make_global_store_stmt(arg0: Stmt, arg1: Stmt) -> Stmt:
2672
+ ...
2673
+ def make_rand_expr(arg0: DataTypeCxx, arg1: DebugInfo) -> ExprCxx:
2674
+ ...
2675
+ def make_reference(arg0: ExprCxx, arg1: DebugInfo) -> ExprCxx:
2676
+ ...
2677
+ def make_rw_texture_ptr_expr(arg0: tuple[int, ...], arg1: int, arg2: Format, arg3: int, arg4: DebugInfo) -> ExprCxx:
2678
+ ...
2679
+ def make_sparse_solver(arg0: DataTypeCxx, arg1: str, arg2: str) -> SparseSolver:
2680
+ ...
2681
+ def make_texture_ptr_expr(arg0: tuple[int, ...], arg1: int, arg2: DebugInfo) -> ExprCxx:
2682
+ ...
2683
+ def make_unary_op_expr(arg0: UnaryOpType, arg1: ExprCxx) -> ExprCxx:
2684
+ ...
2685
+ def pop_python_print_buffer() -> str:
2686
+ ...
2687
+ def print_all_units() -> None:
2688
+ ...
2689
+ def print_profile_info() -> None:
2690
+ ...
2691
+ def promoted_type(arg0: DataTypeCxx, arg1: DataTypeCxx) -> DataTypeCxx:
2692
+ ...
2693
+ def query_int64(arg0: str) -> None:
2694
+ ...
2695
+ def relation_by_orders(arg0: int, arg1: int) -> MeshRelationType:
2696
+ ...
2697
+ def reset_default_compile_config() -> None:
2698
+ ...
2699
+ def set_core_state_python_imported(arg0: bool) -> None:
2700
+ ...
2701
+ def set_core_trigger_gdb_when_crash(arg0: bool) -> None:
2702
+ ...
2703
+ def set_index_mapping(arg0: MeshPtr, arg1: MeshElementType, arg2: ConvType, arg3: SNodeCxx) -> None:
2704
+ ...
2705
+ def set_lib_dir(arg0: str) -> None:
2706
+ ...
2707
+ def set_logging_level(arg0: str) -> None:
2708
+ ...
2709
+ def set_logging_level_default() -> None:
2710
+ ...
2711
+ def set_num_elements(arg0: MeshPtr, arg1: MeshElementType, arg2: int) -> None:
2712
+ ...
2713
+ def set_num_patches(arg0: MeshPtr, arg1: int) -> None:
2714
+ ...
2715
+ def set_owned_offset(arg0: MeshPtr, arg1: MeshElementType, arg2: SNodeCxx) -> None:
2716
+ ...
2717
+ def set_patch_max_element_num(arg0: MeshPtr, arg1: MeshElementType, arg2: int) -> None:
2718
+ ...
2719
+ def set_python_package_dir(arg0: str) -> None:
2720
+ ...
2721
+ def set_relation_dynamic(arg0: MeshPtr, arg1: MeshRelationType, arg2: SNodeCxx, arg3: SNodeCxx, arg4: SNodeCxx) -> None:
2722
+ ...
2723
+ def set_relation_fixed(arg0: MeshPtr, arg1: MeshRelationType, arg2: SNodeCxx) -> None:
2724
+ ...
2725
+ def set_tmp_dir(arg0: str) -> None:
2726
+ ...
2727
+ def set_total_offset(arg0: MeshPtr, arg1: MeshElementType, arg2: SNodeCxx) -> None:
2728
+ ...
2729
+ def set_vulkan_visible_device(arg0: str) -> None:
2730
+ ...
2731
+ def start_memory_monitoring(arg0: str, arg1: int, arg2: float) -> None:
2732
+ ...
2733
+ def subscript_with_multiple_indices(arg0: ExprCxx, arg1: list[ExprGroup], arg2: tuple[int, ...], arg3: DebugInfo) -> ExprCxx:
2734
+ ...
2735
+ def test_cpp_exception() -> None:
2736
+ ...
2737
+ def test_logging() -> None:
2738
+ ...
2739
+ def test_printf() -> None:
2740
+ ...
2741
+ def test_raise_error() -> None:
2742
+ ...
2743
+ def test_threading() -> bool:
2744
+ ...
2745
+ @typing.overload
2746
+ def test_throw() -> None:
2747
+ ...
2748
+ @typing.overload
2749
+ def test_throw() -> None:
2750
+ ...
2751
+ def to_end_element_order(arg0: MeshRelationType) -> int:
2752
+ ...
2753
+ def toggle_python_print_buffer(arg0: bool) -> None:
2754
+ ...
2755
+ def trace(arg0: str) -> None:
2756
+ ...
2757
+ def trigger_crash() -> None:
2758
+ ...
2759
+ def trigger_sig_fpe() -> int:
2760
+ ...
2761
+ def value_cast(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2762
+ ...
2763
+ def wait_for_debugger() -> None:
2764
+ ...
2765
+ def warn(arg0: str) -> None:
2766
+ ...
2767
+ def with_amdgpu() -> bool:
2768
+ ...
2769
+ def with_cuda() -> bool:
2770
+ ...
2771
+ def with_metal() -> bool:
2772
+ ...
2773
+ def with_vulkan() -> bool:
2774
+ ...
2775
+ ADJOINT: SNodeGradType # value = <SNodeGradType.ADJOINT: 1>
2776
+ ADJOINT_CHECKBIT: SNodeGradType # value = <SNodeGradType.ADJOINT_CHECKBIT: 3>
2777
+ AOS: Layout # value = <Layout.AOS: 0>
2778
+ CC: MeshRelationType # value = <MeshRelationType.CC: 15>
2779
+ CE: MeshRelationType # value = <MeshRelationType.CE: 13>
2780
+ CF: MeshRelationType # value = <MeshRelationType.CF: 14>
2781
+ CLAMP: BoundaryMode # value = <BoundaryMode.CLAMP: 1>
2782
+ CV: MeshRelationType # value = <MeshRelationType.CV: 12>
2783
+ Cell: MeshElementType # value = <MeshElementType.Cell: 3>
2784
+ DUAL: SNodeGradType # value = <SNodeGradType.DUAL: 2>
2785
+ DataType_f16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2786
+ DataType_f32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2787
+ DataType_f64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2788
+ DataType_gen: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2789
+ DataType_i16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2790
+ DataType_i32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2791
+ DataType_i64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2792
+ DataType_i8: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2793
+ DataType_u1: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2794
+ DataType_u16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2795
+ DataType_u32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2796
+ DataType_u64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2797
+ DataType_u8: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2798
+ DataType_unknown: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2799
+ EC: MeshRelationType # value = <MeshRelationType.EC: 7>
2800
+ EE: MeshRelationType # value = <MeshRelationType.EE: 5>
2801
+ EF: MeshRelationType # value = <MeshRelationType.EF: 6>
2802
+ EV: MeshRelationType # value = <MeshRelationType.EV: 4>
2803
+ Edge: MeshElementType # value = <MeshElementType.Edge: 1>
2804
+ FC: MeshRelationType # value = <MeshRelationType.FC: 11>
2805
+ FE: MeshRelationType # value = <MeshRelationType.FE: 9>
2806
+ FF: MeshRelationType # value = <MeshRelationType.FF: 10>
2807
+ FORWARD: AutodiffMode # value = <AutodiffMode.FORWARD: 0>
2808
+ FV: MeshRelationType # value = <MeshRelationType.FV: 8>
2809
+ Face: MeshElementType # value = <MeshElementType.Face: 2>
2810
+ NONE: AutodiffMode # value = <AutodiffMode.NONE: 2>
2811
+ NULL: Layout # value = <Layout.NULL: 2>
2812
+ PRIMAL: SNodeGradType # value = <SNodeGradType.PRIMAL: 0>
2813
+ REVERSE: AutodiffMode # value = <AutodiffMode.REVERSE: 1>
2814
+ SOA: Layout # value = <Layout.SOA: 1>
2815
+ Tetrahedron: MeshTopology # value = <MeshTopology.Tetrahedron: 4>
2816
+ Triangle: MeshTopology # value = <MeshTopology.Triangle: 3>
2817
+ UNSAFE: BoundaryMode # value = <BoundaryMode.UNSAFE: 0>
2818
+ VALIDATION: AutodiffMode # value = <AutodiffMode.VALIDATION: 3>
2819
+ VC: MeshRelationType # value = <MeshRelationType.VC: 3>
2820
+ VE: MeshRelationType # value = <MeshRelationType.VE: 1>
2821
+ VF: MeshRelationType # value = <MeshRelationType.VF: 2>
2822
+ VV: MeshRelationType # value = <MeshRelationType.VV: 0>
2823
+ Vertex: MeshElementType # value = <MeshElementType.Vertex: 0>
2824
+ abs: UnaryOpType # value = <UnaryOpType.abs: 8>
2825
+ acos: UnaryOpType # value = <UnaryOpType.acos: 13>
2826
+ add: BinaryOpType # value = <BinaryOpType.add: 1>
2827
+ adstack: Extension # value = <Extension.adstack: 5>
2828
+ amdgpu: Arch # value = <Arch.amdgpu: 6>
2829
+ arm64: Arch # value = <Arch.arm64: 1>
2830
+ asin: UnaryOpType # value = <UnaryOpType.asin: 11>
2831
+ assertion: Extension # value = <Extension.assertion: 7>
2832
+ atan2: BinaryOpType # value = <BinaryOpType.atan2: 21>
2833
+ bit_and: BinaryOpType # value = <BinaryOpType.bit_and: 9>
2834
+ bit_not: UnaryOpType # value = <UnaryOpType.bit_not: 23>
2835
+ bit_or: BinaryOpType # value = <BinaryOpType.bit_or: 10>
2836
+ bit_sar: BinaryOpType # value = <BinaryOpType.bit_sar: 14>
2837
+ bit_shl: BinaryOpType # value = <BinaryOpType.bit_shl: 12>
2838
+ bit_shr: BinaryOpType # value = <BinaryOpType.bit_shr: 13>
2839
+ bit_struct: SNodeType # value = <SNodeType.bit_struct: 7>
2840
+ bit_xor: BinaryOpType # value = <BinaryOpType.bit_xor: 11>
2841
+ bitmasked: SNodeType # value = <SNodeType.bitmasked: 4>
2842
+ block_local: SNodeAccessFlag # value = <SNodeAccessFlag.block_local: 0>
2843
+ bls: Extension # value = <Extension.bls: 6>
2844
+ cast_bits: UnaryOpType # value = <UnaryOpType.cast_bits: 7>
2845
+ cast_value: UnaryOpType # value = <UnaryOpType.cast_value: 6>
2846
+ ceil: UnaryOpType # value = <UnaryOpType.ceil: 5>
2847
+ clz: UnaryOpType # value = <UnaryOpType.clz: 21>
2848
+ cmp_eq: BinaryOpType # value = <BinaryOpType.cmp_eq: 19>
2849
+ cmp_ge: BinaryOpType # value = <BinaryOpType.cmp_ge: 18>
2850
+ cmp_gt: BinaryOpType # value = <BinaryOpType.cmp_gt: 17>
2851
+ cmp_le: BinaryOpType # value = <BinaryOpType.cmp_le: 16>
2852
+ cmp_lt: BinaryOpType # value = <BinaryOpType.cmp_lt: 15>
2853
+ cmp_ne: BinaryOpType # value = <BinaryOpType.cmp_ne: 20>
2854
+ cos: UnaryOpType # value = <UnaryOpType.cos: 12>
2855
+ cuda: Arch # value = <Arch.cuda: 3>
2856
+ data64: Extension # value = <Extension.data64: 4>
2857
+ dense: SNodeType # value = <SNodeType.dense: 1>
2858
+ div: BinaryOpType # value = <BinaryOpType.div: 5>
2859
+ dynamic: SNodeType # value = <SNodeType.dynamic: 2>
2860
+ exp: UnaryOpType # value = <UnaryOpType.exp: 18>
2861
+ extfunc: Extension # value = <Extension.extfunc: 8>
2862
+ floor: UnaryOpType # value = <UnaryOpType.floor: 3>
2863
+ floordiv: BinaryOpType # value = <BinaryOpType.floordiv: 4>
2864
+ frexp: UnaryOpType # value = <UnaryOpType.frexp: 4>
2865
+ g2r: ConvType # value = <ConvType.g2r: 2>
2866
+ hash: SNodeType # value = <SNodeType.hash: 5>
2867
+ inv: UnaryOpType # value = <UnaryOpType.inv: 16>
2868
+ js: Arch # value = <Arch.js: 2>
2869
+ kFetchTexel: TextureOpType # value = <TextureOpType.kFetchTexel: 2>
2870
+ kLoad: TextureOpType # value = <TextureOpType.kLoad: 3>
2871
+ kSampleLod: TextureOpType # value = <TextureOpType.kSampleLod: 1>
2872
+ kStore: TextureOpType # value = <TextureOpType.kStore: 4>
2873
+ kUndefined: TextureOpType # value = <TextureOpType.kUndefined: 0>
2874
+ l2g: ConvType # value = <ConvType.l2g: 0>
2875
+ l2r: ConvType # value = <ConvType.l2r: 1>
2876
+ log: UnaryOpType # value = <UnaryOpType.log: 19>
2877
+ logic_not: UnaryOpType # value = <UnaryOpType.logic_not: 24>
2878
+ max: BinaryOpType # value = <BinaryOpType.max: 7>
2879
+ mesh: Extension # value = <Extension.mesh: 2>
2880
+ mesh_local: SNodeAccessFlag # value = <SNodeAccessFlag.mesh_local: 2>
2881
+ metal: Arch # value = <Arch.metal: 4>
2882
+ min: BinaryOpType # value = <BinaryOpType.min: 8>
2883
+ mod: BinaryOpType # value = <BinaryOpType.mod: 6>
2884
+ mul: BinaryOpType # value = <BinaryOpType.mul: 0>
2885
+ neg: UnaryOpType # value = <UnaryOpType.neg: 0>
2886
+ opencl: Arch # value = <Arch.opencl: 5>
2887
+ place: SNodeType # value = <SNodeType.place: 6>
2888
+ pointer: SNodeType # value = <SNodeType.pointer: 3>
2889
+ popcnt: UnaryOpType # value = <UnaryOpType.popcnt: 20>
2890
+ pow: BinaryOpType # value = <BinaryOpType.pow: 22>
2891
+ quant: Extension # value = <Extension.quant: 1>
2892
+ quant_array: SNodeType # value = <SNodeType.quant_array: 8>
2893
+ quant_basic: Extension # value = <Extension.quant_basic: 3>
2894
+ rcp: UnaryOpType # value = <UnaryOpType.rcp: 17>
2895
+ read_only: SNodeAccessFlag # value = <SNodeAccessFlag.read_only: 1>
2896
+ root: SNodeType # value = <SNodeType.root: 0>
2897
+ round: UnaryOpType # value = <UnaryOpType.round: 2>
2898
+ rsqrt: UnaryOpType # value = <UnaryOpType.rsqrt: 22>
2899
+ sgn: UnaryOpType # value = <UnaryOpType.sgn: 9>
2900
+ sin: UnaryOpType # value = <UnaryOpType.sin: 10>
2901
+ sparse: Extension # value = <Extension.sparse: 0>
2902
+ sqrt: UnaryOpType # value = <UnaryOpType.sqrt: 1>
2903
+ sub: BinaryOpType # value = <BinaryOpType.sub: 2>
2904
+ tan: UnaryOpType # value = <UnaryOpType.tan: 14>
2905
+ tanh: UnaryOpType # value = <UnaryOpType.tanh: 15>
2906
+ truediv: BinaryOpType # value = <BinaryOpType.truediv: 3>
2907
+ undefined: UnaryOpType # value = <UnaryOpType.undefined: 25>
2908
+ vulkan: Arch # value = <Arch.vulkan: 7>
2909
+ x64: Arch # value = <Arch.x64: 0>