warp-lang 1.6.2__py3-none-macosx_10_13_universal2.whl → 1.7.1__py3-none-macosx_10_13_universal2.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.
Potentially problematic release.
This version of warp-lang might be problematic. Click here for more details.
- warp/__init__.py +7 -1
- warp/autograd.py +12 -2
- warp/bin/libwarp-clang.dylib +0 -0
- warp/bin/libwarp.dylib +0 -0
- warp/build.py +410 -0
- warp/build_dll.py +6 -14
- warp/builtins.py +463 -372
- warp/codegen.py +196 -124
- warp/config.py +42 -6
- warp/context.py +496 -271
- warp/dlpack.py +8 -6
- warp/examples/assets/nonuniform.usd +0 -0
- warp/examples/assets/nvidia_logo.png +0 -0
- warp/examples/benchmarks/benchmark_cloth.py +1 -1
- warp/examples/benchmarks/benchmark_tile_load_store.py +103 -0
- warp/examples/core/example_sample_mesh.py +300 -0
- warp/examples/distributed/example_jacobi_mpi.py +507 -0
- warp/examples/fem/example_apic_fluid.py +1 -1
- warp/examples/fem/example_burgers.py +2 -2
- warp/examples/fem/example_deformed_geometry.py +1 -1
- warp/examples/fem/example_distortion_energy.py +1 -1
- warp/examples/fem/example_magnetostatics.py +6 -6
- warp/examples/fem/utils.py +9 -3
- warp/examples/interop/example_jax_callable.py +116 -0
- warp/examples/interop/example_jax_ffi_callback.py +132 -0
- warp/examples/interop/example_jax_kernel.py +205 -0
- warp/examples/optim/example_fluid_checkpoint.py +497 -0
- warp/examples/tile/example_tile_matmul.py +2 -4
- warp/fem/__init__.py +11 -1
- warp/fem/adaptivity.py +4 -4
- warp/fem/field/field.py +11 -1
- warp/fem/field/nodal_field.py +56 -88
- warp/fem/field/virtual.py +62 -23
- warp/fem/geometry/adaptive_nanogrid.py +16 -13
- warp/fem/geometry/closest_point.py +1 -1
- warp/fem/geometry/deformed_geometry.py +5 -2
- warp/fem/geometry/geometry.py +5 -0
- warp/fem/geometry/grid_2d.py +12 -12
- warp/fem/geometry/grid_3d.py +12 -15
- warp/fem/geometry/hexmesh.py +5 -7
- warp/fem/geometry/nanogrid.py +9 -11
- warp/fem/geometry/quadmesh.py +13 -13
- warp/fem/geometry/tetmesh.py +3 -4
- warp/fem/geometry/trimesh.py +7 -20
- warp/fem/integrate.py +262 -93
- warp/fem/linalg.py +5 -5
- warp/fem/quadrature/pic_quadrature.py +37 -22
- warp/fem/quadrature/quadrature.py +194 -25
- warp/fem/space/__init__.py +1 -1
- warp/fem/space/basis_function_space.py +4 -2
- warp/fem/space/basis_space.py +25 -18
- warp/fem/space/hexmesh_function_space.py +2 -2
- warp/fem/space/partition.py +6 -2
- warp/fem/space/quadmesh_function_space.py +8 -8
- warp/fem/space/shape/cube_shape_function.py +23 -23
- warp/fem/space/shape/square_shape_function.py +12 -12
- warp/fem/space/shape/triangle_shape_function.py +1 -1
- warp/fem/space/tetmesh_function_space.py +3 -3
- warp/fem/space/trimesh_function_space.py +2 -2
- warp/fem/utils.py +12 -6
- warp/jax.py +14 -1
- warp/jax_experimental/__init__.py +16 -0
- warp/{jax_experimental.py → jax_experimental/custom_call.py} +28 -29
- warp/jax_experimental/ffi.py +702 -0
- warp/jax_experimental/xla_ffi.py +602 -0
- warp/math.py +89 -0
- warp/native/array.h +13 -0
- warp/native/builtin.h +29 -3
- warp/native/bvh.cpp +3 -1
- warp/native/bvh.cu +42 -14
- warp/native/bvh.h +2 -1
- warp/native/clang/clang.cpp +30 -3
- warp/native/cuda_util.cpp +14 -0
- warp/native/cuda_util.h +2 -0
- warp/native/exports.h +68 -63
- warp/native/intersect.h +26 -26
- warp/native/intersect_adj.h +33 -33
- warp/native/marching.cu +1 -1
- warp/native/mat.h +513 -9
- warp/native/mesh.h +10 -10
- warp/native/quat.h +99 -11
- warp/native/rand.h +6 -0
- warp/native/sort.cpp +122 -59
- warp/native/sort.cu +152 -15
- warp/native/sort.h +8 -1
- warp/native/sparse.cpp +43 -22
- warp/native/sparse.cu +52 -17
- warp/native/svd.h +116 -0
- warp/native/tile.h +312 -116
- warp/native/tile_reduce.h +46 -3
- warp/native/vec.h +68 -7
- warp/native/volume.cpp +85 -113
- warp/native/volume_builder.cu +25 -10
- warp/native/volume_builder.h +6 -0
- warp/native/warp.cpp +5 -6
- warp/native/warp.cu +100 -11
- warp/native/warp.h +19 -10
- warp/optim/linear.py +10 -10
- warp/render/render_opengl.py +19 -17
- warp/render/render_usd.py +93 -3
- warp/sim/articulation.py +4 -4
- warp/sim/collide.py +32 -19
- warp/sim/import_mjcf.py +449 -155
- warp/sim/import_urdf.py +32 -12
- warp/sim/inertia.py +189 -156
- warp/sim/integrator_euler.py +8 -5
- warp/sim/integrator_featherstone.py +3 -10
- warp/sim/integrator_vbd.py +207 -2
- warp/sim/integrator_xpbd.py +8 -5
- warp/sim/model.py +71 -25
- warp/sim/render.py +4 -0
- warp/sim/utils.py +2 -2
- warp/sparse.py +642 -555
- warp/stubs.py +217 -20
- warp/tests/__main__.py +0 -15
- warp/tests/assets/torus.usda +1 -1
- warp/tests/cuda/__init__.py +0 -0
- warp/tests/{test_mempool.py → cuda/test_mempool.py} +39 -0
- warp/tests/{test_streams.py → cuda/test_streams.py} +71 -0
- warp/tests/geometry/__init__.py +0 -0
- warp/tests/{test_mesh_query_point.py → geometry/test_mesh_query_point.py} +66 -63
- warp/tests/{test_mesh_query_ray.py → geometry/test_mesh_query_ray.py} +1 -1
- warp/tests/{test_volume.py → geometry/test_volume.py} +41 -6
- warp/tests/interop/__init__.py +0 -0
- warp/tests/{test_dlpack.py → interop/test_dlpack.py} +28 -5
- warp/tests/sim/__init__.py +0 -0
- warp/tests/{disabled_kinematics.py → sim/disabled_kinematics.py} +9 -10
- warp/tests/{test_collision.py → sim/test_collision.py} +236 -205
- warp/tests/sim/test_inertia.py +161 -0
- warp/tests/{test_model.py → sim/test_model.py} +40 -0
- warp/tests/{flaky_test_sim_grad.py → sim/test_sim_grad.py} +4 -0
- warp/tests/{test_sim_kinematics.py → sim/test_sim_kinematics.py} +2 -1
- warp/tests/sim/test_vbd.py +597 -0
- warp/tests/sim/test_xpbd.py +399 -0
- warp/tests/test_bool.py +1 -1
- warp/tests/test_codegen.py +24 -3
- warp/tests/test_examples.py +40 -38
- warp/tests/test_fem.py +98 -14
- warp/tests/test_linear_solvers.py +0 -11
- warp/tests/test_mat.py +577 -156
- warp/tests/test_mat_scalar_ops.py +4 -4
- warp/tests/test_overwrite.py +0 -60
- warp/tests/test_quat.py +356 -151
- warp/tests/test_rand.py +44 -37
- warp/tests/test_sparse.py +47 -6
- warp/tests/test_spatial.py +75 -0
- warp/tests/test_static.py +1 -1
- warp/tests/test_utils.py +84 -4
- warp/tests/test_vec.py +336 -178
- warp/tests/tile/__init__.py +0 -0
- warp/tests/{test_tile.py → tile/test_tile.py} +136 -51
- warp/tests/{test_tile_load.py → tile/test_tile_load.py} +98 -1
- warp/tests/{test_tile_mathdx.py → tile/test_tile_mathdx.py} +9 -6
- warp/tests/{test_tile_mlp.py → tile/test_tile_mlp.py} +25 -14
- warp/tests/{test_tile_reduce.py → tile/test_tile_reduce.py} +60 -1
- warp/tests/{test_tile_view.py → tile/test_tile_view.py} +1 -1
- warp/tests/unittest_serial.py +1 -0
- warp/tests/unittest_suites.py +45 -62
- warp/tests/unittest_utils.py +2 -1
- warp/thirdparty/unittest_parallel.py +3 -1
- warp/types.py +175 -666
- warp/utils.py +137 -72
- {warp_lang-1.6.2.dist-info → warp_lang-1.7.1.dist-info}/METADATA +46 -12
- {warp_lang-1.6.2.dist-info → warp_lang-1.7.1.dist-info}/RECORD +184 -171
- {warp_lang-1.6.2.dist-info → warp_lang-1.7.1.dist-info}/WHEEL +1 -1
- {warp_lang-1.6.2.dist-info → warp_lang-1.7.1.dist-info/licenses}/LICENSE.md +0 -26
- warp/examples/optim/example_walker.py +0 -317
- warp/native/cutlass_gemm.cpp +0 -43
- warp/native/cutlass_gemm.cu +0 -382
- warp/tests/test_matmul.py +0 -511
- warp/tests/test_matmul_lite.py +0 -411
- warp/tests/test_vbd.py +0 -386
- warp/tests/unused_test_misc.py +0 -77
- /warp/tests/{test_async.py → cuda/test_async.py} +0 -0
- /warp/tests/{test_ipc.py → cuda/test_ipc.py} +0 -0
- /warp/tests/{test_multigpu.py → cuda/test_multigpu.py} +0 -0
- /warp/tests/{test_peer.py → cuda/test_peer.py} +0 -0
- /warp/tests/{test_pinned.py → cuda/test_pinned.py} +0 -0
- /warp/tests/{test_bvh.py → geometry/test_bvh.py} +0 -0
- /warp/tests/{test_hash_grid.py → geometry/test_hash_grid.py} +0 -0
- /warp/tests/{test_marching_cubes.py → geometry/test_marching_cubes.py} +0 -0
- /warp/tests/{test_mesh.py → geometry/test_mesh.py} +0 -0
- /warp/tests/{test_mesh_query_aabb.py → geometry/test_mesh_query_aabb.py} +0 -0
- /warp/tests/{test_volume_write.py → geometry/test_volume_write.py} +0 -0
- /warp/tests/{test_jax.py → interop/test_jax.py} +0 -0
- /warp/tests/{test_paddle.py → interop/test_paddle.py} +0 -0
- /warp/tests/{test_torch.py → interop/test_torch.py} +0 -0
- /warp/tests/{test_coloring.py → sim/test_coloring.py} +0 -0
- /warp/tests/{test_sim_grad_bounce_linear.py → sim/test_sim_grad_bounce_linear.py} +0 -0
- /warp/tests/{test_tile_shared_memory.py → tile/test_tile_shared_memory.py} +0 -0
- {warp_lang-1.6.2.dist-info → warp_lang-1.7.1.dist-info}/top_level.txt +0 -0
warp/native/intersect.h
CHANGED
|
@@ -815,7 +815,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
815
815
|
var_17 = wp::vec2(var_5, var_9);
|
|
816
816
|
goto label1;
|
|
817
817
|
}
|
|
818
|
-
var_18 = wp::
|
|
818
|
+
var_18 = wp::where(var_16, var_17, var_10);
|
|
819
819
|
var_19 = wp::mul(var_3, var_13);
|
|
820
820
|
var_20 = wp::mul(var_12, var_4);
|
|
821
821
|
var_21 = wp::sub(var_19, var_20);
|
|
@@ -830,7 +830,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
830
830
|
var_29 = wp::vec2(var_28, var_23);
|
|
831
831
|
goto label2;
|
|
832
832
|
}
|
|
833
|
-
var_30 = wp::
|
|
833
|
+
var_30 = wp::where(var_27, var_29, var_18);
|
|
834
834
|
var_31 = wp::sub(var_p, var_c);
|
|
835
835
|
var_32 = wp::dot(var_0, var_31);
|
|
836
836
|
var_33 = wp::dot(var_1, var_31);
|
|
@@ -841,7 +841,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
841
841
|
var_37 = wp::vec2(var_5, var_5);
|
|
842
842
|
goto label3;
|
|
843
843
|
}
|
|
844
|
-
var_38 = wp::
|
|
844
|
+
var_38 = wp::where(var_36, var_37, var_30);
|
|
845
845
|
var_39 = wp::mul(var_32, var_4);
|
|
846
846
|
var_40 = wp::mul(var_3, var_33);
|
|
847
847
|
var_41 = wp::sub(var_39, var_40);
|
|
@@ -856,7 +856,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
856
856
|
var_49 = wp::vec2(var_48, var_5);
|
|
857
857
|
goto label4;
|
|
858
858
|
}
|
|
859
|
-
var_50 = wp::
|
|
859
|
+
var_50 = wp::where(var_47, var_49, var_38);
|
|
860
860
|
var_51 = wp::mul(var_12, var_33);
|
|
861
861
|
var_52 = wp::mul(var_32, var_13);
|
|
862
862
|
var_53 = wp::sub(var_51, var_52);
|
|
@@ -876,7 +876,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
876
876
|
var_66 = wp::vec2(var_5, var_65);
|
|
877
877
|
goto label5;
|
|
878
878
|
}
|
|
879
|
-
// var_67 = wp::
|
|
879
|
+
// var_67 = wp::where(var_64, var_66, var_50);
|
|
880
880
|
var_68 = wp::add(var_53, var_41);
|
|
881
881
|
var_69 = wp::add(var_68, var_21);
|
|
882
882
|
var_70 = wp::div(var_9, var_69);
|
|
@@ -898,7 +898,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
898
898
|
wp::adj_div(var_9, var_69, var_70, adj_9, adj_69, adj_70);
|
|
899
899
|
wp::adj_add(var_68, var_21, adj_68, adj_21, adj_69);
|
|
900
900
|
wp::adj_add(var_53, var_41, adj_53, adj_41, adj_68);
|
|
901
|
-
wp::
|
|
901
|
+
wp::adj_where(var_64, var_66, var_50, adj_64, adj_66, adj_50, adj_67);
|
|
902
902
|
if (var_64) {
|
|
903
903
|
label5:;
|
|
904
904
|
adj_66 += adj_ret;
|
|
@@ -915,7 +915,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
915
915
|
wp::adj_sub(var_51, var_52, adj_51, adj_52, adj_53);
|
|
916
916
|
wp::adj_mul(var_32, var_13, adj_32, adj_13, adj_52);
|
|
917
917
|
wp::adj_mul(var_12, var_33, adj_12, adj_33, adj_51);
|
|
918
|
-
wp::
|
|
918
|
+
wp::adj_where(var_47, var_49, var_38, adj_47, adj_49, adj_38, adj_50);
|
|
919
919
|
if (var_47) {
|
|
920
920
|
label4:;
|
|
921
921
|
adj_49 += adj_ret;
|
|
@@ -927,7 +927,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
927
927
|
wp::adj_sub(var_39, var_40, adj_39, adj_40, adj_41);
|
|
928
928
|
wp::adj_mul(var_3, var_33, adj_3, adj_33, adj_40);
|
|
929
929
|
wp::adj_mul(var_32, var_4, adj_32, adj_4, adj_39);
|
|
930
|
-
wp::
|
|
930
|
+
wp::adj_where(var_36, var_37, var_30, adj_36, adj_37, adj_30, adj_38);
|
|
931
931
|
if (var_36) {
|
|
932
932
|
label3:;
|
|
933
933
|
adj_37 += adj_ret;
|
|
@@ -936,7 +936,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
936
936
|
wp::adj_dot(var_1, var_31, adj_1, adj_31, adj_33);
|
|
937
937
|
wp::adj_dot(var_0, var_31, adj_0, adj_31, adj_32);
|
|
938
938
|
wp::adj_sub(var_p, var_c, adj_p, adj_c, adj_31);
|
|
939
|
-
wp::
|
|
939
|
+
wp::adj_where(var_27, var_29, var_18, adj_27, adj_29, adj_18, adj_30);
|
|
940
940
|
if (var_27) {
|
|
941
941
|
label2:;
|
|
942
942
|
adj_29 += adj_ret;
|
|
@@ -948,7 +948,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
948
948
|
wp::adj_sub(var_19, var_20, adj_19, adj_20, adj_21);
|
|
949
949
|
wp::adj_mul(var_12, var_4, adj_12, adj_4, adj_20);
|
|
950
950
|
wp::adj_mul(var_3, var_13, adj_3, adj_13, adj_19);
|
|
951
|
-
wp::
|
|
951
|
+
wp::adj_where(var_16, var_17, var_10, adj_16, adj_17, adj_10, adj_18);
|
|
952
952
|
if (var_16) {
|
|
953
953
|
label1:;
|
|
954
954
|
adj_17 += adj_ret;
|
|
@@ -1156,8 +1156,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1156
1156
|
var_17 = wp::div(var_5, var_4);
|
|
1157
1157
|
var_18 = wp::cast_float(var_17);
|
|
1158
1158
|
}
|
|
1159
|
-
var_19 = wp::
|
|
1160
|
-
var_20 = wp::
|
|
1159
|
+
var_19 = wp::where(var_15, var_16, var_7);
|
|
1160
|
+
var_20 = wp::where(var_15, var_18, var_8);
|
|
1161
1161
|
if (!var_15) {
|
|
1162
1162
|
var_21 = wp::dot(var_0, var_2);
|
|
1163
1163
|
var_22 = (var_4 <= var_epsilon);
|
|
@@ -1167,8 +1167,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1167
1167
|
var_26 = wp::clamp(var_24, var_6, var_25);
|
|
1168
1168
|
var_27 = wp::cast_float(var_6);
|
|
1169
1169
|
}
|
|
1170
|
-
var_28 = wp::
|
|
1171
|
-
var_29 = wp::
|
|
1170
|
+
var_28 = wp::where(var_22, var_26, var_19);
|
|
1171
|
+
var_29 = wp::where(var_22, var_27, var_20);
|
|
1172
1172
|
if (!var_22) {
|
|
1173
1173
|
var_30 = wp::dot(var_0, var_1);
|
|
1174
1174
|
var_31 = wp::mul(var_3, var_4);
|
|
@@ -1182,10 +1182,10 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1182
1182
|
var_38 = wp::div(var_37, var_33);
|
|
1183
1183
|
var_39 = wp::clamp(var_38, var_6, var_25);
|
|
1184
1184
|
}
|
|
1185
|
-
var_40 = wp::
|
|
1185
|
+
var_40 = wp::where(var_34, var_39, var_28);
|
|
1186
1186
|
if (!var_34) {
|
|
1187
1187
|
}
|
|
1188
|
-
var_41 = wp::
|
|
1188
|
+
var_41 = wp::where(var_34, var_40, var_6);
|
|
1189
1189
|
var_42 = wp::mul(var_30, var_41);
|
|
1190
1190
|
var_43 = wp::add(var_42, var_5);
|
|
1191
1191
|
var_44 = wp::div(var_43, var_4);
|
|
@@ -1195,8 +1195,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1195
1195
|
var_47 = wp::div(var_46, var_3);
|
|
1196
1196
|
var_48 = wp::clamp(var_47, var_6, var_25);
|
|
1197
1197
|
}
|
|
1198
|
-
var_49 = wp::
|
|
1199
|
-
var_50 = wp::
|
|
1198
|
+
var_49 = wp::where(var_45, var_48, var_41);
|
|
1199
|
+
var_50 = wp::where(var_45, var_6, var_44);
|
|
1200
1200
|
if (!var_45) {
|
|
1201
1201
|
var_51 = (var_50 > var_25);
|
|
1202
1202
|
if (var_51) {
|
|
@@ -1204,17 +1204,17 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1204
1204
|
var_53 = wp::div(var_52, var_3);
|
|
1205
1205
|
var_54 = wp::clamp(var_53, var_6, var_25);
|
|
1206
1206
|
}
|
|
1207
|
-
var_55 = wp::
|
|
1208
|
-
var_56 = wp::
|
|
1207
|
+
var_55 = wp::where(var_51, var_54, var_49);
|
|
1208
|
+
var_56 = wp::where(var_51, var_25, var_50);
|
|
1209
1209
|
}
|
|
1210
|
-
var_57 = wp::
|
|
1211
|
-
var_58 = wp::
|
|
1210
|
+
var_57 = wp::where(var_45, var_49, var_55);
|
|
1211
|
+
var_58 = wp::where(var_45, var_50, var_56);
|
|
1212
1212
|
}
|
|
1213
|
-
var_59 = wp::
|
|
1214
|
-
var_60 = wp::
|
|
1213
|
+
var_59 = wp::where(var_22, var_28, var_57);
|
|
1214
|
+
var_60 = wp::where(var_22, var_29, var_58);
|
|
1215
1215
|
}
|
|
1216
|
-
var_61 = wp::
|
|
1217
|
-
var_62 = wp::
|
|
1216
|
+
var_61 = wp::where(var_15, var_19, var_59);
|
|
1217
|
+
var_62 = wp::where(var_15, var_20, var_60);
|
|
1218
1218
|
var_63 = wp::sub(var_q1, var_p1);
|
|
1219
1219
|
var_64 = wp::mul(var_63, var_61);
|
|
1220
1220
|
var_65 = wp::add(var_p1, var_64);
|
warp/native/intersect_adj.h
CHANGED
|
@@ -211,8 +211,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
211
211
|
var_17 = wp::div(var_5, var_4);
|
|
212
212
|
var_18 = wp::cast_float(var_17);
|
|
213
213
|
}
|
|
214
|
-
var_19 = wp::
|
|
215
|
-
var_20 = wp::
|
|
214
|
+
var_19 = wp::where(var_15, var_16, var_7);
|
|
215
|
+
var_20 = wp::where(var_15, var_18, var_8);
|
|
216
216
|
if (!var_15) {
|
|
217
217
|
var_21 = wp::dot(var_0, var_2);
|
|
218
218
|
var_22 = (var_4 <= var_epsilon);
|
|
@@ -222,8 +222,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
222
222
|
var_26 = wp::clamp(var_24, var_6, var_25);
|
|
223
223
|
var_27 = wp::cast_float(var_6);
|
|
224
224
|
}
|
|
225
|
-
var_28 = wp::
|
|
226
|
-
var_29 = wp::
|
|
225
|
+
var_28 = wp::where(var_22, var_26, var_19);
|
|
226
|
+
var_29 = wp::where(var_22, var_27, var_20);
|
|
227
227
|
if (!var_22) {
|
|
228
228
|
var_30 = wp::dot(var_0, var_1);
|
|
229
229
|
var_31 = wp::mul(var_3, var_4);
|
|
@@ -237,10 +237,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
237
237
|
var_38 = wp::div(var_37, var_33);
|
|
238
238
|
var_39 = wp::clamp(var_38, var_6, var_25);
|
|
239
239
|
}
|
|
240
|
-
var_40 = wp::
|
|
240
|
+
var_40 = wp::where(var_34, var_39, var_28);
|
|
241
241
|
if (!var_34) {
|
|
242
242
|
}
|
|
243
|
-
var_41 = wp::
|
|
243
|
+
var_41 = wp::where(var_34, var_40, var_6);
|
|
244
244
|
var_42 = wp::mul(var_30, var_41);
|
|
245
245
|
var_43 = wp::add(var_42, var_5);
|
|
246
246
|
var_44 = wp::div(var_43, var_4);
|
|
@@ -250,8 +250,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
250
250
|
var_47 = wp::div(var_46, var_3);
|
|
251
251
|
var_48 = wp::clamp(var_47, var_6, var_25);
|
|
252
252
|
}
|
|
253
|
-
var_49 = wp::
|
|
254
|
-
var_50 = wp::
|
|
253
|
+
var_49 = wp::where(var_45, var_48, var_41);
|
|
254
|
+
var_50 = wp::where(var_45, var_6, var_44);
|
|
255
255
|
if (!var_45) {
|
|
256
256
|
var_51 = (var_50 > var_25);
|
|
257
257
|
if (var_51) {
|
|
@@ -259,17 +259,17 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
259
259
|
var_53 = wp::div(var_52, var_3);
|
|
260
260
|
var_54 = wp::clamp(var_53, var_6, var_25);
|
|
261
261
|
}
|
|
262
|
-
var_55 = wp::
|
|
263
|
-
var_56 = wp::
|
|
262
|
+
var_55 = wp::where(var_51, var_54, var_49);
|
|
263
|
+
var_56 = wp::where(var_51, var_25, var_50);
|
|
264
264
|
}
|
|
265
|
-
var_57 = wp::
|
|
266
|
-
var_58 = wp::
|
|
265
|
+
var_57 = wp::where(var_45, var_49, var_55);
|
|
266
|
+
var_58 = wp::where(var_45, var_50, var_56);
|
|
267
267
|
}
|
|
268
|
-
var_59 = wp::
|
|
269
|
-
var_60 = wp::
|
|
268
|
+
var_59 = wp::where(var_22, var_28, var_57);
|
|
269
|
+
var_60 = wp::where(var_22, var_29, var_58);
|
|
270
270
|
}
|
|
271
|
-
var_61 = wp::
|
|
272
|
-
var_62 = wp::
|
|
271
|
+
var_61 = wp::where(var_15, var_19, var_59);
|
|
272
|
+
var_62 = wp::where(var_15, var_20, var_60);
|
|
273
273
|
var_63 = wp::sub(var_q1, var_p1);
|
|
274
274
|
var_64 = wp::mul(var_63, var_61);
|
|
275
275
|
var_65 = wp::add(var_p1, var_64);
|
|
@@ -293,25 +293,25 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
293
293
|
wp::adj_add(var_p1, var_64, adj_p1, adj_64, adj_65);
|
|
294
294
|
wp::adj_mul(var_63, var_61, adj_63, adj_61, adj_64);
|
|
295
295
|
wp::adj_sub(var_q1, var_p1, adj_q1, adj_p1, adj_63);
|
|
296
|
-
wp::
|
|
297
|
-
wp::
|
|
296
|
+
wp::adj_where(var_15, var_20, var_60, adj_15, adj_20, adj_60, adj_62);
|
|
297
|
+
wp::adj_where(var_15, var_19, var_59, adj_15, adj_19, adj_59, adj_61);
|
|
298
298
|
if (!var_15) {
|
|
299
|
-
wp::
|
|
300
|
-
wp::
|
|
299
|
+
wp::adj_where(var_22, var_29, var_58, adj_22, adj_29, adj_58, adj_60);
|
|
300
|
+
wp::adj_where(var_22, var_28, var_57, adj_22, adj_28, adj_57, adj_59);
|
|
301
301
|
if (!var_22) {
|
|
302
|
-
wp::
|
|
303
|
-
wp::
|
|
302
|
+
wp::adj_where(var_45, var_50, var_56, adj_45, adj_50, adj_56, adj_58);
|
|
303
|
+
wp::adj_where(var_45, var_49, var_55, adj_45, adj_49, adj_55, adj_57);
|
|
304
304
|
if (!var_45) {
|
|
305
|
-
wp::
|
|
306
|
-
wp::
|
|
305
|
+
wp::adj_where(var_51, var_25, var_50, adj_51, adj_25, adj_50, adj_56);
|
|
306
|
+
wp::adj_where(var_51, var_54, var_49, adj_51, adj_54, adj_49, adj_55);
|
|
307
307
|
if (var_51) {
|
|
308
308
|
wp::adj_clamp(var_53, var_6, var_25, adj_53, adj_6, adj_25, adj_54);
|
|
309
309
|
wp::adj_div(var_52, var_3, var_53, adj_52, adj_3, adj_53);
|
|
310
310
|
wp::adj_sub(var_30, var_21, adj_30, adj_21, adj_52);
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
wp::
|
|
314
|
-
wp::
|
|
313
|
+
wp::adj_where(var_45, var_6, var_44, adj_45, adj_6, adj_44, adj_50);
|
|
314
|
+
wp::adj_where(var_45, var_48, var_41, adj_45, adj_48, adj_41, adj_49);
|
|
315
315
|
if (var_45) {
|
|
316
316
|
wp::adj_clamp(var_47, var_6, var_25, adj_47, adj_6, adj_25, adj_48);
|
|
317
317
|
wp::adj_div(var_46, var_3, var_47, adj_46, adj_3, adj_47);
|
|
@@ -320,10 +320,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
320
320
|
wp::adj_div(var_43, var_4, var_44, adj_43, adj_4, adj_44);
|
|
321
321
|
wp::adj_add(var_42, var_5, adj_42, adj_5, adj_43);
|
|
322
322
|
wp::adj_mul(var_30, var_41, adj_30, adj_41, adj_42);
|
|
323
|
-
wp::
|
|
323
|
+
wp::adj_where(var_34, var_40, var_6, adj_34, adj_40, adj_6, adj_41);
|
|
324
324
|
if (!var_34) {
|
|
325
325
|
}
|
|
326
|
-
wp::
|
|
326
|
+
wp::adj_where(var_34, var_39, var_28, adj_34, adj_39, adj_28, adj_40);
|
|
327
327
|
if (var_34) {
|
|
328
328
|
wp::adj_clamp(var_38, var_6, var_25, adj_38, adj_6, adj_25, adj_39);
|
|
329
329
|
wp::adj_div(var_37, var_33, var_38, adj_37, adj_33, adj_38);
|
|
@@ -336,8 +336,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
336
336
|
wp::adj_mul(var_3, var_4, adj_3, adj_4, adj_31);
|
|
337
337
|
wp::adj_dot(var_0, var_1, adj_0, adj_1, adj_30);
|
|
338
338
|
}
|
|
339
|
-
wp::
|
|
340
|
-
wp::
|
|
339
|
+
wp::adj_where(var_22, var_27, var_20, adj_22, adj_27, adj_20, adj_29);
|
|
340
|
+
wp::adj_where(var_22, var_26, var_19, adj_22, adj_26, adj_19, adj_28);
|
|
341
341
|
if (var_22) {
|
|
342
342
|
wp::adj_cast_float(var_6, adj_6, adj_27);
|
|
343
343
|
wp::adj_clamp(var_24, var_6, var_25, adj_24, adj_6, adj_25, adj_26);
|
|
@@ -346,8 +346,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
346
346
|
}
|
|
347
347
|
wp::adj_dot(var_0, var_2, adj_0, adj_2, adj_21);
|
|
348
348
|
}
|
|
349
|
-
wp::
|
|
350
|
-
wp::
|
|
349
|
+
wp::adj_where(var_15, var_18, var_8, adj_15, adj_18, adj_8, adj_20);
|
|
350
|
+
wp::adj_where(var_15, var_16, var_7, adj_15, adj_16, adj_7, adj_19);
|
|
351
351
|
if (var_15) {
|
|
352
352
|
wp::adj_cast_float(var_17, adj_17, adj_18);
|
|
353
353
|
wp::adj_div(var_5, var_4, var_17, adj_5, adj_4, adj_17);
|
|
@@ -372,4 +372,4 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
372
372
|
|
|
373
373
|
}
|
|
374
374
|
|
|
375
|
-
} // namespace wp
|
|
375
|
+
} // namespace wp
|
warp/native/marching.cu
CHANGED
|
@@ -505,7 +505,7 @@ WP_API int marching_cubes_surface_device(
|
|
|
505
505
|
return -1;
|
|
506
506
|
}
|
|
507
507
|
|
|
508
|
-
wp_launch_device(WP_CURRENT_CONTEXT, create_cell_tris, mc.num_cells, (mc, field, triangles, threshold));
|
|
508
|
+
wp_launch_device(WP_CURRENT_CONTEXT, wp::create_cell_tris, mc.num_cells, (mc, field, triangles, threshold));
|
|
509
509
|
|
|
510
510
|
*out_num_verts = num_verts;
|
|
511
511
|
*out_num_tris = num_tris;
|