warp-lang 1.3.3__py3-none-win_amd64.whl → 1.4.1__py3-none-win_amd64.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.

Files changed (111) hide show
  1. warp/__init__.py +6 -0
  2. warp/autograd.py +59 -6
  3. warp/bin/warp-clang.dll +0 -0
  4. warp/bin/warp.dll +0 -0
  5. warp/build_dll.py +8 -10
  6. warp/builtins.py +103 -3
  7. warp/codegen.py +447 -53
  8. warp/config.py +1 -1
  9. warp/context.py +682 -405
  10. warp/dlpack.py +2 -0
  11. warp/examples/benchmarks/benchmark_cloth.py +10 -0
  12. warp/examples/core/example_render_opengl.py +12 -10
  13. warp/examples/fem/example_adaptive_grid.py +251 -0
  14. warp/examples/fem/example_apic_fluid.py +1 -1
  15. warp/examples/fem/example_diffusion_3d.py +2 -2
  16. warp/examples/fem/example_magnetostatics.py +1 -1
  17. warp/examples/fem/example_streamlines.py +1 -0
  18. warp/examples/fem/utils.py +25 -5
  19. warp/examples/sim/example_cloth.py +50 -6
  20. warp/fem/__init__.py +2 -0
  21. warp/fem/adaptivity.py +493 -0
  22. warp/fem/field/field.py +2 -1
  23. warp/fem/field/nodal_field.py +18 -26
  24. warp/fem/field/test.py +4 -4
  25. warp/fem/field/trial.py +4 -4
  26. warp/fem/geometry/__init__.py +1 -0
  27. warp/fem/geometry/adaptive_nanogrid.py +843 -0
  28. warp/fem/geometry/nanogrid.py +55 -28
  29. warp/fem/space/__init__.py +1 -1
  30. warp/fem/space/nanogrid_function_space.py +69 -35
  31. warp/fem/utils.py +118 -107
  32. warp/jax_experimental.py +28 -15
  33. warp/native/array.h +0 -1
  34. warp/native/builtin.h +103 -6
  35. warp/native/bvh.cu +4 -2
  36. warp/native/cuda_util.cpp +14 -0
  37. warp/native/cuda_util.h +2 -0
  38. warp/native/error.cpp +4 -2
  39. warp/native/exports.h +99 -0
  40. warp/native/mat.h +97 -0
  41. warp/native/mesh.cpp +36 -0
  42. warp/native/mesh.cu +52 -1
  43. warp/native/mesh.h +1 -0
  44. warp/native/quat.h +43 -0
  45. warp/native/range.h +11 -2
  46. warp/native/spatial.h +6 -0
  47. warp/native/vec.h +74 -0
  48. warp/native/warp.cpp +2 -1
  49. warp/native/warp.cu +10 -3
  50. warp/native/warp.h +8 -1
  51. warp/paddle.py +382 -0
  52. warp/sim/__init__.py +1 -0
  53. warp/sim/collide.py +519 -0
  54. warp/sim/integrator_euler.py +18 -5
  55. warp/sim/integrator_featherstone.py +5 -5
  56. warp/sim/integrator_vbd.py +1026 -0
  57. warp/sim/integrator_xpbd.py +2 -6
  58. warp/sim/model.py +50 -25
  59. warp/sparse.py +9 -7
  60. warp/stubs.py +459 -0
  61. warp/tape.py +2 -0
  62. warp/tests/aux_test_dependent.py +1 -0
  63. warp/tests/aux_test_name_clash1.py +32 -0
  64. warp/tests/aux_test_name_clash2.py +32 -0
  65. warp/tests/aux_test_square.py +1 -0
  66. warp/tests/test_array.py +188 -0
  67. warp/tests/test_async.py +3 -3
  68. warp/tests/test_atomic.py +6 -0
  69. warp/tests/test_closest_point_edge_edge.py +93 -1
  70. warp/tests/test_codegen.py +93 -15
  71. warp/tests/test_codegen_instancing.py +1457 -0
  72. warp/tests/test_collision.py +486 -0
  73. warp/tests/test_compile_consts.py +3 -28
  74. warp/tests/test_dlpack.py +170 -0
  75. warp/tests/test_examples.py +22 -8
  76. warp/tests/test_fast_math.py +10 -4
  77. warp/tests/test_fem.py +81 -1
  78. warp/tests/test_func.py +46 -0
  79. warp/tests/test_implicit_init.py +49 -0
  80. warp/tests/test_jax.py +58 -0
  81. warp/tests/test_mat.py +84 -0
  82. warp/tests/test_mesh_query_point.py +188 -0
  83. warp/tests/test_model.py +13 -0
  84. warp/tests/test_module_hashing.py +40 -0
  85. warp/tests/test_multigpu.py +3 -3
  86. warp/tests/test_overwrite.py +8 -0
  87. warp/tests/test_paddle.py +852 -0
  88. warp/tests/test_print.py +89 -0
  89. warp/tests/test_quat.py +111 -0
  90. warp/tests/test_reload.py +31 -1
  91. warp/tests/test_scalar_ops.py +2 -0
  92. warp/tests/test_static.py +568 -0
  93. warp/tests/test_streams.py +64 -3
  94. warp/tests/test_struct.py +4 -4
  95. warp/tests/test_torch.py +24 -0
  96. warp/tests/test_triangle_closest_point.py +137 -0
  97. warp/tests/test_types.py +1 -1
  98. warp/tests/test_vbd.py +386 -0
  99. warp/tests/test_vec.py +143 -0
  100. warp/tests/test_vec_scalar_ops.py +139 -0
  101. warp/tests/unittest_suites.py +12 -0
  102. warp/tests/unittest_utils.py +9 -5
  103. warp/thirdparty/dlpack.py +3 -1
  104. warp/types.py +167 -36
  105. warp/utils.py +37 -14
  106. {warp_lang-1.3.3.dist-info → warp_lang-1.4.1.dist-info}/METADATA +10 -8
  107. {warp_lang-1.3.3.dist-info → warp_lang-1.4.1.dist-info}/RECORD +110 -98
  108. warp/tests/test_point_triangle_closest_point.py +0 -143
  109. {warp_lang-1.3.3.dist-info → warp_lang-1.4.1.dist-info}/LICENSE.md +0 -0
  110. {warp_lang-1.3.3.dist-info → warp_lang-1.4.1.dist-info}/WHEEL +0 -0
  111. {warp_lang-1.3.3.dist-info → warp_lang-1.4.1.dist-info}/top_level.txt +0 -0
@@ -1,25 +1,26 @@
1
- warp/__init__.py,sha256=4-qacBz6g6l4lAZeypqVvcb1et69XzHyeyHAlXJzc_A,4687
1
+ warp/__init__.py,sha256=m7w5_kWVrTm6s0tY8YclsZlu2xwiTM5TWjt0oTUmq6Q,4931
2
2
  warp/__init__.pyi,sha256=Vxal9LM-q5ztScfRhrM4INpm5LJV6fN6B-H2NI5pkyU,21
3
- warp/autograd.py,sha256=WBetwkoMWatoPlGDs6oN_8Pd6k4znAyjtV8EmwNRiFs,33640
3
+ warp/autograd.py,sha256=5-ClvT3AwDQfUcpgDlVN7D4tFFzqqjBJrEMTM_Ag4gk,35700
4
4
  warp/build.py,sha256=N2-SDksxkffUkzV97dtLW2Wjqd5ERfgwpqzVoe8GNRw,3904
5
- warp/build_dll.py,sha256=p9eTXMhKbI0uTkpqeY5DxOmVhupfaykM-a-re6fXBXg,15896
6
- warp/builtins.py,sha256=2eqAYDotCCaZ2pdDLNWLSqTM_qnMb9O9O-OfkZpj4Yg,142275
7
- warp/codegen.py,sha256=bwWinPrKbCBm_2xLywCJDAgpWhEoo4i4zmeCTklCWJo,116383
8
- warp/config.py,sha256=Wc2uujoeByAWRwCusQR0_YCesd2VyWnzf0MST70hwl0,2808
5
+ warp/build_dll.py,sha256=jJYepplaVXRdLL_ug4QlR6w7TSjyHB8zr1EyfZROOgA,15801
6
+ warp/builtins.py,sha256=g1lDmyGZnFU_1jBPMzzYRdJPyPG9kbhbfuDicNBd21w,145755
7
+ warp/codegen.py,sha256=5MLNdPhHGrdxZCDsV1IgmssZ2LEBBd_lB66P4qvWECU,133887
8
+ warp/config.py,sha256=nmywCBQORl5fHziFpCqT17fYbqxDCUtM9hTDEPyQkJ4,2808
9
9
  warp/constants.py,sha256=ckfEqwbg109RJDW98SILe_yfOBEFolOATVjt0mU2py4,1321
10
- warp/context.py,sha256=wHh56A2qHp9CKWSpN8-P_sQNWBfOS0RMTXMMVqi1Jjs,226312
11
- warp/dlpack.py,sha256=Ol_wrve9k6ipSarDpNGlHoEH4KRFJucz09Aqvtgccs8,16777
10
+ warp/context.py,sha256=w0G-nmuzzg9XEina3ovCPijAr-A9PjG9XYXYuZCjT_Q,238071
11
+ warp/dlpack.py,sha256=jyQdL-2c6zM-r5P0DZBCTSkBoRpbmWChvcn3GvGBKIE,16853
12
12
  warp/fabric.py,sha256=qWOomvuhM2y3EzScsgaj_Dxvdt0wJPfFu4jUUG1JALg,11439
13
13
  warp/jax.py,sha256=QKJXfpz1jjaRD-Yp4C4wC4jUv8jHj0en3MW0VXKq0ZA,5280
14
- warp/jax_experimental.py,sha256=sQH-B4Lm_iqBfxdYypnIxvmaQ7-EuQTXNvDH0EH2weY,13400
15
- warp/sparse.py,sha256=APAp2M2FNpmOaQkI-ddxjluEcwJ-Ua2plNwq8IdP_Gw,64640
16
- warp/stubs.py,sha256=0TKzfYAuQR9_gGk3TRzJhvHdjSUkAL2KlBXdD6Q73-U,51776
17
- warp/tape.py,sha256=w96cmAIWTEvmUCvFVoNp3qMO2CCI934CjwE-7buPpDw,48988
14
+ warp/jax_experimental.py,sha256=1WFrXcZk3U9SzqM5NJmpuCd1h29tWfvwZRA7b9JIecs,13930
15
+ warp/paddle.py,sha256=afh5f7n37IRaDiRimFlI4xqW6p7xTPx61wnTkotOUS8,14862
16
+ warp/sparse.py,sha256=tKF7IdiNZB9WpU9t5rFp5t2W4dVa8kacK6dFNA9RE00,64820
17
+ warp/stubs.py,sha256=vqSKm0q1ptkqhtq1iA1Yepn7Bzrde-tJsnE0P_YZ9wI,67864
18
+ warp/tape.py,sha256=X979fk8oSsJiv-VQyz2AMhAm2udDk2bngx-_zKHIJyo,49015
18
19
  warp/torch.py,sha256=jv3SYQHVKsiCzenlWUVmVs5mLYfsWcdTW446IqvEwVA,14505
19
- warp/types.py,sha256=L18PVTGCluXFX6smghknfhpbtMcI8TOPaptzD1MsiTY,176638
20
- warp/utils.py,sha256=wwyxRAujKkpdm-sB4pX5upAEgLv5RymOi6pQoNOUs-I,34663
21
- warp/bin/warp-clang.dll,sha256=9dQHqP0ULrTwhm3M3uFfOSt3AtNj8ZIvkfZGVAjSstw,47584256
22
- warp/bin/warp.dll,sha256=_sr9wcTNo-R9Nt3eic-fxVg14BcuZ13fY-YRtKfR81U,101460992
20
+ warp/types.py,sha256=HIBjH5N1-n20oOkLUIHJX6rzGbeEFis-REKu2h1VxFY,181341
21
+ warp/utils.py,sha256=T07usjsWbggZTH1jvWd-W4ucWcWOEsLSdv8443LseJ8,35993
22
+ warp/bin/warp-clang.dll,sha256=3Kk6iFOVupg0F5Tgg1iu1weiEJd2VrxAm290QNl-m0A,47584256
23
+ warp/bin/warp.dll,sha256=werkV2gbHKWhvwxJk3ESa4yIUevU_vmPmoPCAxtjoZQ,101675008
23
24
  warp/examples/__init__.py,sha256=ul3vRFtQ17_zIZIWJaCnCY28KZTGOUHQA4wA_IW_qaw,606
24
25
  warp/examples/browse.py,sha256=6v7F0vpZz5ZtYGkg8hIpxhbIZ2ECv46cIKAmKVtV1S4,848
25
26
  warp/examples/assets/bear.usd,sha256=1SK7s-zpF3Ypzcc8Wt861o174Pe-xMuJpvosACXVNUk,226238
@@ -34,7 +35,7 @@ warp/examples/assets/rocks.nvdb,sha256=6jIrR2jk5dTIfhanMB_FiNI_vJOs7YCfzLXcFPGmV
34
35
  warp/examples/assets/rocks.usd,sha256=Q3QrGmTIo4GcPc4BOxBdkRU0WCErM5eWBFU2NjWFnFs,428189
35
36
  warp/examples/assets/sphere.usd,sha256=9nIhnmLIj-cS-PMTieVzMxsUAbpN-tMTavm-leUOfjI,2619
36
37
  warp/examples/benchmarks/benchmark_api.py,sha256=tEhZhlCkWqbE1h5mtbbia1Q0MAkCcK8vJgfxmgOP_xk,9577
37
- warp/examples/benchmarks/benchmark_cloth.py,sha256=JFHE7C1gIjK2iAo95bvEY1D5hSWrCbeC10lM8HeO33c,8622
38
+ warp/examples/benchmarks/benchmark_cloth.py,sha256=AQkJqthsFVWWsRMC9pab0Uv_4sW-OLUZNwuD0jhuNHQ,8930
38
39
  warp/examples/benchmarks/benchmark_cloth_cupy.py,sha256=o3S8F86qg_t-WnoXwudZLR8HB5hGvigw_DuqRCWOTQ4,2487
39
40
  warp/examples/benchmarks/benchmark_cloth_jax.py,sha256=awt-YjnrvafCVkXy5LiCQaX1IFhUngOxwpfvgZ0jfqk,2683
40
41
  warp/examples/benchmarks/benchmark_cloth_numba.py,sha256=vybcwvPyIc41t_QR4j1iC_CFsbMBuTQfk7BCceaKx8Q,4166
@@ -54,26 +55,27 @@ warp/examples/core/example_mesh_intersect.py,sha256=S7DNbCmFPcW68FIO2mJNGYlnWnib
54
55
  warp/examples/core/example_nvdb.py,sha256=KJpt54H7GYmPEGiDVePZb_yqd26C0c-uze24YnpELJs,5682
55
56
  warp/examples/core/example_raycast.py,sha256=j2xTugufoy5I_KIj6SHf90rwZVGIcFMrhQWpn8n6UPE,3434
56
57
  warp/examples/core/example_raymarch.py,sha256=SucfNHMio9v6TQ4eQ_E4_fqZbhNXK0aVdM3E9_tq28M,5515
57
- warp/examples/core/example_render_opengl.py,sha256=x45egEJwmRcVOHm4xptznojxFZWLYq6My_PsKVfV42Y,7490
58
+ warp/examples/core/example_render_opengl.py,sha256=f5pxUiHiGYuFQbvOmfhKIFVt-HPUvJZCCXok4H7z20E,7533
58
59
  warp/examples/core/example_sph.py,sha256=yGftlLETVGJspLRuf332BZbwkhncc3eaaazlRg853RA,12623
59
60
  warp/examples/core/example_torch.py,sha256=XLh-3BvJIstw6ILej5BF5My3Th9orp90VewuCg6j3XA,6777
60
61
  warp/examples/core/example_wave.py,sha256=XvM1KedKhaT3kjcPj-yBREzdE15JrgLBVGyBMR5cHpo,8194
61
- warp/examples/fem/example_apic_fluid.py,sha256=v2sFpX344GzDPHX0RFUW-7uDv4XVvuRincaEpzTsLg0,14478
62
+ warp/examples/fem/example_adaptive_grid.py,sha256=PBqgE-8Dq4tOKCmP5WqTlmqkc3JkMfXYCqfMhcx_WCs,9242
63
+ warp/examples/fem/example_apic_fluid.py,sha256=IMvcJlpAxXWjwWQVDjUt5vqz3EDWlnjWlouHOd-uzA8,14507
62
64
  warp/examples/fem/example_burgers.py,sha256=gCt5x3iXCoilVWv4WYA9pzh1nDQYnAARhr5PEdUhAjs,9509
63
65
  warp/examples/fem/example_convection_diffusion.py,sha256=7iY4rlyzfu7i_CNgAS8UfHwkS4jIuyt7ESbTmkDuE4E,5956
64
66
  warp/examples/fem/example_convection_diffusion_dg.py,sha256=batRNlRL9B2J7yJAAM2s8TYY5zNOG3m6yW6LHX-KMiU,7035
65
67
  warp/examples/fem/example_deformed_geometry.py,sha256=BdMbUMjausU1m6tXTdJ7qQ96VlO_t4kRy5jSNMogMK8,5935
66
68
  warp/examples/fem/example_diffusion.py,sha256=liFgksvn3pMGp-M8XVGLa0tlrLIUfUIxVNLtyAV3l1c,7112
67
- warp/examples/fem/example_diffusion_3d.py,sha256=0EOpx2G9Yei-0MQ47gJHWn7tvQgsiYZ1BE7pPmAdLlw,6432
69
+ warp/examples/fem/example_diffusion_3d.py,sha256=iQmM_mO2UoCMhWwybsU189rnR1W7wpuM07e36MWwgoc,6461
68
70
  warp/examples/fem/example_diffusion_mgpu.py,sha256=YnXowP-UQvzlS0dvUa3_LlrmLwE8FMxu8uLrrShfcW8,7784
69
- warp/examples/fem/example_magnetostatics.py,sha256=Oanv3ft1HmEeheCOpgIckQjJQ7LNT-Tw9ycH6mWI5qc,6964
71
+ warp/examples/fem/example_magnetostatics.py,sha256=wMeH7MiVJ0XvJl87k7aDPJr3bxgugQuOdA-xWVJtzp4,6964
70
72
  warp/examples/fem/example_mixed_elasticity.py,sha256=o8RxBwbtwTgNyOQLui5oaEuZa1re9quL_lo-Mt6E62g,10512
71
73
  warp/examples/fem/example_navier_stokes.py,sha256=m-Rr7BJ14I1awhrzuqU_ZWG7D-nO_8F45Z3yYLr7TiA,8696
72
74
  warp/examples/fem/example_nonconforming_contact.py,sha256=APIbR11KU52zVe6_zgObukDyEnDYv2VG7afPqL-uEG0,10412
73
75
  warp/examples/fem/example_stokes.py,sha256=7wM-bf1mjfj8r0urpBjH1Vm6bQfc2X8yUr9PnPph_n0,7154
74
76
  warp/examples/fem/example_stokes_transfer.py,sha256=UhgR5f2yXVavVYhmuMoOzKApg--MXYCD0r5eeHJ3vDs,9366
75
- warp/examples/fem/example_streamlines.py,sha256=AlVqYaklgiIs9u8SdY6NW1Kfmg8jwQwD8wcQ8kQeVXk,12226
76
- warp/examples/fem/utils.py,sha256=Qim4DBbxOhR53dRachKiPVgGVVINHxe7rl3Mb32Hvkk,31419
77
+ warp/examples/fem/example_streamlines.py,sha256=a-RtZrpqngulgfc8MlJ010qZC7kW5iGKsCYT4HGBRlc,12266
78
+ warp/examples/fem/utils.py,sha256=jSS_3iQMTrtNP0b-a1wVmw4OBO9P_5X-wAmZNyjtbYo,32162
77
79
  warp/examples/optim/example_bounce.py,sha256=V4t9pKXGXv91C-S9-e5YV6ENSgOpK2cyHmPl1q3-zKQ,8470
78
80
  warp/examples/optim/example_cloth_throw.py,sha256=mj170UWAhWu4EGQwVgqp08ijoHvwZXlCC4WAa3sl0QE,7213
79
81
  warp/examples/optim/example_diffray.py,sha256=GiSmgqlN_j33uFuJ8KChJJwYpABkhUvII-YeQrOmZqo,18545
@@ -84,7 +86,7 @@ warp/examples/optim/example_spring_cage.py,sha256=641CP6Be3aQza-7MOQlVkXVpAUEHCM
84
86
  warp/examples/optim/example_trajectory.py,sha256=GC1UDRLhUrvAkpegIfa_FqxWKMXDHRzuXzRgqbbmBHA,7670
85
87
  warp/examples/optim/example_walker.py,sha256=lTlcfT118zqLBYg8zPtsSEMl3Dz-SJ8gcAO_zcfIrF8,10731
86
88
  warp/examples/sim/example_cartpole.py,sha256=CJdWfU11_BKitRb-ZF56sflf6dWUqz2IP1eRQHeOcCU,4496
87
- warp/examples/sim/example_cloth.py,sha256=8jiGRfpe-71NC04IkzOHYr-Vd0n2B0h1twuH1ekyGW4,6390
89
+ warp/examples/sim/example_cloth.py,sha256=dKpuPRycwkRpyoZL_C5wiuR5COIYwyF3D-yERUVy0Tw,7743
88
90
  warp/examples/sim/example_granular.py,sha256=993MpdUcBE_qUSRclaGYicynIjFiTia-wVyz8IlON_A,3907
89
91
  warp/examples/sim/example_granular_collision_sdf.py,sha256=y0fmRhWyIT7aJExBaBIHHERjWfeJW2PV5GXmTIcYGsM,6556
90
92
  warp/examples/sim/example_jacobian_ik.py,sha256=waEO4XKw46ifIYfYOEOKNRfP21JB9iC6q8XsmDa7e9w,8562
@@ -96,7 +98,8 @@ warp/examples/sim/example_rigid_force.py,sha256=00G1zIbfN6GM_7rpiuGEk1k91uxTDaxe
96
98
  warp/examples/sim/example_rigid_gyroscopic.py,sha256=22NwdvS278KgkdKD29DTOVWLUtcyBfg35uuEObEF8uU,3348
97
99
  warp/examples/sim/example_rigid_soft_contact.py,sha256=u-OdHBIVR4tForMoJYpsJjeLAMGAXXQU78cDQ6OXkY4,4264
98
100
  warp/examples/sim/example_soft_body.py,sha256=Y_13OJEExPhe8Korhne9SlGmcfu88u5Vg8H3udcboSE,5820
99
- warp/fem/__init__.py,sha256=pijKMGl7MZ6sFRCpC5u4HtH7L6TZv4DSugN5xEKrJJ8,1660
101
+ warp/fem/__init__.py,sha256=QTW0exTAlw4qfCjvUNQi-2iD_bwkvrTnGp7u3cbx_04,1769
102
+ warp/fem/adaptivity.py,sha256=zeeFOoy2QWCbhHoVaN5NsYRGHHPZAPepWXAi3SkNiDw,17046
100
103
  warp/fem/cache.py,sha256=99D9zwn95N5VbALhFXy23XpE_mOMp8SBwlJbZpQ7_HI,18276
101
104
  warp/fem/dirichlet.py,sha256=6Pl5Bu67WDDnX-XDip7esSRfaIaifugAohQjWX7u4RQ,6361
102
105
  warp/fem/domain.py,sha256=CUdrn4alQBNp6qJfErP2bht0dZLjelgrwIVR1PjUMnc,11944
@@ -104,14 +107,15 @@ warp/fem/integrate.py,sha256=mLKHQMgTu8qbN4TOp7DWlV0kNTZBxhi5R2-XfaWMhCo,62264
104
107
  warp/fem/operator.py,sha256=W57PueA32kXd8AFl89ra53LLwO19jsRpFDkclsnwPMI,6383
105
108
  warp/fem/polynomial.py,sha256=feVKe3Yv8M53vCC57dhW7aq698DgnAilNOvvi_BnBY0,6565
106
109
  warp/fem/types.py,sha256=TA6rsT61qIC0a62FEiNrNBPbjz1rhMqF8SqZgFKKcGk,2331
107
- warp/fem/utils.py,sha256=0NS_IdxMwt6wCRBDum5w2QhTednJBu_5iUEvXXb6-Ok,22284
110
+ warp/fem/utils.py,sha256=4Io5rTsEt5Bokf3hAupLqXBO0wcqRWi_U6s-nlFQPA8,22899
108
111
  warp/fem/field/__init__.py,sha256=WGklY2f5nuXLA9TstvWvHJq9AZRxb4kvPihxb1OZHcM,4020
109
- warp/fem/field/field.py,sha256=lu2GJ20sI19PxtwD3oDp3NMSTiT255h4yYY5JD83ZqY,21108
110
- warp/fem/field/nodal_field.py,sha256=_gbMM-1EFSPmeBZwK6-wxAzdoGAinEF5VevKc3RJq-M,13074
112
+ warp/fem/field/field.py,sha256=zGA-nrkirNIBYH7umYT1gvI5sK6qudzhZkR6nIAhofc,21124
113
+ warp/fem/field/nodal_field.py,sha256=g-6zUAt3GKRAPBwt1ZcK38_7KblZwzKweSRJQJ-xQQY,12746
111
114
  warp/fem/field/restriction.py,sha256=M_s2srnYUh3jG-GmEs3yg-MxO294jJgD6VKQdO7XshU,850
112
- warp/fem/field/test.py,sha256=OoroZVEV-x_Crw8y6965pHdPVeOqG80pUXtlDcMwV48,6994
113
- warp/fem/field/trial.py,sha256=KRfVn06Xg5CJx0wkn2ib_UQbCgtVDPP2gWtJTT11sfU,6918
114
- warp/fem/geometry/__init__.py,sha256=fI-GVIgdoOtXChEVM0zqCdLckD0AADa3517rEIwKHa4,461
115
+ warp/fem/field/test.py,sha256=JU6d-ZR2no8bCIjAG-sDc9Ac-jwV8P0uUNIPDllpM_M,6922
116
+ warp/fem/field/trial.py,sha256=Amq6-OBj8b7SsNa1JHX71fDgGN7R5dEnV0JkQYayuKo,6846
117
+ warp/fem/geometry/__init__.py,sha256=LSDcAYhNpot86QjTQqZ8vCHmy5FxLqxH8NAlC5w_WYQ,509
118
+ warp/fem/geometry/adaptive_nanogrid.py,sha256=6Zv1d_7inFKbK_IPQXOzIm-0mNCabU96jozyYPVxntc,31132
115
119
  warp/fem/geometry/closest_point.py,sha256=RhIsOi03VQk3aq6hrnkjKA8yz_Jzf5uTyFuiV4eeYeQ,2028
116
120
  warp/fem/geometry/deformed_geometry.py,sha256=699TNK6LwwvEUOYgPN1IRZnlZmGQqd6Wwy9hv4YYfhs,12818
117
121
  warp/fem/geometry/element.py,sha256=DMyHW-FPNnyWXvDlsew9mTQAWfqnsLvt5x5lqs50nnQ,34180
@@ -119,7 +123,7 @@ warp/fem/geometry/geometry.py,sha256=t2DtgJqnotdclZn97qgTsb_0fuDFty-FLPjf38pO_2M
119
123
  warp/fem/geometry/grid_2d.py,sha256=bUdlCWWNcytF5S-md1ewIk9VYOzLlntZx7ZOGp_ON-4,11950
120
124
  warp/fem/geometry/grid_3d.py,sha256=QnaNcg5R-IahfWb0hOVMcQ6i_0XdKzWZWOwFdbXuYRg,14466
121
125
  warp/fem/geometry/hexmesh.py,sha256=i4Gy2vc8agxxHMTitkRItxeHGwK4V4Gnt3Js6pFFbRo,33961
122
- warp/fem/geometry/nanogrid.py,sha256=wlh5ydgq8vFDe4RfwL8lhRzpKOhygs2acGFNGvNn33Y,18595
126
+ warp/fem/geometry/nanogrid.py,sha256=vhBzMqxSv6etafdelFHb7wjMAkYvkuqA4HPd5cQjknM,19510
123
127
  warp/fem/geometry/partition.py,sha256=uI85pA7SV-b1--HIxGNsktSCey3An00Jj7bztmJ3Pxo,12705
124
128
  warp/fem/geometry/quadmesh_2d.py,sha256=RrHR61aLNdJuKo3nsowkMaYNxhDuwckwF2tKw0gcTtU,19124
125
129
  warp/fem/geometry/tetmesh.py,sha256=kLOeyOa1RjPu8PIXKnleMdwl4nBELtBXuK6g4VrUVqg,31173
@@ -127,7 +131,7 @@ warp/fem/geometry/trimesh_2d.py,sha256=H6B1VZPq-GL5ryGO2Jlgs7CwHSUpZt_sg8bVZPm16
127
131
  warp/fem/quadrature/__init__.py,sha256=oy12FuB8Eip9ikACd8AGXLaqlAFPFDbseWF-C15_k9c,133
128
132
  warp/fem/quadrature/pic_quadrature.py,sha256=IFiUYti3NzGUDaMviwwDF5lFnyaPXUYdH4qjkvs6LiM,10824
129
133
  warp/fem/quadrature/quadrature.py,sha256=JYaObjRPBhXGqY5gD3zPEo6cYlVHQEKncGkts5CqS2E,12639
130
- warp/fem/space/__init__.py,sha256=MuvLHdLzRI22fcYiZtbTg1QV_fwg8Q6RPDDWawWGKx8,7828
134
+ warp/fem/space/__init__.py,sha256=ZMRsfMVaAZ8x22SpS_VTfvgYsaldA54dDg4xiWGDtWw,7880
131
135
  warp/fem/space/basis_space.py,sha256=avuMTdaNE8tHN6k8rkYtj5A9FCr9u_JORsPN8-xIuLU,22348
132
136
  warp/fem/space/collocated_function_space.py,sha256=m5nZXyujFA1IohbBCon6M4CtpLrJPjYAnAv4zKl3EtM,3812
133
137
  warp/fem/space/dof_mapper.py,sha256=-QhOsAFsBayyzjq8e3-xyfqMlBGb0dankmR2mFgg8a4,6859
@@ -135,7 +139,7 @@ warp/fem/space/function_space.py,sha256=IrGWL6xLP5Rh0QfsCr97kNR5mmYWbgyH9sNtkmpC
135
139
  warp/fem/space/grid_2d_function_space.py,sha256=eZKILDxLbdZE2sw5y2kqzWJhv8ykmr4SiYVq7yJOl7o,5249
136
140
  warp/fem/space/grid_3d_function_space.py,sha256=5niAYi3Zq2afjqAbSOfdsu_78bjB8JSOGLEspF1yEwU,6059
137
141
  warp/fem/space/hexmesh_function_space.py,sha256=suZtwRp3cnWaNa36yIlMNQJyxTGDLw85IPcq6mJmeFo,9407
138
- warp/fem/space/nanogrid_function_space.py,sha256=ZfoPWKGvUY45iiJEUM4AGsNj0Ut5jZiv_VQ0gjKcxY0,7210
142
+ warp/fem/space/nanogrid_function_space.py,sha256=ScglGSGJpyIcO1XcvTec6TGwrqxPDHecaKBZHgr_Y2g,9037
139
143
  warp/fem/space/partition.py,sha256=ERmo82Z4jeak7fNLf_DmR_IGqUx6XPXpW0vMnX8DAjI,13927
140
144
  warp/fem/space/quadmesh_2d_function_space.py,sha256=YoM4Sfa9bplerGysOkhPTmoN-mPHr3jsOyhR5ym-VEk,9889
141
145
  warp/fem/space/restriction.py,sha256=mjrNTXxwsFt4BmPT5WA00Y7kaKY7vgum1VVJ-rXIOJY,6648
@@ -148,21 +152,21 @@ warp/fem/space/shape/shape_function.py,sha256=x_cwZlt2BpXjwgKWc7E6y3pTmUDRo-M5Wq
148
152
  warp/fem/space/shape/square_shape_function.py,sha256=wEiqG8RZWG4AqCK_UdmYN9ZrMsMqhXl7Wncvr3MG-zM,23229
149
153
  warp/fem/space/shape/tet_shape_function.py,sha256=bRsLW7ClfcveRlplF3GokhYQxZ2VnwfwR7uzAL91muw,20489
150
154
  warp/fem/space/shape/triangle_shape_function.py,sha256=XIH1-NFHaMmuFXlzNc07bAMlVHY1kTYHJwjosx2-mMg,15248
151
- warp/native/array.h,sha256=rRSNF0w-IEPIC4czqWF2A3Ww0xy4ImjRv6ZzZb9F8g8,38985
152
- warp/native/builtin.h,sha256=jN-O3Xpaxv79ZPutYm7CD9Tn8ZpCaKUQTHzw-fVURng,48326
155
+ warp/native/array.h,sha256=vXJLJjo5nA-QW10y7T6TjVnBHM8utXv4OZEDL3cMj98,38984
156
+ warp/native/builtin.h,sha256=D-OzDu5QoCq3p0I_bPy9WVaYupO4VY5IRcB2_3zUAaM,50684
153
157
  warp/native/bvh.cpp,sha256=PAETbl9RNUqVmJA25wNrg9_3wnGLkykaRubj2ExdKGY,10474
154
- warp/native/bvh.cu,sha256=QVECpYhxHUXhrVBo2QUZ4Wv4X2wgJDdWn5OxEuZELg4,19159
158
+ warp/native/bvh.cu,sha256=G6LuuUVwULtOkhAL2mem8LENFP-dACv35SQu7bScaYY,19371
155
159
  warp/native/bvh.h,sha256=GG0aPcT5p7xAJv7dK3MlE-C14ss7iepksAeIwintons,10188
156
160
  warp/native/crt.cpp,sha256=_2AwFMh_1Q_XIP9lsbc6q74_3HQOl65YpCejKbZ_0aE,1167
157
161
  warp/native/crt.h,sha256=HeMvgbN_8BlITJ2_JkmyGlGra3btP36_rF7K-bnwPuo,10788
158
162
  warp/native/cuda_crt.h,sha256=BZ-ZDKgNnYJ-q_SQdyBFRPlWeFnx_4S3LcNuGsQIF_U,68657
159
- warp/native/cuda_util.cpp,sha256=xd30sSkrBhFUMB0s6QK7V6bu1miwqr9aAZwZMQgZzaI,22258
160
- warp/native/cuda_util.h,sha256=-8TwbZhAKNGGy1YX3MHNZxxkO0ArkYwIQyWGLcqTeI0,10860
163
+ warp/native/cuda_util.cpp,sha256=zfKL2Dfww36tCNHUmSgXArFalmajMQP0v966FMlbhAs,22984
164
+ warp/native/cuda_util.h,sha256=kr_u5s27PwTib31Cc99IEAXt72MMqpabSDMmLjUChjs,11018
161
165
  warp/native/cutlass_gemm.cpp,sha256=AlBnMgeO-veCYV-Y5NHEmOLnWKvzTQIPxSzg75Z7Tpk,1123
162
166
  warp/native/cutlass_gemm.cu,sha256=0ReIwBKKp6S2TaPPAFKIg2pBHItF707NoPjXhwvdG54,21615
163
- warp/native/error.cpp,sha256=QqIwLyjBYBy1MONbdVt6T7A_UqSP4vSFCvrTyjK-Qk0,1706
167
+ warp/native/error.cpp,sha256=vZPoPOWNZxYEhKckC8wTfnrMuZgGcog3uo2j1DprwSA,1907
164
168
  warp/native/error.h,sha256=LL74-rb8cackiu7NvHdu8zezVOVsG-ERr8gyqvqIhwQ,934
165
- warp/native/exports.h,sha256=I8tWYc16Vy3KKn6wWv6JEAHZNI4pLvxbNUeMdb-hH3g,170264
169
+ warp/native/exports.h,sha256=cyX7gP6hV8lPzUo5Jh932kmhGRkz7Mo4EjxAZAzYv44,182600
166
170
  warp/native/fabric.h,sha256=XcTNQx0sbvfSYdVSDPhos9uhH1Z96zylzMFQLuOHSj4,5750
167
171
  warp/native/hashgrid.cpp,sha256=xP3KzWKaE_6_5EQ72Abj-1jJ7ocYitQBXXX0zNgL37A,8429
168
172
  warp/native/hashgrid.cu,sha256=LSHjbh5ehUBoqR1sFAvwGB0KBB3bBGIrF9c9cZnz89c,2259
@@ -174,15 +178,15 @@ warp/native/intersect_tri.h,sha256=Ss8koDQ3ZrilnTiuA8B0xGbS_JAMctEyUD-H_11qcI8,1
174
178
  warp/native/marching.cpp,sha256=YTb-t18J9LjjqAfHLD3DMWaQnxqX0JMjrB0iFmfXaJc,24
175
179
  warp/native/marching.cu,sha256=zD64fmxsdmxRR5yD2worEUBlW31SXLlI-42uQw6lRsI,21326
176
180
  warp/native/marching.h,sha256=NukjDs_VrVC-BXDtIeFhOQFwztYbC9U80UCzr-KGhAg,14
177
- warp/native/mat.h,sha256=Sife0FsF7cq91I25g7tDW5LH2nBcnaDXAs58OedKSUM,48690
181
+ warp/native/mat.h,sha256=d4YuecbJIjCI8bh6O8ck4-GBYgm_srNL6rW5oQpEPrg,51348
178
182
  warp/native/matnn.h,sha256=7PQLOe4cUuL5X7Fi6kVKAqORvz6JMXJHLsDviBMxOZQ,9617
179
- warp/native/mesh.cpp,sha256=oXambmTZAJyvrm1TI2Z-OdFS2bttkOhTn-KMHk8qCgs,5802
180
- warp/native/mesh.cu,sha256=NM3NXKl-yDBeddSyWjQwd6p6xXK51snJi5xL4pAv0Co,10477
181
- warp/native/mesh.h,sha256=LESynmAKlioOqK0Ew64YLUuagP7YrRKkEYzhgL3VVL4,59575
183
+ warp/native/mesh.cpp,sha256=dv1YzFlFxE3HXFWhLgqcHxwAn7JCipJ2jKvai1h90XU,6958
184
+ warp/native/mesh.cu,sha256=hKXK3hj5SqByV5TcTB2ugNpwAqc6CaQiylfagtBlFPk,11981
185
+ warp/native/mesh.h,sha256=zMcdlCop5VrEK7tIpCfYXnV5NqoTRUwz3PBY1x8Ex_Q,59646
182
186
  warp/native/noise.h,sha256=fOH_JY0S9h-HSyYim6EdXWGncBIa8Tb0Ngwbkb4HUgw,29762
183
- warp/native/quat.h,sha256=5kAD8BA8VYM8FRtIZlEZ7PW0J7TKv8dIZ7XlfC87sdc,41610
187
+ warp/native/quat.h,sha256=yuC6qUbtUw96scTAbbk_O55eA1QNFLEq0luyCTFzPwc,42584
184
188
  warp/native/rand.h,sha256=oAsX4qPmrgMoqG1ObtpU63leDPX6tIHTiR448aLGyKE,11781
185
- warp/native/range.h,sha256=D7BLpAA_RXXrWXVcWm6oxZfuaSBCO_U_lFSclI1FQbU,2315
189
+ warp/native/range.h,sha256=qLZFvPygGtClsTh1mtErho6yEXIpyWKN87HliglY2Ac,2504
186
190
  warp/native/reduce.cpp,sha256=TrZLQePN8GpoHsWQRbvgnknbD2Bjgl0PuD1JsnmAVMk,4460
187
191
  warp/native/reduce.cu,sha256=FkNLEQF8DlP5PbDe0AMavxwFs88634gYKce0OO_xZfc,10667
188
192
  warp/native/runlength_encode.cpp,sha256=QSPu8CV-2jJh7Nh-_5Om-WxirBjpfrALvQdlOgpB9F4,1325
@@ -196,19 +200,19 @@ warp/native/sort.cu,sha256=F5Vg6w-5zEWm5fW_NoHIDWAyJUx_yroI1OPqF2aB6hk,2603
196
200
  warp/native/sort.h,sha256=l_VK_yFDm-R4cg-UU5w1qGbs_bxrhm9zFhr8pZfvA5c,695
197
201
  warp/native/sparse.cpp,sha256=8_nSgfjqcQfbG8zncKHCX7NXTAW3ZNBPlTayBeF6jj8,13157
198
202
  warp/native/sparse.cu,sha256=qyP58SCGEoIDimyzcS-EdUFuBbf_duloOixBAv-rjTM,18635
199
- warp/native/spatial.h,sha256=WbU4J31PbMwAAlvDr4oTZ8rgI8yyaxb8jvc4KhSbC4I,19793
203
+ warp/native/spatial.h,sha256=fuX2pO5haRChwz8NAXFfGtGfd7p5fJ1B713_SDIU-Yc,19975
200
204
  warp/native/svd.h,sha256=vHxIm-HlWNO0Dd7PEdrdgrrow2I-1BBKoaF50Kpnj0Y,21017
201
205
  warp/native/temp_buffer.h,sha256=wmaUkNZMVVSnCkTdsqMdhVmLEdVaGcuzFby8c9VO3v0,488
202
- warp/native/vec.h,sha256=jAMPQQfQTFuZS7V1J2JqAhbk0g2GIrKNFlz83IS2Me8,34505
206
+ warp/native/vec.h,sha256=SXmmgtojzgHE-55jZy2YmwXORiaTcSPJpainh_is-S8,36634
203
207
  warp/native/volume.cpp,sha256=qGHXLF0MkpdtVGSLgE_JmRYtrYqLnxunCGafXLBqXNI,17137
204
208
  warp/native/volume.cu,sha256=2kP-zT1HorWnmOGupI7WO_fvNvEwwyd29xiyDFhzAPI,2247
205
209
  warp/native/volume.h,sha256=Ml0zPGwXmS6EYXP8SX6RNo8U-GqGVCo7Hyy3ZtDYrYQ,36349
206
210
  warp/native/volume_builder.cu,sha256=8EeM4NY4XjNCcbAqo609wq_gMCEqxBkPA8mmKCuqvl4,14962
207
211
  warp/native/volume_builder.h,sha256=Wja8iQrz14mOvySh8VUsz82t78mHZaBNuHjH0wX64XQ,764
208
212
  warp/native/volume_impl.h,sha256=ozhYm_ehSw7I7xgpk3vMdxX4E2t8SW3cUWa3TiLtiBk,2176
209
- warp/native/warp.cpp,sha256=jpjUPZX-zkz0ZNk6gL9md8iy87MH-TKL1okbzPlbc44,34720
210
- warp/native/warp.cu,sha256=Sjr0MnP5xx27sMP9nU5c3fyiKYAhJV9n5k9WOL6OIIA,96139
211
- warp/native/warp.h,sha256=8Eq2tnaNhzVtfFdQ_s3ypNvtS834JOualwZGp28YzQs,17650
213
+ warp/native/warp.cpp,sha256=3AXS7roIQCI6gCY1c3haN4TcJS65nj0f1fMFwa5ThaU,34798
214
+ warp/native/warp.cu,sha256=3UKiRojo4lEzDzL7rIl3deB2U7RHmvieQKdR6LFpoFI,96347
215
+ warp/native/warp.h,sha256=N9I5BGW1gpCr_mTFOSd9rBEG0ibFFMrsSPKJAQLktjQ,18065
212
216
  warp/native/clang/clang.cpp,sha256=J0mg9fQrvLCOt_frcySFiJTLZiJc0RSL_PPkrJdTgl4,18649
213
217
  warp/native/nanovdb/GridHandle.h,sha256=zOso4Ekb9HsBb5knhvdNOU1ol-rjhFdJCySXLFKPVbA,18007
214
218
  warp/native/nanovdb/HostBuffer.h,sha256=L1yEnGHUlhx9L38xUI82lJctSg0uxlnph9rW6xWdDAg,21463
@@ -222,19 +226,20 @@ warp/render/__init__.py,sha256=Hh81-iDo3lVH3rtkYrmdIyop27M5ZM6_XncgecMWH0Y,538
222
226
  warp/render/render_opengl.py,sha256=VbwPjPMuYTfwz8c_x3IlEHqlS6RJWVXkoT3w7oqPDFA,126547
223
227
  warp/render/render_usd.py,sha256=AIM6j2GiBQRAcbevKETeNLdhOrZU1Xl7H1dvCxUByuA,27697
224
228
  warp/render/utils.py,sha256=nB6PNhofqT3QEOxKnedC8XN2yMmTc-DvLqT-xsbZP-Q,4298
225
- warp/sim/__init__.py,sha256=ofjO7pNyQyYwcEjZ1e-GFrmsUIonr6w4GPJxrNb66yw,1553
229
+ warp/sim/__init__.py,sha256=xEcv57_ryoHs-PRA-qyaQ7hc4-jt_i3je6_TjaFyc6s,1595
226
230
  warp/sim/articulation.py,sha256=-fPK04voxy4alzloNoVNw3oH3HUWN_RCUOa0Du1OEUU,26077
227
- warp/sim/collide.py,sha256=IRZ3T43Yr5cafcIoillwnvzWH3OeQkvMvpEef9D_Z2A,63885
231
+ warp/sim/collide.py,sha256=z1_RvYxeJfTxtQ03tsIE8706D9_CGgCqASMEOHoeQ8U,84754
228
232
  warp/sim/import_mjcf.py,sha256=VdEgRbde7QzOBfluEHlJh2gc58LQYMlVOa5u3xU0giE,19306
229
233
  warp/sim/import_snu.py,sha256=JW0k5pP2oPFARXFOCZNa_0uLxgKIo4z2g-kOKZkpESw,8339
230
234
  warp/sim/import_urdf.py,sha256=DT7QtOCf60xpOVz9pUZr1LnWCyE4BlfC7qJb0mgwU48,23095
231
235
  warp/sim/import_usd.py,sha256=eIgX0uGDBCCHF520SWaBY6HO9SQy4ZB87rNbfg9dY7k,40498
232
236
  warp/sim/inertia.py,sha256=pnyn9dDEykOr3LHYmlSBZd8_HpXutJ163TK8iBKU5Rc,9074
233
237
  warp/sim/integrator.py,sha256=5UZYDdL6IyQaL6eGc1UQLrLcOrCD0dHmZWgG0K2kCGA,6652
234
- warp/sim/integrator_euler.py,sha256=sES_IlRX8u7RhKIr82huxQcHK5RlSPQybmr_Zch9y6k,59364
235
- warp/sim/integrator_featherstone.py,sha256=if6163zZl3P0AG_wOQ9jHoOCnt982shHZ3k76tbhr4I,64838
236
- warp/sim/integrator_xpbd.py,sha256=oJmTNO3UK6NlC7GLmzsoTb0dV44RM4DvqwVqIlUQkGs,115198
237
- warp/sim/model.py,sha256=RzdglIQBi7ShAQKnB7oPXkpoH10eaeVrL_RhwE_7Rw4,191452
238
+ warp/sim/integrator_euler.py,sha256=OEg0T6aajoX1dEDq0g9OdP1nSOevVCKzv32wNkwQUOI,59787
239
+ warp/sim/integrator_featherstone.py,sha256=f2CS2zoCUaOZSwf2-3w0YeUVuxf3qHCk2nEA-4tQpjg,64873
240
+ warp/sim/integrator_vbd.py,sha256=XZyAmlTeU0GSuv4V_X36ELmtLwYd6zEckvNE_46OuQc,38718
241
+ warp/sim/integrator_xpbd.py,sha256=j11n_X2xBu5CkP66qbybNg-wVH3hw8nhkkJUFvOsqsk,115024
242
+ warp/sim/model.py,sha256=oSwxDY8_nZccrgsoNsZ782CG9YqlOknsaBSFh9Hrsn8,193296
238
243
  warp/sim/particles.py,sha256=wVK-LEKZy9TGYyRnmna_p2Q24zZaorZf8EdUizM4VCo,3165
239
244
  warp/sim/render.py,sha256=XDNflQIqu3XXzVhwR7wC72-8Z3WgEVuEYoo_sDFaOLg,17874
240
245
  warp/sim/utils.py,sha256=WrXAMBi1ufZJpISo4rQfOMGx7u4F3moHDeQW-v8ukyU,12201
@@ -243,57 +248,61 @@ warp/tests/__main__.py,sha256=U76uE7x7b6Rfrb_GXdt9bi-xknastWmhXcPKgyI1y5s,90
243
248
  warp/tests/aux_test_class_kernel.py,sha256=7RwxM7Y46c7Zp9Dda7Ax4G_0i3yJPJH2w9OX3yHYLpY,1027
244
249
  warp/tests/aux_test_compile_consts_dummy.py,sha256=dWfqPU2iEofAy8CJ_PSn1G7tn2gzTJY7pfYpM_27dqE,471
245
250
  warp/tests/aux_test_conditional_unequal_types_kernels.py,sha256=HnMYK-V6phQ8MVfbfe_ZvxwfgTQrO-LbAFggmKGsuX4,646
246
- warp/tests/aux_test_dependent.py,sha256=NoJQ0_tGgcTlO02TWrd6ytBLsGBBkyDbBwmBsrlrSRg,710
251
+ warp/tests/aux_test_dependent.py,sha256=3qAh0BlW9s8JSpAyVGh1JOzyHhJUs77gJwcmJ2xhYH4,744
247
252
  warp/tests/aux_test_grad_customs.py,sha256=busVWPTjQ1n7inPdiJHvHaotYQKi4Zc7Sug1oRIdw8A,831
253
+ warp/tests/aux_test_name_clash1.py,sha256=ntBiXfZvAx0u8sfogJ7ZffqrNOZpktZRhhOif_r_O2c,900
254
+ warp/tests/aux_test_name_clash2.py,sha256=VFY0578VyvlAoyeUvge6oG74WqaEGO_bD0Kn40-yA1E,902
248
255
  warp/tests/aux_test_reference.py,sha256=Kor12TtgY9ZPYgG62WN5yFEwRy-Y5WJNaAZALK2eNvo,194
249
256
  warp/tests/aux_test_reference_reference.py,sha256=EgIq6H8SbgXIyuNj2vT_IytvwoVUbwwRX0cO-jjuRgQ,120
250
- warp/tests/aux_test_square.py,sha256=hDcsBwQd5jGc6WCz1LNXaSTGSyrVdEizWf06AlBSleM,234
257
+ warp/tests/aux_test_square.py,sha256=9at3d__M9hPlwA-Ja350DsgY8U-LggkUu5B1b-K1A00,268
251
258
  warp/tests/aux_test_unresolved_func.py,sha256=siHbCb528XK2DX3cbRWXG6DILnyStwdgSsgLA3qAbxg,579
252
259
  warp/tests/aux_test_unresolved_symbol.py,sha256=ViRAIxODK0B9l8BkedHXzxU4V-JN8HoYBgtZXLrX0SI,588
253
260
  warp/tests/disabled_kinematics.py,sha256=B8M_ih-JAobZA6-zPmtqSYGBCbKRyjtW2obR82iQTSY,7596
254
261
  warp/tests/run_coverage_serial.py,sha256=UjcqNXQixQk13U3Lckm2OlmqPKKzUk_KaBPyHzxkdT4,1045
255
262
  warp/tests/test_adam.py,sha256=u5efgdobQgGdJilsCALB0TKZO5M5T8JDQ8pD3L0CApE,5361
256
263
  warp/tests/test_arithmetic.py,sha256=ISNFQYSSRIpl7vEJNxOR0AqfWegdewYZznJ588ZAwX4,43840
257
- warp/tests/test_array.py,sha256=DZhZYdrwrA1lG-rvSJ3FaR1iYU9auCQvxmChsCzqDKo,88589
264
+ warp/tests/test_array.py,sha256=npNRMflPzUqbMozoUjybkhmok3dDYSX8FpW4NaljUG0,95618
258
265
  warp/tests/test_array_reduce.py,sha256=LH_nUdEPuc-FDRelqgO4c5wK5lU6SPpR4s9IcA5Wktw,4678
259
- warp/tests/test_async.py,sha256=YKFNJVT7R3gGXPuHAXBkZ8VIzBrfnqUsj-tXyHKUgbQ,26498
260
- warp/tests/test_atomic.py,sha256=jnzNwf6EsECVMfqf-wkgwzeqNa0WxzGLEILe8s-Zi9I,5343
266
+ warp/tests/test_async.py,sha256=uqk6lI7mIMMea6R8q6L8zMvcbWvvQ9Q8DpsETkNpGT0,26516
267
+ warp/tests/test_atomic.py,sha256=ELJ5heasiDrzJi-rwWS_MOzfyrCm6LaEnP05E1fSlhE,5627
261
268
  warp/tests/test_bool.py,sha256=f-9kM--pYSg176KD9gRMOdnADfu8HP1ZnZEjvOYPjug,6472
262
269
  warp/tests/test_builtins_resolution.py,sha256=ixoOhKgOgbuH-xbqNLx1DB1Nur3PdAtR0qW-TutaHrI,63989
263
270
  warp/tests/test_bvh.py,sha256=mr7sRxB1AaQWetCzDIOsW38aWWMwIhfbZBMkjZcKr0M,6123
264
- warp/tests/test_closest_point_edge_edge.py,sha256=SHcEi6X0r7q130NwIHRp9WWp0wtLW_MF1vbwahYtiUc,6825
265
- warp/tests/test_codegen.py,sha256=GYB1Dv832OFMGJM3CJehWc1V9P41jRAN-TESntwIrAg,16104
266
- warp/tests/test_compile_consts.py,sha256=A10yquVVmQKabynyD0_FSD-2Lu8gq-HsMXC6l7cTge4,8570
271
+ warp/tests/test_closest_point_edge_edge.py,sha256=mtiiZOHqgGOHoD6KNK4jVP-9OoCUWwnuOBVB9M3uGlc,9560
272
+ warp/tests/test_codegen.py,sha256=5onVI7Inna0B_OTZKDdTpgEaUc9qE3MlBEek6MzHhT4,18606
273
+ warp/tests/test_codegen_instancing.py,sha256=PRExiuwPpXOwLWnB62eSMgOldZeqPFEKEC537O2N6cI,40664
274
+ warp/tests/test_collision.py,sha256=i5FOrlcY1YIWNxRx5lC1CyVW1QQWtKUYaE68-yoLZag,19762
275
+ warp/tests/test_compile_consts.py,sha256=by_7FTvoC-495n_XS49LBxNReqZ5YXS08EmjhOxs-54,6908
267
276
  warp/tests/test_conditional.py,sha256=MmUO0RD1j4Ceew0uNmqmzZzQVTN9qPDz48bYW24hAhY,5495
268
277
  warp/tests/test_copy.py,sha256=993Xy5Y7VAFfUKhv74NOrbW4G4_hiXO7Jrpd-AVFjEM,7703
269
278
  warp/tests/test_ctypes.py,sha256=VsYXHqExO2hSQHqFqmikntBThk99Q7Hc6vLCWH8YIqQ,24540
270
279
  warp/tests/test_dense.py,sha256=j4icAHtOeHrXp8P_qFGptivAaoFkdGVbCuxg_jO3Mlg,1829
271
280
  warp/tests/test_devices.py,sha256=i2B7wCsGo5rl8eZaxQ5bXVEtxON0WHWHysT31ty_j90,3042
272
- warp/tests/test_dlpack.py,sha256=aVcAIJwszCtf09-p-OgAVpGyWHTet2TSbcXXl8aTT4s,17897
273
- warp/tests/test_examples.py,sha256=CBmOHvHFslNfDUX905OV-2eINCZomvp_BVYwQtYUApo,14998
281
+ warp/tests/test_dlpack.py,sha256=H99Md6pJZDv2gdLh4omB6bYTf_pbNOnpHGfvEkpiRv8,23855
282
+ warp/tests/test_examples.py,sha256=pZ6FoJCpMLhlSUt1SvXsJdp7PHvTHNsDbAbx4Amj_wE,15612
274
283
  warp/tests/test_fabricarray.py,sha256=H186ayJZS95IGUZfzfwiOdEcqczXxN6gNmj9RvZPaPA,32340
275
- warp/tests/test_fast_math.py,sha256=bM0Mhi6RcjjTxRCqdhQ1iHv6nnWALsWsf2p_GWauVk4,1945
276
- warp/tests/test_fem.py,sha256=qChvq2FiVE1WSiZRWDN5MQ_mHip2EIQ7Wj0g-qD98mo,61810
284
+ warp/tests/test_fast_math.py,sha256=8jETKu2zSAXLo8EZSnRMi2Ubmrd6JrpHUpppNruqMIw,2228
285
+ warp/tests/test_fem.py,sha256=_WEATA9VFA2TojAMM91ovsH4pelM9vE3DwDDOPJSYSo,64831
277
286
  warp/tests/test_fp16.py,sha256=g7N5oeKpx3QDnpOQKtyKIYv0eJEy0QwaEHXFCXxTXxE,3818
278
- warp/tests/test_func.py,sha256=TQ5ZCox4S7Gueh7-xqd7w8CZzzYfcJ-2KxfkqObP7vA,10738
287
+ warp/tests/test_func.py,sha256=pt3sBVnofb-ihX1WNf5Svektq2lw4OrLVDjuBaF7VXM,11799
279
288
  warp/tests/test_future_annotations.py,sha256=eC7VHcAOJ3fAgQsKPnrCq9oqkw3s2RbmcXe4rBaFEpQ,2208
280
289
  warp/tests/test_generics.py,sha256=zCgAUX6qcD54FOJJf9PStVtIBFVv7-5y17xKLZxf940,20543
281
290
  warp/tests/test_grad.py,sha256=hYmevx9z_r0y7aX5m8HNhtE4GRbHX4Kxa8iyPHUBcM8,28806
282
291
  warp/tests/test_grad_customs.py,sha256=_Vey3R29zId7Y9TQwXvAHyrMEXdCk3dOT2ac4B8EqZY,11317
283
292
  warp/tests/test_grad_debug.py,sha256=4GuuTm9OG51MiHMaEKudM9_eAD3qtgtcy0I1dOYpVmQ,8309
284
293
  warp/tests/test_hash_grid.py,sha256=CY2TNljDMNdDsNe42BwTJkumDib8QAQ5L6FkiJm41sc,6941
285
- warp/tests/test_implicit_init.py,sha256=tSnUvl21V1bay-JHyK1w9DMOPsS1745EWDG92ip843I,7021
294
+ warp/tests/test_implicit_init.py,sha256=Mxw_7kmXW3EJCm78doje7ffsIqoy0uFgaDYXyzDv8Lo,7885
286
295
  warp/tests/test_import.py,sha256=4FwzQmzX24V-RggqJ_5CAs6SnJKq6wktp7t2T0hZc5o,1021
287
296
  warp/tests/test_indexedarray.py,sha256=awlcdgs-w069zrUk3lw5xnuX6k1SMbIFkY5QPex76ss,40794
288
297
  warp/tests/test_intersect.py,sha256=ZvwXFe2pHMDhbxRnzqvuV3wCRu-j54d6mPmR3ulzEBE,1849
289
- warp/tests/test_jax.py,sha256=FOypmq5uvMZe7GVOKUyhzzJR5CEgON_rBSkQ5eMFH8A,9628
298
+ warp/tests/test_jax.py,sha256=xVUurl19w0z6tG2MlQu7WBS6XJsqRMhaemk4INbJ_Ew,11348
290
299
  warp/tests/test_large.py,sha256=UjtqYzX7QzMR3TAWR3780PczTE3kJb9uGTrcqRXZj_Q,5867
291
300
  warp/tests/test_launch.py,sha256=XXqVzBK2rXPkw4APps_apQNpgXwqDmOXBXu7NpnGELU,8856
292
301
  warp/tests/test_lerp.py,sha256=MoBV3u5oLF95njI_HN4dh9rdLHuNARkGSk3uMhQ52sI,6032
293
302
  warp/tests/test_linear_solvers.py,sha256=EeDlnUo-4OWKjIfJb7r3eM4xvjvPsOoFnCSO1Tw5MlA,6753
294
303
  warp/tests/test_lvalue.py,sha256=xfzxX3NojCnXU5qkObd5BkAZqJdRE4H4xa9cMzriIdY,10574
295
304
  warp/tests/test_marching_cubes.py,sha256=vSW8PNuMBV12laLgfRGRM5RBW-AE0A5VItMRxkvplt4,2063
296
- warp/tests/test_mat.py,sha256=mcAulZHkrdWgBBmgz0r0ANPe6zYAxb7suJuxCGEwjvE,65154
305
+ warp/tests/test_mat.py,sha256=WtHHyi9vrxxEHCYuJUDXNo4mv8xzDnDhh4gp8ni8-Ts,68071
297
306
  warp/tests/test_mat_lite.py,sha256=-NynEN0QZuIyt48a6HmU_etAl_DeNsE1MfYjM5c6tI8,3814
298
307
  warp/tests/test_mat_scalar_ops.py,sha256=48yey7zYWJd02X8lEgLFW7APERbaHN3xs8z_3YLzqis,110250
299
308
  warp/tests/test_math.py,sha256=AL-iZmSHXUV8ScHUICwLyaICjiirpXH__VrOZkFv-FY,3851
@@ -302,27 +311,27 @@ warp/tests/test_matmul_lite.py,sha256=X5FaWecE6OZCd8GPVfcxNX4XjhYRaunaPBUvu6peL9
302
311
  warp/tests/test_mempool.py,sha256=cAto9OFlwGyVpcERH-0P1962Q2Mf3DGVYlZZfhm1IQE,6895
303
312
  warp/tests/test_mesh.py,sha256=KL0zKL4-kyVc2ML0n7yURTBMHohioqh6wVfnooe9KHc,8560
304
313
  warp/tests/test_mesh_query_aabb.py,sha256=ttfuEwO6eGyAhUAUt1_cM_0NjFSxKzAy8ZMzf7uuuS0,6301
305
- warp/tests/test_mesh_query_point.py,sha256=RIUUdz63ztZuYfM-z81kKdXK5dR3quw6NsNhnxwwPgU,21745
314
+ warp/tests/test_mesh_query_point.py,sha256=OBFhIDeA6XnzkAI69JTg4zqD5TAXeZUY0rXlgDsNIuk,27656
306
315
  warp/tests/test_mesh_query_ray.py,sha256=vWoPLcREGfVzEAQc60t1rE3gIYBYMDY8xGDMB1Q2RlQ,9193
307
316
  warp/tests/test_mlp.py,sha256=nnTMg-Oc_YndafdpyGE2zYZG3V9IdqfYS8LVGk4oUeE,7994
308
- warp/tests/test_model.py,sha256=78vx9B6xGMGTI1fEGkScHvrUyOmv_VSsUcQ620LT8Ag,7052
309
- warp/tests/test_module_hashing.py,sha256=lV54XkhUPhio5pIUREIkgBmrEbWG3cCVrv4odvGkl8s,4271
317
+ warp/tests/test_model.py,sha256=KZXE8_tx_cvGBZ_KTRwKaJTG3XNIkhavan4zYRaWTD4,7717
318
+ warp/tests/test_module_hashing.py,sha256=ekTFrTEY8xtlOZErIk1bkDjYUg6jEiU0BAo5lOJlZPA,4799
310
319
  warp/tests/test_modules_lite.py,sha256=N3dUtTxzluaPF6rXmtYiSf8S27djAvPyj3ak-W_19H8,1152
311
- warp/tests/test_multigpu.py,sha256=ORC83iO1K_1S7QDvSyiyKBRX4_K8mLyJMI2VhxGiuh8,5241
320
+ warp/tests/test_multigpu.py,sha256=ZPeZb1MA8pqQ_ERRllWbPKY_1Hr9AE9TN-vlka7IQls,5269
312
321
  warp/tests/test_noise.py,sha256=FvQWbENog4utPGM069owPyQnizGAVoJn4d37p0v74b8,6820
313
322
  warp/tests/test_operators.py,sha256=6drgwmN0jTjNH6ssgcqUWpxwDtOpD4GxUT1D5wsKeik,5966
314
323
  warp/tests/test_options.py,sha256=IRdAay2BD6to85UQ1ME1frzOSXAFpQs0iKgzO5jUnqM,3479
315
- warp/tests/test_overwrite.py,sha256=CTLDespKQPnZzUKt1hYPg_AsqwtXM8KM1HW6C6tw9Kg,18197
324
+ warp/tests/test_overwrite.py,sha256=4myOkEZXXfxGNSLTyaPX8zMK0kwvu-5IFCSIGyf1ROk,18544
325
+ warp/tests/test_paddle.py,sha256=APmyc04nOhLy29Np1wo2sVJtn7w2yJQwMR9SA8TBIco,30500
316
326
  warp/tests/test_peer.py,sha256=tFkI3Wfu04hy8P02j2A4GLIwe5qN3Te-7RzG6vgbrNQ,4867
317
327
  warp/tests/test_pinned.py,sha256=riJaqXUM65Un4okWiUPBK6q-FXAmN_pg1oDoVf1xDJc,2284
318
- warp/tests/test_point_triangle_closest_point.py,sha256=pi1KxlMVShxP5Dcr94mLkPC73Vosz0nY--3GXxsbxlE,4262
319
- warp/tests/test_print.py,sha256=v254-pNAOZnD2cN10uycLbPi584Y9GqZVU-rOq68oXU,1530
320
- warp/tests/test_quat.py,sha256=AlMmCU1mO7Rvc0hkEF7v_uyhYAJMeiWjt7015iA7-R4,73381
328
+ warp/tests/test_print.py,sha256=zeMw1SnPQIAVpr79vjIkrHTkGCJGX-yx9BjCjjq8asw,4266
329
+ warp/tests/test_quat.py,sha256=UTEWIaWpLbfml9hRenKPrk-ynsMLhBkhbTnBgiBGSws,77014
321
330
  warp/tests/test_rand.py,sha256=c8T1UD2Ocx5JtpZtGFbebmtzlR9jbxxnTpdItNBWhNA,10663
322
- warp/tests/test_reload.py,sha256=MnfuzQijWej6gQUgqLPrGEbMvUqw3tBatAViymj-Z6A,6399
331
+ warp/tests/test_reload.py,sha256=Lx91xvRMFin8ScbchaEsBERVwF8CxbYUAlHgKv7wHHw,7362
323
332
  warp/tests/test_rounding.py,sha256=nzQXnmDT9AN9r-YhVaZUvzZ7kSmt1Qr7idEwGrnkDi4,5778
324
333
  warp/tests/test_runlength_encode.py,sha256=VRdFnWx-IAOl5m-6nxBIIATSWaiWibAzmpvKFpAaVCo,6948
325
- warp/tests/test_scalar_ops.py,sha256=SLO9LU_sbzZYcwn332w_eK2n-o49tBPVjB92kKHdp8U,2728
334
+ warp/tests/test_scalar_ops.py,sha256=bebUY4GfjbzLzinUbyPKYg3NJZXqDGzHZwo87sR-UD0,2844
326
335
  warp/tests/test_sim_grad.py,sha256=L6PMlsFXJ2MWEyOO773WOUwbNN5DAZy793J9cT0bct4,7813
327
336
  warp/tests/test_sim_kinematics.py,sha256=IdVeDpY0u7_U0QojcqvSLeX4diCKSh5Smb5EsLA8Bsg,2572
328
337
  warp/tests/test_smoothstep.py,sha256=umHt5Lz7lwlxi2E7izGIurQWKYBC_0e3bezSk9KFVVQ,4379
@@ -330,22 +339,25 @@ warp/tests/test_snippet.py,sha256=fBbGqlc6VJPmXRSF_J_UtrzCpM5XJHN_ejjgi2CMzOI,94
330
339
  warp/tests/test_sparse.py,sha256=jz9-9UtUh4n8r2uCI16Qt1Ju_WdXTAtMaz0Uk7vHcNo,20160
331
340
  warp/tests/test_spatial.py,sha256=kVfngbZLi-LDy4ooP1RMF0zb_VYmrRc8UksBXzsFQVU,76435
332
341
  warp/tests/test_special_values.py,sha256=5Ga45nJ6S7IPSVmeKUUia7CmWpYN9W-hnLPweUZIts4,14740
333
- warp/tests/test_streams.py,sha256=P0R9fdXSMaoq20_JauPAOOKDBMwcjrcM_x09BXCIhbQ,17288
334
- warp/tests/test_struct.py,sha256=qSUv9xr6-PiLiXybqbFf2SayKlVOlRm3cESS9KL-ebk,17068
342
+ warp/tests/test_static.py,sha256=0kjwNf-m7uQ-TCpsqUiaXKSGLUsufqxHLBvoh6uQaL0,18489
343
+ warp/tests/test_streams.py,sha256=3jJz2BZ9hIANceRII0OdLHu1rfLMJ1mJnJqEPyuz-h0,19750
344
+ warp/tests/test_struct.py,sha256=vqHTX8vdUIn2adK4bdD9xXEYUtSUKL7hw3RA_IplqhQ,16990
335
345
  warp/tests/test_tape.py,sha256=AQ0dE5oWfKv2jDNCMOK5s9up0423uz2_M-WDPVi-fIU,5450
336
- warp/tests/test_torch.py,sha256=3UNK336WAiPt-gO-It1QD26DKtOdzDOFNRq2_jyYixQ,32370
346
+ warp/tests/test_torch.py,sha256=hHT7EMyM0lm2BKEuvhmJoieUFMY6TSwSLx5Xzvk00j0,33275
337
347
  warp/tests/test_transient_module.py,sha256=83RsALll2KdSPSP7_kASShbUPBq-eKJQHgkGhcXxhQY,2206
338
- warp/tests/test_types.py,sha256=ilZUO-TsvG4t3nBzKTL90F3FAHhqgtKQ-Ek8IassrdA,22109
348
+ warp/tests/test_triangle_closest_point.py,sha256=AJr8J0_L5OkHNWJ140nqe7fhizhPE2w7GRuYo0-ZBbU,4027
349
+ warp/tests/test_types.py,sha256=mrAxmrj3P7ZeaumfNRI0STDSZoAM5gyBwmh4YWJhovw,22106
339
350
  warp/tests/test_utils.py,sha256=jhs-1HX0MNuGijTx2U2PzvDOgLJ88X2-aHerxxuDL4o,18795
340
- warp/tests/test_vec.py,sha256=VRzPlnNwOX-AIoQpxNHzSirjTrTY8aPo7rFsPL-t0hc,40808
351
+ warp/tests/test_vbd.py,sha256=Vc7pN7fLGw2FQKrz3NxwphbKpSNz0JxQic0MGkjwmgE,13001
352
+ warp/tests/test_vec.py,sha256=x7-WkovPFQ-E6dNFxzZgnDVYjJugTCFsFUPSnfQJ_h0,45597
341
353
  warp/tests/test_vec_lite.py,sha256=c1yKwqWSSzCHUd2Ft1TSNpUpqrHAwF2rWBjQj5nDZQ4,2370
342
- warp/tests/test_vec_scalar_ops.py,sha256=j_1OW-uCcxayC3DsuFBeypW2lgotQZlGJjA5JAWOjew,88042
354
+ warp/tests/test_vec_scalar_ops.py,sha256=cTEBZsUsdpWN5ZDPvKhF5j27f7V1826ZfORLyIfOe3E,94245
343
355
  warp/tests/test_verify_fp.py,sha256=YVBgLM0CTGMUnMwNYZOcj-BU2sz2zhItfY4RYutKd28,2337
344
356
  warp/tests/test_volume.py,sha256=GpMZQA-iFS57AWrWhrJtZ0Z7e6B_YCVm_7yJhC2ILlU,36125
345
357
  warp/tests/test_volume_write.py,sha256=_QhIY9WotnS_NQD00g4JR16p3JC_vLegiD_PXCG_UIQ,11525
346
358
  warp/tests/unittest_serial.py,sha256=VXuwpkIo2tBgNnphZ4GDxFSHUVMupgGQWuDZFb64qr8,1134
347
- warp/tests/unittest_suites.py,sha256=XfVRlR4IYKI03gDl9npPk-s5gMTsAJnBrq_h5LrsXhM,13645
348
- warp/tests/unittest_utils.py,sha256=3QJXhNE5-KZ5v9TAz_4w2FGPZAMN1yWKo9aFqT2cZ6M,14463
359
+ warp/tests/unittest_suites.py,sha256=jwzbVeGvOgQU1K0yEf-AMFHR-T-h1DCwfhC7Yp-DQDc,14212
360
+ warp/tests/unittest_utils.py,sha256=gJuy_CeCTzi6eOKmRY6tvYlbIaeu-enxzs0Gb0fQikA,14628
349
361
  warp/tests/unused_test_misc.py,sha256=A4iAjjHvZhD54l1OeXCP4Oiwqc-6qqsbAHwzr-vsYk4,1454
350
362
  warp/tests/walkthrough_debug.py,sha256=CXhc7NMOwSSpkJ-5jCWqAlijwaSvUp6DCG34OGm_cYQ,2887
351
363
  warp/tests/assets/curlnoise_golden.npy,sha256=ueBhVunJH9If7vdb0fqfxfNaj1fe5pHlKBKHA1TBDRQ,262272
@@ -360,10 +372,10 @@ warp/tests/assets/torus.nvdb,sha256=7ftuUfUVpR_KkTuBPsmUQUrEFG9BcDxeHK7kvPA3itk,
360
372
  warp/tests/assets/torus.usda,sha256=TVztXStGl-LML987ZK0CmUsILD2P0Smd331KcJUGDuI,340725
361
373
  warp/thirdparty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
374
  warp/thirdparty/appdirs.py,sha256=2UXPK-AkDGoN5APeqAMMYkkfgf3Q_aUEZxcfkIxlQn0,24254
363
- warp/thirdparty/dlpack.py,sha256=OzMyVi5uQU01n0yEquDotgYvEAmfXT93QaIV4p4QqB4,4273
375
+ warp/thirdparty/dlpack.py,sha256=HYvNWIemrvxLDgQLRseerP8gqM87Ie7SVIX7p5xSM0o,4323
364
376
  warp/thirdparty/unittest_parallel.py,sha256=-FgbXrKiQ_RDj7YXYyhpRIPC3OmvJEnjvGkN99cqQA0,20888
365
- warp_lang-1.3.3.dist-info/LICENSE.md,sha256=Gq_TN0Xfat8Ftq2Rlvc31NgxdpLGVB-34kp-4eoeDV0,19265
366
- warp_lang-1.3.3.dist-info/METADATA,sha256=O17N1jUvTke6VTIPVPbiHDR32lG_2tHx5S-cK77kht4,23145
367
- warp_lang-1.3.3.dist-info/WHEEL,sha256=UZWkB7hdHd8SXLvRSsKYZHaAk7YswVowzA3x4w8Hdww,99
368
- warp_lang-1.3.3.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
369
- warp_lang-1.3.3.dist-info/RECORD,,
377
+ warp_lang-1.4.1.dist-info/LICENSE.md,sha256=Gq_TN0Xfat8Ftq2Rlvc31NgxdpLGVB-34kp-4eoeDV0,19265
378
+ warp_lang-1.4.1.dist-info/METADATA,sha256=NT-TgzFD2kfdwrN4Q487Ze9BJ16dOnkjkftjsV3wflI,23286
379
+ warp_lang-1.4.1.dist-info/WHEEL,sha256=UZWkB7hdHd8SXLvRSsKYZHaAk7YswVowzA3x4w8Hdww,99
380
+ warp_lang-1.4.1.dist-info/top_level.txt,sha256=8pupHORyKoiN_BYWlTmv5OFBWdhqpppiBYQV5KxgEvg,5
381
+ warp_lang-1.4.1.dist-info/RECORD,,
@@ -1,143 +0,0 @@
1
- # Copyright (c) 2024 NVIDIA CORPORATION. All rights reserved.
2
- # NVIDIA CORPORATION and its licensors retain all intellectual property
3
- # and proprietary rights in and to this software, related documentation
4
- # and any modifications thereto. Any use, reproduction, disclosure or
5
- # distribution of this software and related documentation without an express
6
- # license agreement from NVIDIA CORPORATION is strictly prohibited.
7
-
8
- import unittest
9
-
10
- from warp.sim.collide import triangle_closest_point_barycentric
11
- from warp.tests.unittest_utils import *
12
-
13
-
14
- # a-b is the edge where the closest point is located at
15
- @wp.func
16
- def check_edge_feasible_region(p: wp.vec3, a: wp.vec3, b: wp.vec3, c: wp.vec3, eps: float):
17
- ap = p - a
18
- bp = p - b
19
- ab = b - a
20
-
21
- if wp.dot(ap, ab) < -eps:
22
- return False
23
-
24
- if wp.dot(bp, ab) > eps:
25
- return False
26
-
27
- ab_sqr_norm = wp.dot(ab, ab)
28
- if ab_sqr_norm < eps:
29
- return False
30
-
31
- t = wp.dot(ab, c - a) / ab_sqr_norm
32
-
33
- perpendicular_foot = a + t * ab
34
-
35
- if wp.dot(c - perpendicular_foot, p - perpendicular_foot) > eps:
36
- return False
37
-
38
- return True
39
-
40
-
41
- # closest point is a
42
- @wp.func
43
- def check_vertex_feasible_region(p: wp.vec3, a: wp.vec3, b: wp.vec3, c: wp.vec3, eps: float):
44
- ap = p - a
45
- ba = a - b
46
- ca = a - c
47
-
48
- if wp.dot(ap, ba) < -eps:
49
- return False
50
-
51
- if wp.dot(p, ca) < -eps:
52
- return False
53
-
54
- return True
55
-
56
-
57
- @wp.func
58
- def return_true():
59
- return True
60
-
61
-
62
- def test_point_triangle_closest_point(test, device):
63
- passed = wp.array([True], dtype=wp.bool, device=device)
64
-
65
- @wp.kernel
66
- def test_point_triangle_closest_point_kernel(tri: wp.array(dtype=wp.vec3), passed: wp.array(dtype=wp.bool)):
67
- state = wp.uint32(wp.rand_init(wp.int32(123), wp.int32(0)))
68
- eps = 1e-5
69
-
70
- for _i in range(1000):
71
- l = wp.float32(0.0)
72
- while l < eps:
73
- p = wp.vec3(wp.randn(state), wp.randn(state), wp.randn(state))
74
- l = wp.length(p)
75
-
76
- # project to a sphere with r=2
77
- p = 2.0 * p / l
78
-
79
- bary = triangle_closest_point_barycentric(tri[0], tri[1], tri[2], p)
80
-
81
- for dim in range(3):
82
- v1_index = (dim + 1) % 3
83
- v2_index = (dim + 2) % 3
84
- v1 = tri[v1_index]
85
- v2 = tri[v2_index]
86
- v3 = tri[dim]
87
-
88
- # on edge
89
- if bary[dim] == 0.0 and bary[v1_index] != 0.0 and bary[v2_index] != 0.0:
90
- if not check_edge_feasible_region(p, v1, v2, v3, eps):
91
- passed[0] = False
92
- return
93
-
94
- # p-closest_p must be perpendicular to v1-v2
95
- closest_p = a * bary[0] + b * bary[1] + c * bary[2]
96
- e = v1 - v2
97
- err = wp.dot(e, closest_p - p)
98
- if wp.abs(err) > eps:
99
- passed[0] = False
100
- return
101
-
102
- if bary[v1_index] == 0.0 and bary[v2_index] == 0.0:
103
- if not check_vertex_feasible_region(p, v3, v1, v2, eps):
104
- passed[0] = False
105
- return
106
-
107
- if bary[dim] != 0.0 and bary[v1_index] != 0.0 and bary[v2_index] != 0.0:
108
- closest_p = a * bary[0] + b * bary[1] + c * bary[2]
109
- e1 = v1 - v2
110
- e2 = v1 - v3
111
- if wp.abs(wp.dot(e1, closest_p - p)) > eps or wp.abs(wp.dot(e2, closest_p - p)) > eps:
112
- passed[0] = False
113
- return
114
-
115
- a = wp.vec3(1.0, 0.0, 0.0)
116
- b = wp.vec3(0.0, 0.0, 0.0)
117
- c = wp.vec3(0.0, 1.0, 0.0)
118
-
119
- tri = wp.array([a, b, c], dtype=wp.vec3, device=device)
120
- wp.launch(test_point_triangle_closest_point_kernel, dim=1, inputs=[tri, passed], device=device)
121
- passed = passed.numpy()
122
-
123
- test.assertTrue(passed.all())
124
-
125
-
126
- devices = get_test_devices()
127
-
128
-
129
- class TestTriangleClosestPoint(unittest.TestCase):
130
- pass
131
-
132
-
133
- add_function_test(
134
- TestTriangleClosestPoint,
135
- "test_point_triangle_closest_point",
136
- test_point_triangle_closest_point,
137
- devices=devices,
138
- check_output=True,
139
- )
140
-
141
- if __name__ == "__main__":
142
- wp.clear_kernel_cache()
143
- unittest.main(verbosity=2)