gstaichi 0.1.25.dev0__cp312-cp312-macosx_15_0_arm64.whl → 2.0.0__cp312-cp312-macosx_15_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 (110) hide show
  1. gstaichi/CHANGELOG.md +6 -0
  2. gstaichi/__init__.py +1 -1
  3. gstaichi/_lib/core/gstaichi_python.cpython-312-darwin.so +0 -0
  4. gstaichi/_lib/core/gstaichi_python.pyi +11 -41
  5. gstaichi/_test_tools/__init__.py +18 -0
  6. gstaichi/_test_tools/dataclass_test_tools.py +36 -0
  7. gstaichi/_test_tools/textwrap2.py +6 -0
  8. gstaichi/_version.py +1 -1
  9. gstaichi/examples/minimal.py +1 -1
  10. gstaichi/lang/__init__.py +1 -1
  11. gstaichi/lang/_dataclass_util.py +31 -0
  12. gstaichi/lang/_fast_caching/__init__.py +3 -0
  13. gstaichi/lang/_fast_caching/args_hasher.py +110 -0
  14. gstaichi/lang/_fast_caching/config_hasher.py +30 -0
  15. gstaichi/lang/_fast_caching/fast_caching_types.py +21 -0
  16. gstaichi/lang/_fast_caching/function_hasher.py +57 -0
  17. gstaichi/lang/_fast_caching/hash_utils.py +11 -0
  18. gstaichi/lang/_fast_caching/python_side_cache.py +52 -0
  19. gstaichi/lang/_fast_caching/src_hasher.py +75 -0
  20. gstaichi/lang/_kernel_impl_dataclass.py +212 -0
  21. gstaichi/lang/_template_mapper.py +16 -20
  22. gstaichi/lang/_wrap_inspect.py +27 -1
  23. gstaichi/lang/ast/ast_transformer.py +7 -2
  24. gstaichi/lang/ast/ast_transformer_utils.py +18 -13
  25. gstaichi/lang/ast/ast_transformers/call_transformer.py +73 -16
  26. gstaichi/lang/ast/ast_transformers/function_def_transformer.py +102 -118
  27. gstaichi/lang/field.py +0 -38
  28. gstaichi/lang/impl.py +25 -24
  29. gstaichi/lang/kernel_arguments.py +28 -30
  30. gstaichi/lang/kernel_impl.py +154 -200
  31. gstaichi/lang/matrix.py +0 -46
  32. gstaichi/lang/struct.py +0 -45
  33. gstaichi/lang/util.py +11 -80
  34. gstaichi/types/annotations.py +10 -5
  35. gstaichi/types/compound_types.py +1 -20
  36. gstaichi/types/ndarray_type.py +31 -11
  37. gstaichi/types/utils.py +0 -2
  38. {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/METADATA +2 -1
  39. gstaichi-2.0.0.dist-info/RECORD +177 -0
  40. gstaichi/__main__.py +0 -5
  41. gstaichi/_main.py +0 -545
  42. gstaichi/lang/argpack.py +0 -411
  43. gstaichi-0.1.25.dev0.dist-info/RECORD +0 -168
  44. gstaichi-0.1.25.dev0.dist-info/entry_points.txt +0 -2
  45. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/GLFW/glfw3.h +0 -0
  46. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/GLFW/glfw3native.h +0 -0
  47. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/instrument.hpp +0 -0
  48. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/libspirv.h +0 -0
  49. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/libspirv.hpp +0 -0
  50. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/linker.hpp +0 -0
  51. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/optimizer.hpp +0 -0
  52. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/GLSL.std.450.h +0 -0
  53. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv.h +0 -0
  54. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv.hpp +0 -0
  55. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cfg.hpp +0 -0
  56. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_common.hpp +0 -0
  57. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cpp.hpp +0 -0
  58. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross.hpp +0 -0
  59. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross_c.h +0 -0
  60. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross_containers.hpp +0 -0
  61. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross_error_handling.hpp +0 -0
  62. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross_parsed_ir.hpp +0 -0
  63. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_cross_util.hpp +0 -0
  64. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_glsl.hpp +0 -0
  65. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_hlsl.hpp +0 -0
  66. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_msl.hpp +0 -0
  67. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_parser.hpp +0 -0
  68. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv_cross/spirv_reflect.hpp +0 -0
  69. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake +0 -0
  70. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake +0 -0
  71. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake +0 -0
  72. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake +0 -0
  73. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake +0 -0
  74. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake +0 -0
  75. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake +0 -0
  76. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake +0 -0
  77. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake +0 -0
  78. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake +0 -0
  79. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake +0 -0
  80. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake +0 -0
  81. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake +0 -0
  82. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake +0 -0
  83. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake +0 -0
  84. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake +0 -0
  85. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake +0 -0
  86. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake +0 -0
  87. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/glfw3/glfw3Config.cmake +0 -0
  88. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +0 -0
  89. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/glfw3/glfw3Targets-release.cmake +0 -0
  90. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/cmake/glfw3/glfw3Targets.cmake +0 -0
  91. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/libSPIRV-Tools-shared.dylib +0 -0
  92. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake +0 -0
  93. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake +0 -0
  94. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake +0 -0
  95. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake +0 -0
  96. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake +0 -0
  97. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake +0 -0
  98. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake +0 -0
  99. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake +0 -0
  100. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake +0 -0
  101. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake +0 -0
  102. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake +0 -0
  103. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake +0 -0
  104. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake +0 -0
  105. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake +0 -0
  106. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake +0 -0
  107. {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake +0 -0
  108. {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/WHEEL +0 -0
  109. {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/licenses/LICENSE +0 -0
  110. {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/top_level.txt +0 -0
gstaichi/lang/argpack.py DELETED
@@ -1,411 +0,0 @@
1
- # type: ignore
2
-
3
- import numpy as np
4
-
5
- import gstaichi.lang
6
- from gstaichi._lib import core as _ti_core
7
- from gstaichi.lang import impl, ops
8
- from gstaichi.lang.exception import (
9
- GsTaichiRuntimeTypeError,
10
- GsTaichiSyntaxError,
11
- )
12
- from gstaichi.lang.matrix import Matrix, MatrixType
13
- from gstaichi.lang.struct import Struct, StructType
14
- from gstaichi.lang.util import cook_dtype, in_python_scope, python_scope
15
- from gstaichi.types import (
16
- ndarray_type,
17
- primitive_types,
18
- sparse_matrix_builder,
19
- texture_type,
20
- )
21
- from gstaichi.types.compound_types import CompoundType
22
- from gstaichi.types.utils import is_signed
23
-
24
-
25
- class ArgPack:
26
- """ The `ArgPack` Type Class.
27
-
28
- The `ArgPack` operates as a dictionary-like data pack, storing members as (key, value) pairs. Members stored can
29
- range from scalars and matrices to other dictionary-like structures. Distinguished from structs, `ArgPack` can
30
- accommodate buffer types such as `NdarrayType` and `TextureType` from GsTaichi. However, unlike `ti.Struct` which
31
- serves as a data container, `ArgPack` functions as a reference container. It's important to note that `ArgPack`
32
- cannot be nested within other types except for another `ArgPack`, and can only be utilized as kernel parameters.
33
-
34
- Args:
35
- annotations (Dict[str, Union[Dict, Matrix, Struct]]): \
36
- The keys and types for `ArgPack` members.
37
- dtype (ArgPackType): \
38
- The ArgPackType class of this ArgPack object.
39
- entries (Dict[str, Union[Dict, Matrix, Struct]]): \
40
- The keys and corresponding values for `ArgPack` members.
41
-
42
- Returns:
43
- An instance of this `ArgPack`.
44
-
45
- Example::
46
-
47
- >>> vec3 = ti.types.vector(3, ti.f32)
48
- >>> pack_type = ti.ArgPackType(v=vec3, t=ti.f32)
49
- >>> a = pack_type(v=vec3([0, 0, 0]), t=1.0)
50
- >>> print(a.items)
51
- dict_items([('v', [0. 0. 0.]), ('t', 1.0)])
52
- """
53
-
54
- _instance_count = 0
55
-
56
- def __init__(self, annotations, dtype, *args, **kwargs):
57
- # converts dicts to argument packs
58
- if len(args) == 1 and kwargs == {} and isinstance(args[0], dict):
59
- self.__entries = args[0]
60
- elif len(args) == 0:
61
- self.__entries = kwargs
62
- else:
63
- raise GsTaichiSyntaxError(
64
- "Custom argument packs need to be initialized using either dictionary or keyword arguments"
65
- )
66
- if annotations.keys() != self.__entries.keys():
67
- raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
68
- self.__annotations = annotations
69
- for k, v in self.__entries.items():
70
- self.__entries[k] = v if in_python_scope() else impl.expr_init(v)
71
- self._register_members()
72
- self.__dtype = dtype
73
- self.__argpack = impl.get_runtime().prog.create_argpack(self.__dtype)
74
- for i, (k, v) in enumerate(self.__entries.items()):
75
- self._write_to_device(self.__annotations[k], type(v), v, self._calc_element_true_index(i))
76
-
77
- def __del__(self):
78
- if impl is not None and impl.get_runtime() is not None and impl.get_runtime().prog is not None:
79
- impl.get_runtime().prog.delete_argpack(self.__argpack)
80
-
81
- @property
82
- def keys(self):
83
- """Returns the list of member names in string format.
84
-
85
- Example::
86
-
87
- >>> vec3 = ti.types.vector(3, ti.f32)
88
- >>> sphere_pack = ti.ArgPackType(center=vec3, radius=ti.f32)
89
- >>> sphere = sphere_pack(center=vec3([0, 0, 0]), radius=1.0)
90
- >>> sphere.keys
91
- ['center', 'radius']
92
- """
93
- return list(self.__entries.keys())
94
-
95
- @property
96
- def _members(self):
97
- return list(self.__entries.values())
98
-
99
- @property
100
- def _annotations(self):
101
- return list(self.__annotations.values())
102
-
103
- @property
104
- def items(self):
105
- """Returns the items in this argument pack.
106
-
107
- Example::
108
-
109
- >>> vec3 = ti.types.vector(3, ti.f32)
110
- >>> sphere_pack = ti.ArgPackType(center=vec3, radius=ti.f32)
111
- >>> sphere = sphere_pack(center=vec3([0, 0, 0]), radius=1.0)
112
- >>> sphere.items
113
- dict_items([('center', 2), ('radius', 1.0)])
114
- """
115
- return self.__entries.items()
116
-
117
- def __getitem__(self, key):
118
- ret = self.__entries[key]
119
- return ret
120
-
121
- def __setitem__(self, key, value):
122
- self.__entries[key] = value
123
- index = self._calc_element_true_index(list(self.__annotations).index(key))
124
- self._write_to_device(self.__annotations[key], type(value), value, index)
125
-
126
- def _set_entries(self, value):
127
- if isinstance(value, dict):
128
- value = ArgPack(self.__annotations, value)
129
- for k in self.keys:
130
- self[k] = value[k]
131
-
132
- @staticmethod
133
- def _make_getter(key):
134
- def getter(self):
135
- """Get an entry from custom argument pack by name."""
136
- return self[key]
137
-
138
- return getter
139
-
140
- @staticmethod
141
- def _make_setter(key):
142
- @python_scope
143
- def setter(self, value):
144
- self[key] = value
145
-
146
- return setter
147
-
148
- def _register_members(self):
149
- # https://stackoverflow.com/questions/48448074/adding-a-property-to-an-existing-object-instance
150
- cls = self.__class__
151
- new_cls_name = cls.__name__ + str(cls._instance_count)
152
- cls._instance_count += 1
153
- properties = {k: property(cls._make_getter(k), cls._make_setter(k)) for k in self.keys}
154
- self.__class__ = type(new_cls_name, (cls,), properties)
155
-
156
- def __len__(self):
157
- """Get the number of entries in a custom argument pack."""
158
- return len(self.__entries)
159
-
160
- def __iter__(self):
161
- return self.__entries.values()
162
-
163
- def __str__(self):
164
- """Python scope argument pack array print support."""
165
- if impl.inside_kernel():
166
- item_str = ", ".join([str(k) + "=" + str(v) for k, v in self.items])
167
- return f"<ti.ArgPack {item_str}>"
168
- return str(self.to_dict())
169
-
170
- def __repr__(self):
171
- return str(self.to_dict())
172
-
173
- def to_dict(self):
174
- """Converts the ArgPack to a dictionary.
175
-
176
- Returns:
177
- Dict: The result dictionary.
178
- """
179
- res_dict = {
180
- k: v.to_dict() if isinstance(v, ArgPack) else v.to_list() if isinstance(v, Matrix) else v
181
- for k, v in self.__entries.items()
182
- }
183
- return res_dict
184
-
185
- def _calc_element_true_index(self, old_index):
186
- for i in range(old_index):
187
- anno = list(self.__annotations.values())[i]
188
- if (
189
- isinstance(anno, sparse_matrix_builder)
190
- or isinstance(anno, ndarray_type.NdarrayType)
191
- or isinstance(anno, texture_type.TextureType)
192
- or isinstance(anno, texture_type.RWTextureType)
193
- or isinstance(anno, ndarray_type.NdarrayType)
194
- ):
195
- old_index -= 1
196
- return old_index
197
-
198
- def _write_to_device(self, needed, provided, v, index):
199
- if isinstance(needed, ArgPackType):
200
- if not isinstance(v, ArgPack):
201
- raise GsTaichiRuntimeTypeError.get(index, str(needed), str(provided))
202
- self.__argpack.set_arg_nested_argpack(index, v.__argpack)
203
- else:
204
- # Note: do not use sth like "needed == f32". That would be slow.
205
- if id(needed) in primitive_types.real_type_ids:
206
- if not isinstance(v, (float, int, np.floating, np.integer)):
207
- raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
208
- self.__argpack.set_arg_float((index,), float(v))
209
- elif id(needed) in primitive_types.integer_type_ids:
210
- if not isinstance(v, (int, np.integer)):
211
- raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
212
- if is_signed(cook_dtype(needed)):
213
- self.__argpack.set_arg_int((index,), int(v))
214
- else:
215
- self.__argpack.set_arg_uint((index,), int(v))
216
- elif isinstance(needed, sparse_matrix_builder):
217
- pass
218
- elif isinstance(needed, ndarray_type.NdarrayType) and isinstance(v, gstaichi.lang._ndarray.Ndarray):
219
- pass
220
- elif isinstance(needed, texture_type.TextureType) and isinstance(v, gstaichi.lang._texture.Texture):
221
- pass
222
- elif isinstance(needed, texture_type.RWTextureType) and isinstance(v, gstaichi.lang._texture.Texture):
223
- pass
224
- elif isinstance(needed, ndarray_type.NdarrayType):
225
- pass
226
- elif isinstance(needed, MatrixType):
227
- if needed.dtype in primitive_types.real_types:
228
-
229
- def cast_func(x):
230
- if not isinstance(x, (int, float, np.integer, np.floating)):
231
- raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
232
- return float(x)
233
-
234
- elif needed.dtype in primitive_types.integer_types:
235
-
236
- def cast_func(x):
237
- if not isinstance(x, (int, np.integer)):
238
- raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
239
- return int(x)
240
-
241
- else:
242
- raise ValueError(f"Matrix dtype {needed.dtype} is not integer type or real type.")
243
-
244
- if needed.ndim == 2:
245
- v = [cast_func(v[i, j]) for i in range(needed.n) for j in range(needed.m)]
246
- else:
247
- v = [cast_func(v[i]) for i in range(needed.n)]
248
- v = needed(*v)
249
- needed.set_argpack_struct_args(v, self.__argpack, (index,))
250
- elif isinstance(needed, StructType):
251
- if not isinstance(v, needed):
252
- raise GsTaichiRuntimeTypeError.get(index, str(needed), provided)
253
- needed.set_argpack_struct_args(v, self.__argpack, (index,))
254
- else:
255
- raise ValueError(f"Argument type mismatch. Expecting {needed}, got {type(v)}.")
256
-
257
-
258
- class _IntermediateArgPack(ArgPack):
259
- """Intermediate argument pack class for compiler internal use only.
260
-
261
- Args:
262
- annotations (Dict[str, Union[Expr, Matrix, Struct]]): keys and types for struct members.
263
- entries (Dict[str, Union[Expr, Matrix, Struct]]): keys and values for struct members.
264
- """
265
-
266
- def __init__(self, annotations, dtype, *args, **kwargs):
267
- # converts dicts to argument packs
268
- if len(args) == 1 and kwargs == {} and isinstance(args[0], dict):
269
- self._ArgPack__entries = args[0]
270
- elif len(args) == 0:
271
- self._ArgPack__entries = kwargs
272
- else:
273
- raise GsTaichiSyntaxError(
274
- "Custom argument packs need to be initialized using either dictionary or keyword arguments"
275
- )
276
- if annotations.keys() != self._ArgPack__entries.keys():
277
- raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
278
- self._ArgPack__annotations = annotations
279
- self._register_members()
280
- self._ArgPack__dtype = dtype
281
- self._ArgPack__argpack = impl.get_runtime().prog.create_argpack(dtype)
282
-
283
- def __del__(self):
284
- pass
285
-
286
-
287
- class ArgPackType(CompoundType):
288
- def __init__(self, **kwargs):
289
- self.members = {}
290
- elements = []
291
- for k, dtype in kwargs.items():
292
- if isinstance(dtype, StructType):
293
- self.members[k] = dtype
294
- elements.append([dtype.dtype, k])
295
- elif isinstance(dtype, ArgPackType):
296
- self.members[k] = dtype
297
- elements.append(
298
- [
299
- _ti_core.DataTypeCxx(
300
- _ti_core.get_type_factory_instance().get_struct_type_for_argpack_ptr(dtype.dtype)
301
- ),
302
- k,
303
- ]
304
- )
305
- elif isinstance(dtype, MatrixType):
306
- # Convert MatrixType to StructType
307
- if dtype.ndim == 1:
308
- elements_ = [(dtype.dtype, f"{k}_{i}") for i in range(dtype.n)]
309
- else:
310
- elements_ = [(dtype.dtype, f"{k}_{i}_{j}") for i in range(dtype.n) for j in range(dtype.m)]
311
- self.members[k] = dtype
312
- elements.append([_ti_core.get_type_factory_instance().get_struct_type(elements_), k])
313
- elif isinstance(dtype, sparse_matrix_builder):
314
- self.members[k] = dtype
315
- elif isinstance(dtype, ndarray_type.NdarrayType):
316
- self.members[k] = dtype
317
- elif isinstance(dtype, texture_type.RWTextureType):
318
- self.members[k] = dtype
319
- elif isinstance(dtype, texture_type.TextureType):
320
- self.members[k] = dtype
321
- else:
322
- dtype = cook_dtype(dtype)
323
- self.members[k] = dtype
324
- elements.append([dtype, k])
325
- if len(elements) == 0:
326
- # Use i32 as a placeholder for empty argpacks
327
- elements.append([primitive_types.i32, k])
328
- self.dtype = _ti_core.get_type_factory_instance().get_argpack_type(elements)
329
-
330
- def __call__(self, *args, **kwargs):
331
- """Create an instance of this argument pack type."""
332
- d = {}
333
- items = self.members.items()
334
- # iterate over the members of this argument pack
335
- for index, pair in enumerate(items):
336
- name, dtype = pair # (member name, member type))
337
- if index < len(args): # set from args
338
- data = args[index]
339
- else: # set from kwargs
340
- data = kwargs.get(name, None)
341
-
342
- # If dtype is CompoundType and data is a scalar, it cannot be
343
- # casted in the self.cast call later. We need an initialization here.
344
- if isinstance(dtype, CompoundType) and not isinstance(data, (dict, ArgPack, Struct)):
345
- data = dtype(data)
346
-
347
- d[name] = data
348
-
349
- entries = ArgPack(self.members, self.dtype, d)
350
- pack = self.cast(entries)
351
- return pack
352
-
353
- def __instancecheck__(self, instance):
354
- if not isinstance(instance, ArgPack):
355
- return False
356
- if list(self.members.keys()) != list(instance._ArgPack__entries.keys()):
357
- return False
358
- for k, v in self.members.items():
359
- if isinstance(v, ArgPackType):
360
- if not isinstance(instance._ArgPack__entries[k], v):
361
- return False
362
- elif instance._ArgPack__annotations[k] != v:
363
- return False
364
- return True
365
-
366
- def cast(self, pack):
367
- # sanity check members
368
- if self.members.keys() != pack._ArgPack__entries.keys():
369
- raise GsTaichiSyntaxError("Incompatible arguments for custom argument pack members!")
370
- entries = {}
371
- for k, dtype in self.members.items():
372
- if isinstance(dtype, MatrixType):
373
- entries[k] = dtype(pack._ArgPack__entries[k])
374
- elif isinstance(dtype, CompoundType):
375
- entries[k] = dtype.cast(pack._ArgPack__entries[k])
376
- elif isinstance(dtype, ArgPackType):
377
- entries[k] = dtype.cast(pack._ArgPack__entries[k])
378
- elif isinstance(dtype, ndarray_type.NdarrayType):
379
- entries[k] = pack._ArgPack__entries[k]
380
- elif isinstance(dtype, texture_type.RWTextureType):
381
- entries[k] = pack._ArgPack__entries[k]
382
- elif isinstance(dtype, texture_type.TextureType):
383
- entries[k] = pack._ArgPack__entries[k]
384
- elif isinstance(dtype, sparse_matrix_builder):
385
- entries[k] = pack._ArgPack__entries[k]
386
- else:
387
- if in_python_scope():
388
- v = pack._ArgPack__entries[k]
389
- entries[k] = int(v) if dtype in primitive_types.integer_types else float(v)
390
- else:
391
- entries[k] = ops.cast(pack._ArgPack__entries[k], dtype)
392
- pack = ArgPack(self.members, self.dtype, entries)
393
- return pack
394
-
395
- def from_gstaichi_object(self, arg_load_dict: dict):
396
- d = {}
397
- items = self.members.items()
398
- for index, pair in enumerate(items):
399
- name, dtype = pair
400
- d[name] = arg_load_dict[name]
401
- pack = _IntermediateArgPack(self.members, self.dtype, d)
402
- pack._ArgPack__dtype = self.dtype
403
- return pack
404
-
405
- def __str__(self):
406
- """Python scope argpack type print support."""
407
- item_str = ", ".join([str(k) + "=" + str(v) for k, v in self.members.items()])
408
- return f"<ti.ArgPackType {item_str}>"
409
-
410
-
411
- __all__ = ["ArgPack"]
@@ -1,168 +0,0 @@
1
- gstaichi/__init__.py,sha256=5vrTfU6EGDz-sQDvku3Ps_84fxKh0NmqDg0cRNUIR84,1003
2
- gstaichi/__main__.py,sha256=AJZ5EW2aF0oRFIpOR7HbHSCxR5tujHb_qqFcn3I0tCA,48
3
- gstaichi/_funcs.py,sha256=qH9VMUS6nN0gaRAMSmc0NBrLPGFSDyexWO9tNmz-FV0,23237
4
- gstaichi/_kernels.py,sha256=M0xE_zhKBCeMRHsacuonGUW2D5QaggQVK-qDblGo2AI,14244
5
- gstaichi/_logging.py,sha256=Utlv0ZjZLA3xlq80yJN8o91aD6FH8H6W3Wiyl04S8ts,3682
6
- gstaichi/_main.py,sha256=MnixJ111LOAbx1H6-rvvnvqVLYwK0i6N76eoRx47Yuo,17990
7
- gstaichi/_version.py,sha256=Y3aY5EPp1LmZ0cpxr2_gWVlUdfDz7wJiMuVMYlHSyz8,28
8
- gstaichi/_version_check.py,sha256=aGUtrx_Q5U8hC5hI2ju_RIA-zzxfUfRIb1ZlU1TiL_M,3653
9
- gstaichi/experimental.py,sha256=qNLQ6EYcDoapr3hELwXSJXECT5XrTncqv5LRF34Pfhs,343
10
- gstaichi/_lib/__init__.py,sha256=eo5ZIaTVkv6CzHZpK6tmSgIBZNu0V9UCRhSkieXtgKA,71
11
- gstaichi/_lib/utils.py,sha256=DQeT2jYpn06tWkwbGYq3efQfZlTpmSu_xq5mUG3vwZM,7841
12
- gstaichi/_lib/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- gstaichi/_lib/core/gstaichi_python.cpython-312-darwin.so,sha256=9UeTKy-y1ajgSvnGGHrlA08OOYTjVwPsQtZ7bUtLpXk,105047304
14
- gstaichi/_lib/core/gstaichi_python.pyi,sha256=8l9jWfGWLGIMD3Mx00ZuXJA2il6BPUwBnFp7Vkr57mQ,111430
15
- gstaichi/_lib/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- gstaichi/_lib/runtime/libMoltenVK.dylib,sha256=bv34qLD2kzftQaZ-JZ49dxMZali6a9hh0Ak0QZBu1BQ,14024368
17
- gstaichi/_lib/runtime/runtime_arm64.bc,sha256=NESCb2rp8mRR63Xvd0Sb_eGGq7RGjV9Aa4o8koEKf2U,147376
18
- gstaichi/_snode/__init__.py,sha256=Vn0wolaGt5L69DCZXOs8Hwo1-_hXq_YM63AwHedYuVQ,102
19
- gstaichi/_snode/fields_builder.py,sha256=Wz_73sJUC1CPWSxueiRb3Qdh_fEqHd1PkOpb3gGSvFM,6763
20
- gstaichi/_snode/snode_tree.py,sha256=a1Kexuk6uoMOY9ES4zLFhOkIWkSPtXNGna9U5OZvO1s,1197
21
- gstaichi/_test_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- gstaichi/_test_tools/load_kernel_string.py,sha256=7U-oAWLfH9xYhVWHlnOUrUm2GIJ5xJqwDljneFPqU-w,1007
23
- gstaichi/ad/__init__.py,sha256=T-qo_Lq1g1U2jTN_e8bZuKxxGYQceO9FJGUgPzBhZVo,46
24
- gstaichi/ad/_ad.py,sha256=ZW_CM_rIv4U290FBpk-NCUWdJJGR87zKx4d_7W1GdKo,19212
25
- gstaichi/algorithms/__init__.py,sha256=jRJLdZCnqEuH6k5XLI8Q7VjnJtRkGh18Y5pd2AvqOKA,43
26
- gstaichi/algorithms/_algorithms.py,sha256=o-Bpi77G8bSnUQuUC62lX6cDlaFBBzIQGuTwdMCYfKQ,3705
27
- gstaichi/assets/.git,sha256=_sepXJOH-4A9o4jtu-46jG2P6XHHbsvGW3642aKNQBc,43
28
- gstaichi/assets/Go-Regular.ttf,sha256=S7gpWTE2QWxqOezcRUguBS91rDdOZFm5r2jU-6J5OWw,134988
29
- gstaichi/assets/static/imgs/ti_gallery.png,sha256=rOeh8JlUXb-ZdkTaei3cVyJXZBWOqcJBLdndAORUdtU,263871
30
- gstaichi/examples/minimal.py,sha256=F_53i9o5jGg9vfvezX03htHtgpEccI9szDrLUMnWFPU,605
31
- gstaichi/lang/__init__.py,sha256=33TbgOo8y0UzQSPtAVbMXYRJyR_DkiudpBJffpratZQ,1256
32
- gstaichi/lang/_ndarray.py,sha256=E3MMzd6D8y1N1VPmmqPSDydEmkqiJAVjFSXtcdRxYkQ,10774
33
- gstaichi/lang/_ndrange.py,sha256=gnaA19o5ws774I0-NvfQSAjOeO9RcxWCh05TdE-jRUs,5769
34
- gstaichi/lang/_template_mapper.py,sha256=lIx-Vd5xtuKLjwJmh0b3vFuC124SH3sB474_T745WCs,10114
35
- gstaichi/lang/_texture.py,sha256=Knohwpg3ZytOncqKz_dJt9PY4nAyMMurVrts9y8aCT0,6612
36
- gstaichi/lang/_wrap_inspect.py,sha256=qduVQNZXDB22ISJRmcZTbmALFc5gmjaA4yGVbkRr9_Y,6986
37
- gstaichi/lang/any_array.py,sha256=NvJpXq08tAVU4XNCw1npdTgUllqRA2DD-1YChKuF-yw,3292
38
- gstaichi/lang/argpack.py,sha256=NhDBpPuNbOgYF0_di8tzoaCbrSC3gf4cI_ytQqD5STM,16777
39
- gstaichi/lang/common_ops.py,sha256=oMpmfX3wLRWC-QYF6x1nu084zKLUd31YTPww80uslBY,8458
40
- gstaichi/lang/exception.py,sha256=Jns3tMC5T0qHKJVNpwqag8_WOU_8caRLWGoVKcqIKFY,2085
41
- gstaichi/lang/expr.py,sha256=uWDZeeNiyOZ03jZcEzr0MYwsc8QkcxHoeKwCu8jN9YU,6407
42
- gstaichi/lang/field.py,sha256=E5MxyoQyFIM5kK8ZqvlXuBsoOmWRgEpzStBZyXNNx4E,14424
43
- gstaichi/lang/impl.py,sha256=FinHMVRyTGDTr895ag3IMLZWWHMlVmpyAyJJx8lfI7c,41488
44
- gstaichi/lang/kernel_arguments.py,sha256=yZiIcjHs9xLGljZ-gSzNjAPaRqqb0u7-MzdnM0KYCQ8,6407
45
- gstaichi/lang/kernel_impl.py,sha256=ZqDXFkkdnC9wfMkfwzdLmt84nFtxCHBdyCdcPhNMy3M,61211
46
- gstaichi/lang/matrix.py,sha256=25EXjWcIEBBvVNAgl86xKOTcWWp8YMvVHOqiFXAKACc,63826
47
- gstaichi/lang/matrix_ops.py,sha256=msDw-IIgr6BdwW_3nCgaU-4pl_j4pYQyUb9DPPLp510,10058
48
- gstaichi/lang/matrix_ops_utils.py,sha256=bN78mfjvuKhdIZLn0PXYljiSZSiOeMPQJzO-4LgvtJk,5245
49
- gstaichi/lang/mesh.py,sha256=uw-GuloR55l8pH6FjRgyCjkadGYjnU44lGQZq3P9CGE,27071
50
- gstaichi/lang/misc.py,sha256=ywmRZIQPbhSg5p7IWEdXmzt8pN54LZ8QJXi3Wr3nweo,23302
51
- gstaichi/lang/ops.py,sha256=DepTUWLWBHia7gzNSRshd_9zb4uQH_c3uUQ8Du2nlq4,44425
52
- gstaichi/lang/runtime_ops.py,sha256=n5g-QPu2zVrxqqEhzBXR3xP9ULvdidv2DyCaNR3TRVY,224
53
- gstaichi/lang/shell.py,sha256=RLVp21VXnuuH7AarvmdhmkJSj5Z4jY12W510-K9fi2M,1060
54
- gstaichi/lang/snode.py,sha256=eau1yHHi7zR6OdWhPR2hIweSptYppfw0feWLzc6CLJs,17124
55
- gstaichi/lang/source_builder.py,sha256=IyD5ZK7g27eINvhueBaoRBd24ZWSsCc_fQccS-8mSuo,5809
56
- gstaichi/lang/struct.py,sha256=hz4X5DxIcOnXU5EDJ3z8DLfsVqlw5sqyHSPZm_RguJs,31169
57
- gstaichi/lang/util.py,sha256=BWLW1HRW4pWZgeBHZUEPmq7H3L1gkgUO0M7ifcEEi2k,9115
58
- gstaichi/lang/ast/__init__.py,sha256=lMX3ghPfKtq1QPJDIPnTy_T7G9_V_5J3HUvXBKRgMLY,211
59
- gstaichi/lang/ast/ast_transformer.py,sha256=oCW_nkHH_Z_sRbNEne30LsiKFFZSAZjbjqQHlI509_M,58121
60
- gstaichi/lang/ast/ast_transformer_utils.py,sha256=Q0tPJLdiF-KWv_O7thPXoCkMspetEupXGFjuVSn0Scc,11517
61
- gstaichi/lang/ast/checkers.py,sha256=vCJunwWGIuU6k6iIt67skcddDqhPNG-MRty-Tki3Uto,3800
62
- gstaichi/lang/ast/symbol_resolver.py,sha256=8kBIBvARgZSsF-qXJ2jFVW6M-9YJ57XxRzFKp4O1ooE,1772
63
- gstaichi/lang/ast/transform.py,sha256=8zURUELi8CzlvY0eZRiphXGd2h0FB0j2SHrS3JhenT4,266
64
- gstaichi/lang/ast/ast_transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- gstaichi/lang/ast/ast_transformers/call_transformer.py,sha256=6wqRr1p_vIgaD3eylPYU3rS14JPfFqshvAb6bujgWiM,10909
66
- gstaichi/lang/ast/ast_transformers/function_def_transformer.py,sha256=y92kO77M9SoJtVBVZ6dbNEqQBRzb9EZuHEg0qnuj018,13094
67
- gstaichi/lang/simt/__init__.py,sha256=zLQjw-9zUx4-etcHPN4CFORATRF3hiJEXY1Yaog3-vs,124
68
- gstaichi/lang/simt/block.py,sha256=dvZKkdRg6s5v0ah8HyVhA18hDZa2j-OjiJl0BWI0TEw,3639
69
- gstaichi/lang/simt/grid.py,sha256=VBYkD5YyKuoSWLfH330a8jH5DPlTEpf5DqJAiSgJjQE,140
70
- gstaichi/lang/simt/subgroup.py,sha256=Hv_KBrdbWc-CGAtaboSaMMpSvIjscabdisvJoyeshT0,3781
71
- gstaichi/lang/simt/warp.py,sha256=wTBY73sD-n4fIdmVrhCmRIhCF19aNDo-_033tIRkCrE,3087
72
- gstaichi/linalg/__init__.py,sha256=ijfsC4MnlrO5CNYK8-rinLgWIRCh_N4sXwzvVY85kxM,267
73
- gstaichi/linalg/matrixfree_cg.py,sha256=k2Mb88Q2WJARSahl0XcrPu3RUFELSHdswonZmR3J6ZE,10338
74
- gstaichi/linalg/sparse_cg.py,sha256=uFu9HaQNcE99fq_KqEghb-5-oIAZ7eMWJrCbzHgvak8,2558
75
- gstaichi/linalg/sparse_matrix.py,sha256=VqIDmo9B65ugGl4vVFDgQNUno2NdQnUWzu_NazurCZo,10971
76
- gstaichi/linalg/sparse_solver.py,sha256=5Na5ITJKP1BMDxDw5OLoE4qXZJdFt6tP4f60pDt-ogY,4928
77
- gstaichi/math/__init__.py,sha256=vtN9Hm-e6nPHbjOwS_X06A9uLakNtIXeR10vT4whATw,203
78
- gstaichi/math/_complex.py,sha256=FRy47TDF1jQluxzS8ZNIt846IncGvlg8lycYbZvjt4k,4980
79
- gstaichi/math/mathimpl.py,sha256=uscq5LNB4wFC8ZUpI6EYZJ0VnfnXPO4wuPmgd_2na8E,21733
80
- gstaichi/profiler/__init__.py,sha256=rFlnpZXzcyAVZqWE_mUiAhswtxCRc_jhws-19BwMCyc,207
81
- gstaichi/profiler/kernel_metrics.py,sha256=h2UfrtqBAIfpP-xy953YkMtfa-zHe97W7FWSoFKeWbg,7623
82
- gstaichi/profiler/kernel_profiler.py,sha256=-6y4lwuK5GS6nNM0BFXX0zoy-vlCv6E_Q54RNKCn1pA,22276
83
- gstaichi/profiler/memory_profiler.py,sha256=FNs5xAeFg5d28-8JyVVh2SqOy2-rUB14CiBQje4K0cQ,343
84
- gstaichi/profiler/scoped_profiler.py,sha256=dXsvN_gmtuHepZNh6gdQIOT7t4aqS_LjqrOuYncCk-M,971
85
- gstaichi/sparse/__init__.py,sha256=cP9BeV3d5HBgLefeZPuZkaFVSi7DZ4LEasWvPcml0L0,44
86
- gstaichi/sparse/_sparse_grid.py,sha256=wxnOG4CVthWXJurlyPm2AwZCr9OduPqMkZzbRNmD9ZE,2432
87
- gstaichi/tools/__init__.py,sha256=Hejqi4SgdfMyc-JunAxKUJRyrVDaVL1zAsICw-L3BF4,317
88
- gstaichi/tools/diagnose.py,sha256=qXwyU4gXBUFDKbq3Um_-fGb6Z0qRZ2-8Hw974peOJ6c,3448
89
- gstaichi/tools/np2ply.py,sha256=cDTdB5jUUDd9GATmKhrxpCETfwrgib2o-o0hgqzBI6Q,15271
90
- gstaichi/tools/vtk.py,sha256=CIOcgpiyiT3-ff8kPzxh1yUiM1SyzYSBKIaYcMJ_dOQ,1032
91
- gstaichi/types/__init__.py,sha256=OMB4V4ycYKUy_b5IDAFec7c1qgXchkmLONY00OdZbmI,602
92
- gstaichi/types/annotations.py,sha256=EfbJk4N0ebn7QJ6-BrYZCm0MX0K7iTSh3hR94mOkFRg,992
93
- gstaichi/types/compound_types.py,sha256=t9IghGj7TWyQoc0ErljRlC_Lh_rq8w4Z1kSItff7RdE,2389
94
- gstaichi/types/enums.py,sha256=NZGVkk-v3s3FIMEkweXrfSRgyq8-TZGBIqGGD2uDEG8,2050
95
- gstaichi/types/ndarray_type.py,sha256=YMwr7GmtnmOxxpq7IOQomjHg2aOZsdRxKXVYtmzBMsg,6820
96
- gstaichi/types/primitive_types.py,sha256=ykf9vGRSOR4lDBsOLBBr6p9ZVeWtkgiF57g-usi_EgY,4067
97
- gstaichi/types/quant.py,sha256=uuluyzfa-geNJeNi-WPPaNr7LjETqcFQC9ZtRhp2K-8,2973
98
- gstaichi/types/texture_type.py,sha256=u1--G0XYobhPRfjHe67K6BlzltQJADWIECm75kiZ_iI,2359
99
- gstaichi/types/utils.py,sha256=wUvL5sLs550T45pSpOJZMVhGijQ7FJCgeOSYPm8-jlg,281
100
- gstaichi-0.1.25.dev0.data/data/include/GLFW/glfw3.h,sha256=DdoqFswVaPjMg39kIprLTCXtLAm_SL32AewOM9BYazI,234397
101
- gstaichi-0.1.25.dev0.data/data/include/GLFW/glfw3native.h,sha256=Ii0M4bk3Q9gtdaX9py5oYXPZf3Gvg21LEN8ut_YgXDQ,18803
102
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/instrument.hpp,sha256=ya2k9Ldn9TO_6Av24nu1IcboAqQ6F3kCWKqylc0X-Kw,11649
103
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.h,sha256=zK7BxuhZ9pj0VT42VaW0eN8oaO3Dqge8vutJONH-AHI,41781
104
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.hpp,sha256=U9p_Bp76GOvXtxZEsnODMo1Vkm8SkfXVFYtVwKCzbL8,14637
105
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/linker.hpp,sha256=Ls3qz9nQMRSBTWfp6DMBALdpOZTPMHRG2ObIuYf6OpI,3594
106
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/optimizer.hpp,sha256=GH1UGi40uly0Gkau9ycjXc3vdC8fglaOFk-5OiEPWaI,49090
107
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/GLSL.std.450.h,sha256=b1bglGY_3tRDWrHT2MJNcq2zv4KDL8AC7PCg1NllQ-k,3073
108
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv.h,sha256=orhWU1eZKmCgcVJ-7Yt-zFzsRsxh8Bw4EAFw-jRZw_A,132357
109
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv.hpp,sha256=CUXuWMG_54jKz9Dt3eTwmbiIMmSF7RmIvgb0yqeq3D4,125162
110
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cfg.hpp,sha256=IbpE_IcD4w1GjIlGFu79biqlPkpQ-mNj9Q3RePJvAgQ,3827
111
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_common.hpp,sha256=hrEmJbIlQAl8n0S8RwXN2Yo_Qz4aXe-_McqaaAybP8c,47812
112
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cpp.hpp,sha256=aJ_UWlJBs_KclwL1ZqLJRn1CdI3kBy4ISdYC6uZq2gY,2637
113
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross.hpp,sha256=ToozBntAj7C5dnNDoQSymzr6F3OwrAqVHBQCJVqJOK4,50906
114
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_c.h,sha256=Uf8i-6OYh0Z20jWOwftgAKXSrHYY3UlTgjD1ai77nxE,51487
115
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_containers.hpp,sha256=hKRGsaHCb8aesqmaV9MPr_Cp4YAD2dcklhcGXdAQ3L8,17960
116
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_error_handling.hpp,sha256=jKKPWeKf-E-FJUyJxbwy09zYKASACdlnaEUcpb6Di6o,2621
117
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_parsed_ir.hpp,sha256=ZF4IflfhbUsmIWVkds4SlzQEXNaGBzYVmEW-1CMORs8,9270
118
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_util.hpp,sha256=CUKwuuiI65hmha2vLWdB0V1IEXEQVtjbxo-oD0DRhIA,1402
119
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_glsl.hpp,sha256=XvS8t-MCVJH2fwkcnrxtECdNqRQLd6PF0rv9w3P4K-E,47618
120
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_hlsl.hpp,sha256=0zJmxOVji-yHIlC4Wph2RD5E0dYHM1jWJtLjrsJAY5M,16383
121
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_msl.hpp,sha256=PIGKi-xLa5z6O5Qy3LbU93hzvKeG5QTepebI6Ny3siQ,60204
122
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_parser.hpp,sha256=5cwhStHYe9eBg_LnKpAsD7mU3Bjnqm6D6Gyyh1cIwvI,2633
123
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_reflect.hpp,sha256=qOs1tPZl1C6f-xivCfK2wbzD7575LdfZ3QQ8HpQ6i5Y,2503
124
- gstaichi-0.1.25.dev0.data/data/lib/libSPIRV-Tools-shared.dylib,sha256=uwbCfTtkP-d71MIhHGWjF5aQcMTj2aYg38icy55zPk8,1899416
125
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake,sha256=dMEufEjR-_w2-FovZM86J6L4mLAC0V_ghy3NSn-quds,225
126
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake,sha256=udoS0FC5wj8lU72VVq8GeTJTzseWZ0btwt7-ULwiQHI,1396
127
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake,sha256=vx24AucAN1drz4V3WjySdbl3D6KTsmn_XVYb3hht8Ig,4419
128
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake,sha256=72Wr7X0CYzx3Vt-rI2YcqgXu0RFeVWJAlre9dqxANEE,275
129
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake,sha256=TGr8cW-33wobWQGGXLpGsV3hkVrzmSTCHk3PNiInwQE,873
130
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake,sha256=mn183rcp87-r_mBuzK1qQnprD5icDGNesRhhcKWerv4,5010
131
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake,sha256=_LKmSzAEq3x0KnvZ0G8XeoLuMDuHoL78IAdJpeJGdew,275
132
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake,sha256=UXaiPMo8XzoeYmZNDFGfHEhMi2bo38qJ5ymF6qC6Qgo,873
133
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake,sha256=lIKD2R2v5-2L0UpqjIH9CIDBKWknMHYUKgWfK_pFn8U,4970
134
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake,sha256=NUFb5HZvW5-c5yAt91Yo64tMFfue-1vRa1t7H6o3IBY,275
135
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake,sha256=twMwM0B9qJYgOxID49zEQIF5NtyhnGB0HXksUb-XH14,873
136
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake,sha256=JG8ctvqSzUuOYEms-waLgrIfnH6y1ps3vm11A4MaB88,5010
137
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake,sha256=vKq0g25OpIoYmEt_h6On0dYj8OKETBlrkn3f_jhAHzE,270
138
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake,sha256=zmHEMsi4kvj04bKXZcDXBGB98gMQM8yGujq2bBQMn8I,866
139
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake,sha256=CjNXDkAi9hTLVjaAq9bPHJ_armEkgd8J_uX_jz80WT4,4971
140
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake,sha256=7zFj1xzP5RT6FkohmRm4KFdC8zcR-XdvdlF3_Sm-8Gw,285
141
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake,sha256=izVCfxb76CbAZ_9To3d0ao3Kc4JzltGydMyZG2kwdKo,887
142
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake,sha256=L3aATbP_gMEMXsCv2M2R3SQcLHDkN_Ra05XgJtj-hyQ,5019
143
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Config.cmake,sha256=DSZvP4sK4yRATcNqjKivAbW_WNFbHOgG6eMY6JXpt1U,115
144
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=d2IEfPkbPohGWgrQLPckr9vTKqxPUUFO1ZgxVeIKwa0,2762
145
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake,sha256=BpDZPBIm6Qs3gqDUufi-ocWC39UDWZwGtCkxm_4dB3M,789
146
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Targets.cmake,sha256=dK8hfR7rhZKoRPumDRQPHqzqNmEaSFa1L7Ri4ie_tik,4195
147
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake,sha256=7DDeJII8Fu7nuVtqY9APJeyJQmRHOEesYb4GZB5U2Nk,852
148
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake,sha256=Hghnpsb7jyqriJ43FDo9rM8xJZ9V3fTEPyyar4kpRYM,5184
149
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake,sha256=UsdH4n6NgNjTml-XU9CmWSZaSYVcCAefPWvjunerKgI,873
150
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake,sha256=SVjYWo1lYL73oV06i4YcWVfj6417V6-R2iw5oTEBMIk,4145
151
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake,sha256=pYi8QcsV3wckWAogPIHSycvi9CL9jUb6cpnRSl4YKI0,866
152
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake,sha256=OW25x5am_T88hrS4Ad3GfKFgCmL0RYQOb-ICwlZd8SE,4992
153
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake,sha256=N-qk5YvM_c0SxKtwE3eFkpt85Rsna_WBiziGedJXsgg,873
154
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake,sha256=pk-o4Ad1jJdLXREPCkcaAoqLJMhDWGGONA5GUSYB5Oo,4997
155
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake,sha256=49Uid2s5zMuu0rPuxdUttbXqVpys5JNo5iTPu-g3pcM,873
156
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake,sha256=3FUp-uxkYPr2s2E-NFi1_RJSIilktszr0H1Nt_f4Jtw,4997
157
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake,sha256=aaEvTgqXscm1VxqHppZaHaKjrdVuZBdwenembdtUKSc,866
158
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake,sha256=LQ7qHYk4h7buccDVzPckmHVezUqCGoyqbEnrYy_UeU0,4992
159
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake,sha256=pd1hm0LV2XXMOSeMdOm8p7WC70lIe--0tsZRbFivahA,894
160
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake,sha256=RU7YyZWYefRWl0Nf3cmwX6YaMbmbJdh-xMTReb2gihs,4160
161
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake,sha256=Lfo9_3aEg1ucY0bYHahk7qv_6LqKxanxKO42bNDUmGo,873
162
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake,sha256=ndic8GTSOmp0tv6meX-YQwxEgmCx78aAf0s9d1KwTDU,4997
163
- gstaichi-0.1.25.dev0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
164
- gstaichi-0.1.25.dev0.dist-info/METADATA,sha256=hhewCriZJuXirR5Oz7ekqbTEE2HRBCpb1ynCjLtuJrw,4668
165
- gstaichi-0.1.25.dev0.dist-info/WHEEL,sha256=Z_neHFi1AXQw_xnYOOQB9Iktc_z9wsHFxr1PYQMogdw,109
166
- gstaichi-0.1.25.dev0.dist-info/entry_points.txt,sha256=zCEhfa09khn5bjORszCmecpH2mDo6y5n5dlJADI6KHc,43
167
- gstaichi-0.1.25.dev0.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
168
- gstaichi-0.1.25.dev0.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- ti = gstaichi._main:main