warp-lang 1.6.1__py3-none-win_amd64.whl → 1.7.0__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 (401) hide show
  1. warp/__init__.py +21 -7
  2. warp/autograd.py +14 -6
  3. warp/bin/warp-clang.dll +0 -0
  4. warp/bin/warp.dll +0 -0
  5. warp/build.py +424 -6
  6. warp/build_dll.py +20 -20
  7. warp/builtins.py +467 -368
  8. warp/codegen.py +193 -125
  9. warp/config.py +56 -12
  10. warp/constants.py +14 -6
  11. warp/context.py +524 -277
  12. warp/dlpack.py +22 -12
  13. warp/examples/__init__.py +14 -6
  14. warp/examples/assets/nonuniform.usd +0 -0
  15. warp/examples/assets/nvidia_logo.png +0 -0
  16. warp/examples/benchmarks/benchmark_api.py +14 -6
  17. warp/examples/benchmarks/benchmark_cloth.py +14 -6
  18. warp/examples/benchmarks/benchmark_cloth_cupy.py +14 -6
  19. warp/examples/benchmarks/benchmark_cloth_jax.py +14 -6
  20. warp/examples/benchmarks/benchmark_cloth_numba.py +15 -0
  21. warp/examples/benchmarks/benchmark_cloth_numpy.py +14 -6
  22. warp/examples/benchmarks/benchmark_cloth_paddle.py +14 -6
  23. warp/examples/benchmarks/benchmark_cloth_pytorch.py +14 -6
  24. warp/examples/benchmarks/benchmark_cloth_taichi.py +14 -6
  25. warp/examples/benchmarks/benchmark_cloth_warp.py +14 -6
  26. warp/examples/benchmarks/benchmark_gemm.py +82 -48
  27. warp/examples/benchmarks/benchmark_interop_paddle.py +14 -6
  28. warp/examples/benchmarks/benchmark_interop_torch.py +14 -6
  29. warp/examples/benchmarks/benchmark_launches.py +14 -6
  30. warp/examples/benchmarks/benchmark_tile_load_store.py +103 -0
  31. warp/examples/browse.py +14 -6
  32. warp/examples/core/example_cupy.py +14 -6
  33. warp/examples/core/example_dem.py +14 -6
  34. warp/examples/core/example_fluid.py +14 -6
  35. warp/examples/core/example_graph_capture.py +14 -6
  36. warp/examples/core/example_marching_cubes.py +14 -6
  37. warp/examples/core/example_mesh.py +14 -6
  38. warp/examples/core/example_mesh_intersect.py +14 -6
  39. warp/examples/core/example_nvdb.py +14 -6
  40. warp/examples/core/example_raycast.py +14 -6
  41. warp/examples/core/example_raymarch.py +14 -6
  42. warp/examples/core/example_render_opengl.py +14 -6
  43. warp/examples/core/example_sample_mesh.py +300 -0
  44. warp/examples/core/example_sph.py +14 -6
  45. warp/examples/core/example_torch.py +14 -6
  46. warp/examples/core/example_wave.py +14 -6
  47. warp/examples/fem/example_adaptive_grid.py +14 -6
  48. warp/examples/fem/example_apic_fluid.py +15 -7
  49. warp/examples/fem/example_burgers.py +16 -8
  50. warp/examples/fem/example_convection_diffusion.py +14 -6
  51. warp/examples/fem/example_convection_diffusion_dg.py +14 -6
  52. warp/examples/fem/example_deformed_geometry.py +15 -7
  53. warp/examples/fem/example_diffusion.py +14 -6
  54. warp/examples/fem/example_diffusion_3d.py +14 -6
  55. warp/examples/fem/example_diffusion_mgpu.py +14 -6
  56. warp/examples/fem/example_distortion_energy.py +15 -7
  57. warp/examples/fem/example_magnetostatics.py +20 -12
  58. warp/examples/fem/example_mixed_elasticity.py +14 -6
  59. warp/examples/fem/example_navier_stokes.py +14 -6
  60. warp/examples/fem/example_nonconforming_contact.py +14 -6
  61. warp/examples/fem/example_stokes.py +14 -6
  62. warp/examples/fem/example_stokes_transfer.py +14 -6
  63. warp/examples/fem/example_streamlines.py +14 -6
  64. warp/examples/fem/utils.py +24 -3
  65. warp/examples/interop/example_jax_callable.py +116 -0
  66. warp/examples/interop/example_jax_ffi_callback.py +132 -0
  67. warp/examples/interop/example_jax_kernel.py +205 -0
  68. warp/examples/optim/example_bounce.py +14 -6
  69. warp/examples/optim/example_cloth_throw.py +14 -6
  70. warp/examples/optim/example_diffray.py +14 -6
  71. warp/examples/optim/example_drone.py +14 -6
  72. warp/examples/optim/example_fluid_checkpoint.py +497 -0
  73. warp/examples/optim/example_inverse_kinematics.py +14 -6
  74. warp/examples/optim/example_inverse_kinematics_torch.py +14 -6
  75. warp/examples/optim/example_softbody_properties.py +14 -6
  76. warp/examples/optim/example_spring_cage.py +14 -6
  77. warp/examples/optim/example_trajectory.py +14 -6
  78. warp/examples/sim/example_cartpole.py +14 -6
  79. warp/examples/sim/example_cloth.py +14 -6
  80. warp/examples/sim/example_cloth_self_contact.py +14 -6
  81. warp/examples/sim/example_granular.py +14 -6
  82. warp/examples/sim/example_granular_collision_sdf.py +14 -6
  83. warp/examples/sim/example_jacobian_ik.py +14 -6
  84. warp/examples/sim/example_particle_chain.py +14 -6
  85. warp/examples/sim/example_quadruped.py +14 -6
  86. warp/examples/sim/example_rigid_chain.py +14 -6
  87. warp/examples/sim/example_rigid_contact.py +14 -6
  88. warp/examples/sim/example_rigid_force.py +14 -6
  89. warp/examples/sim/example_rigid_gyroscopic.py +14 -6
  90. warp/examples/sim/example_rigid_soft_contact.py +14 -6
  91. warp/examples/sim/example_soft_body.py +14 -6
  92. warp/examples/tile/example_tile_cholesky.py +14 -6
  93. warp/examples/tile/example_tile_convolution.py +14 -6
  94. warp/examples/tile/example_tile_fft.py +14 -6
  95. warp/examples/tile/example_tile_filtering.py +14 -6
  96. warp/examples/tile/example_tile_matmul.py +16 -10
  97. warp/examples/tile/example_tile_mlp.py +14 -6
  98. warp/examples/tile/example_tile_nbody.py +14 -6
  99. warp/examples/tile/example_tile_walker.py +14 -6
  100. warp/fabric.py +15 -0
  101. warp/fem/__init__.py +26 -1
  102. warp/fem/adaptivity.py +19 -4
  103. warp/fem/cache.py +15 -0
  104. warp/fem/dirichlet.py +15 -0
  105. warp/fem/domain.py +15 -0
  106. warp/fem/field/__init__.py +15 -0
  107. warp/fem/field/field.py +15 -0
  108. warp/fem/field/nodal_field.py +37 -68
  109. warp/fem/field/restriction.py +15 -0
  110. warp/fem/field/virtual.py +77 -23
  111. warp/fem/geometry/__init__.py +15 -0
  112. warp/fem/geometry/adaptive_nanogrid.py +24 -10
  113. warp/fem/geometry/closest_point.py +16 -1
  114. warp/fem/geometry/deformed_geometry.py +20 -2
  115. warp/fem/geometry/element.py +15 -0
  116. warp/fem/geometry/geometry.py +20 -0
  117. warp/fem/geometry/grid_2d.py +27 -12
  118. warp/fem/geometry/grid_3d.py +27 -15
  119. warp/fem/geometry/hexmesh.py +20 -7
  120. warp/fem/geometry/nanogrid.py +24 -11
  121. warp/fem/geometry/partition.py +15 -0
  122. warp/fem/geometry/quadmesh.py +28 -13
  123. warp/fem/geometry/tetmesh.py +18 -4
  124. warp/fem/geometry/trimesh.py +18 -8
  125. warp/fem/integrate.py +277 -93
  126. warp/fem/linalg.py +20 -5
  127. warp/fem/operator.py +15 -0
  128. warp/fem/polynomial.py +15 -0
  129. warp/fem/quadrature/__init__.py +15 -0
  130. warp/fem/quadrature/pic_quadrature.py +52 -22
  131. warp/fem/quadrature/quadrature.py +209 -25
  132. warp/fem/space/__init__.py +16 -1
  133. warp/fem/space/basis_function_space.py +19 -2
  134. warp/fem/space/basis_space.py +40 -18
  135. warp/fem/space/dof_mapper.py +15 -0
  136. warp/fem/space/function_space.py +15 -0
  137. warp/fem/space/grid_2d_function_space.py +15 -0
  138. warp/fem/space/grid_3d_function_space.py +15 -0
  139. warp/fem/space/hexmesh_function_space.py +17 -2
  140. warp/fem/space/nanogrid_function_space.py +15 -0
  141. warp/fem/space/partition.py +21 -2
  142. warp/fem/space/quadmesh_function_space.py +23 -8
  143. warp/fem/space/restriction.py +15 -0
  144. warp/fem/space/shape/__init__.py +15 -0
  145. warp/fem/space/shape/cube_shape_function.py +38 -23
  146. warp/fem/space/shape/shape_function.py +15 -0
  147. warp/fem/space/shape/square_shape_function.py +27 -12
  148. warp/fem/space/shape/tet_shape_function.py +15 -0
  149. warp/fem/space/shape/triangle_shape_function.py +16 -1
  150. warp/fem/space/tetmesh_function_space.py +18 -3
  151. warp/fem/space/topology.py +15 -0
  152. warp/fem/space/trimesh_function_space.py +17 -2
  153. warp/fem/types.py +15 -0
  154. warp/fem/utils.py +27 -6
  155. warp/jax.py +28 -7
  156. warp/jax_experimental/__init__.py +16 -0
  157. warp/{jax_experimental.py → jax_experimental/custom_call.py} +28 -33
  158. warp/jax_experimental/ffi.py +698 -0
  159. warp/jax_experimental/xla_ffi.py +602 -0
  160. warp/math.py +103 -6
  161. warp/native/array.h +28 -6
  162. warp/native/builtin.h +44 -9
  163. warp/native/bvh.cpp +18 -7
  164. warp/native/bvh.cu +57 -20
  165. warp/native/bvh.h +17 -7
  166. warp/native/clang/clang.cpp +45 -9
  167. warp/native/coloring.cpp +15 -6
  168. warp/native/crt.cpp +15 -6
  169. warp/native/crt.h +15 -6
  170. warp/native/cuda_crt.h +15 -6
  171. warp/native/cuda_util.cpp +29 -6
  172. warp/native/cuda_util.h +17 -6
  173. warp/native/error.cpp +15 -6
  174. warp/native/error.h +15 -6
  175. warp/native/exports.h +85 -63
  176. warp/native/fabric.h +15 -6
  177. warp/native/hashgrid.cpp +15 -6
  178. warp/native/hashgrid.cu +15 -6
  179. warp/native/hashgrid.h +15 -6
  180. warp/native/initializer_array.h +15 -6
  181. warp/native/intersect.h +41 -32
  182. warp/native/intersect_adj.h +48 -39
  183. warp/native/intersect_tri.h +17 -0
  184. warp/native/marching.cpp +16 -0
  185. warp/native/marching.cu +16 -7
  186. warp/native/marching.h +17 -0
  187. warp/native/mat.h +528 -15
  188. warp/native/mathdx.cpp +15 -6
  189. warp/native/matnn.h +15 -6
  190. warp/native/mesh.cpp +15 -6
  191. warp/native/mesh.cu +15 -6
  192. warp/native/mesh.h +25 -16
  193. warp/native/noise.h +15 -6
  194. warp/native/quat.h +114 -17
  195. warp/native/rand.h +21 -6
  196. warp/native/range.h +15 -6
  197. warp/native/reduce.cpp +15 -6
  198. warp/native/reduce.cu +15 -6
  199. warp/native/runlength_encode.cpp +15 -6
  200. warp/native/runlength_encode.cu +15 -6
  201. warp/native/scan.cpp +15 -6
  202. warp/native/scan.cu +15 -6
  203. warp/native/scan.h +15 -6
  204. warp/native/solid_angle.h +17 -0
  205. warp/native/sort.cpp +137 -65
  206. warp/native/sort.cu +167 -21
  207. warp/native/sort.h +23 -7
  208. warp/native/sparse.cpp +58 -28
  209. warp/native/sparse.cu +67 -23
  210. warp/native/spatial.h +15 -6
  211. warp/native/svd.h +131 -6
  212. warp/native/temp_buffer.h +15 -6
  213. warp/native/tile.h +316 -111
  214. warp/native/tile_reduce.h +61 -9
  215. warp/native/vec.h +83 -13
  216. warp/native/volume.cpp +100 -119
  217. warp/native/volume.cu +15 -6
  218. warp/native/volume.h +15 -6
  219. warp/native/volume_builder.cu +40 -16
  220. warp/native/volume_builder.h +21 -6
  221. warp/native/volume_impl.h +15 -6
  222. warp/native/warp.cpp +20 -12
  223. warp/native/warp.cu +114 -16
  224. warp/native/warp.h +34 -16
  225. warp/optim/__init__.py +14 -6
  226. warp/optim/adam.py +14 -6
  227. warp/optim/linear.py +25 -10
  228. warp/optim/sgd.py +14 -6
  229. warp/paddle.py +14 -6
  230. warp/render/__init__.py +14 -6
  231. warp/render/render_opengl.py +14 -6
  232. warp/render/render_usd.py +14 -6
  233. warp/render/utils.py +14 -6
  234. warp/sim/__init__.py +14 -7
  235. warp/sim/articulation.py +18 -10
  236. warp/sim/collide.py +35 -16
  237. warp/sim/graph_coloring.py +14 -6
  238. warp/sim/import_mjcf.py +463 -162
  239. warp/sim/import_snu.py +14 -7
  240. warp/sim/import_urdf.py +46 -18
  241. warp/sim/import_usd.py +14 -7
  242. warp/sim/inertia.py +14 -6
  243. warp/sim/integrator.py +14 -6
  244. warp/sim/integrator_euler.py +19 -11
  245. warp/sim/integrator_featherstone.py +17 -16
  246. warp/sim/integrator_vbd.py +222 -8
  247. warp/sim/integrator_xpbd.py +19 -11
  248. warp/sim/model.py +56 -19
  249. warp/sim/particles.py +14 -6
  250. warp/sim/render.py +14 -6
  251. warp/sim/utils.py +17 -2
  252. warp/sparse.py +657 -555
  253. warp/stubs.py +231 -19
  254. warp/tape.py +14 -6
  255. warp/tests/aux_test_class_kernel.py +14 -6
  256. warp/tests/aux_test_compile_consts_dummy.py +14 -6
  257. warp/tests/aux_test_conditional_unequal_types_kernels.py +14 -6
  258. warp/tests/aux_test_dependent.py +14 -6
  259. warp/tests/aux_test_grad_customs.py +14 -6
  260. warp/tests/aux_test_instancing_gc.py +14 -6
  261. warp/tests/aux_test_module_unload.py +14 -6
  262. warp/tests/aux_test_name_clash1.py +14 -6
  263. warp/tests/aux_test_name_clash2.py +14 -6
  264. warp/tests/aux_test_unresolved_func.py +14 -6
  265. warp/tests/aux_test_unresolved_symbol.py +14 -6
  266. warp/tests/cuda/__init__.py +0 -0
  267. warp/tests/{test_async.py → cuda/test_async.py} +14 -6
  268. warp/tests/{test_ipc.py → cuda/test_ipc.py} +14 -6
  269. warp/tests/{test_mempool.py → cuda/test_mempool.py} +53 -6
  270. warp/tests/{test_multigpu.py → cuda/test_multigpu.py} +14 -6
  271. warp/tests/{test_peer.py → cuda/test_peer.py} +14 -6
  272. warp/tests/{test_pinned.py → cuda/test_pinned.py} +14 -6
  273. warp/tests/{test_streams.py → cuda/test_streams.py} +85 -6
  274. warp/tests/geometry/__init__.py +0 -0
  275. warp/tests/{test_bvh.py → geometry/test_bvh.py} +14 -6
  276. warp/tests/{test_hash_grid.py → geometry/test_hash_grid.py} +14 -6
  277. warp/tests/{test_marching_cubes.py → geometry/test_marching_cubes.py} +14 -6
  278. warp/tests/{test_mesh.py → geometry/test_mesh.py} +14 -6
  279. warp/tests/{test_mesh_query_aabb.py → geometry/test_mesh_query_aabb.py} +14 -6
  280. warp/tests/{test_mesh_query_point.py → geometry/test_mesh_query_point.py} +80 -69
  281. warp/tests/{test_mesh_query_ray.py → geometry/test_mesh_query_ray.py} +15 -7
  282. warp/tests/{test_volume.py → geometry/test_volume.py} +55 -12
  283. warp/tests/{test_volume_write.py → geometry/test_volume_write.py} +14 -6
  284. warp/tests/interop/__init__.py +0 -0
  285. warp/tests/{test_dlpack.py → interop/test_dlpack.py} +42 -11
  286. warp/tests/{test_jax.py → interop/test_jax.py} +14 -6
  287. warp/tests/{test_paddle.py → interop/test_paddle.py} +14 -6
  288. warp/tests/{test_torch.py → interop/test_torch.py} +14 -6
  289. warp/tests/run_coverage_serial.py +14 -6
  290. warp/tests/sim/__init__.py +0 -0
  291. warp/tests/{disabled_kinematics.py → sim/disabled_kinematics.py} +23 -16
  292. warp/tests/{flaky_test_sim_grad.py → sim/flaky_test_sim_grad.py} +14 -6
  293. warp/tests/{test_collision.py → sim/test_collision.py} +16 -8
  294. warp/tests/{test_coloring.py → sim/test_coloring.py} +14 -7
  295. warp/tests/{test_model.py → sim/test_model.py} +55 -7
  296. warp/tests/{test_sim_grad_bounce_linear.py → sim/test_sim_grad_bounce_linear.py} +14 -6
  297. warp/tests/{test_sim_kinematics.py → sim/test_sim_kinematics.py} +16 -7
  298. warp/tests/sim/test_vbd.py +597 -0
  299. warp/tests/test_adam.py +14 -6
  300. warp/tests/test_arithmetic.py +14 -6
  301. warp/tests/test_array.py +14 -6
  302. warp/tests/test_array_reduce.py +14 -6
  303. warp/tests/test_assert.py +14 -6
  304. warp/tests/test_atomic.py +14 -6
  305. warp/tests/test_bool.py +15 -7
  306. warp/tests/test_builtins_resolution.py +14 -6
  307. warp/tests/test_closest_point_edge_edge.py +14 -6
  308. warp/tests/test_codegen.py +14 -6
  309. warp/tests/test_codegen_instancing.py +14 -6
  310. warp/tests/test_compile_consts.py +14 -6
  311. warp/tests/test_conditional.py +14 -6
  312. warp/tests/test_context.py +14 -6
  313. warp/tests/test_copy.py +14 -6
  314. warp/tests/test_ctypes.py +14 -6
  315. warp/tests/test_dense.py +14 -6
  316. warp/tests/test_devices.py +14 -6
  317. warp/tests/test_examples.py +42 -42
  318. warp/tests/test_fabricarray.py +14 -6
  319. warp/tests/test_fast_math.py +14 -6
  320. warp/tests/test_fem.py +37 -10
  321. warp/tests/test_fp16.py +14 -6
  322. warp/tests/test_func.py +14 -6
  323. warp/tests/test_future_annotations.py +14 -6
  324. warp/tests/test_generics.py +14 -6
  325. warp/tests/test_grad.py +14 -6
  326. warp/tests/test_grad_customs.py +14 -6
  327. warp/tests/test_grad_debug.py +14 -6
  328. warp/tests/test_implicit_init.py +14 -6
  329. warp/tests/test_import.py +14 -6
  330. warp/tests/test_indexedarray.py +14 -6
  331. warp/tests/test_intersect.py +14 -6
  332. warp/tests/test_iter.py +14 -6
  333. warp/tests/test_large.py +14 -6
  334. warp/tests/test_launch.py +14 -6
  335. warp/tests/test_lerp.py +14 -6
  336. warp/tests/test_linear_solvers.py +15 -11
  337. warp/tests/test_lvalue.py +14 -6
  338. warp/tests/test_mat.py +247 -85
  339. warp/tests/test_mat_lite.py +14 -6
  340. warp/tests/test_mat_scalar_ops.py +18 -10
  341. warp/tests/test_math.py +14 -6
  342. warp/tests/test_mlp.py +14 -6
  343. warp/tests/test_module_hashing.py +14 -6
  344. warp/tests/test_modules_lite.py +14 -6
  345. warp/tests/test_noise.py +14 -6
  346. warp/tests/test_operators.py +14 -6
  347. warp/tests/test_options.py +14 -6
  348. warp/tests/test_overwrite.py +15 -60
  349. warp/tests/test_print.py +14 -6
  350. warp/tests/test_quat.py +81 -52
  351. warp/tests/test_rand.py +58 -43
  352. warp/tests/test_reload.py +14 -6
  353. warp/tests/test_rounding.py +14 -6
  354. warp/tests/test_runlength_encode.py +14 -6
  355. warp/tests/test_scalar_ops.py +14 -6
  356. warp/tests/test_smoothstep.py +14 -6
  357. warp/tests/test_snippet.py +15 -0
  358. warp/tests/test_sparse.py +61 -12
  359. warp/tests/test_spatial.py +89 -6
  360. warp/tests/test_special_values.py +14 -6
  361. warp/tests/test_static.py +15 -7
  362. warp/tests/test_struct.py +14 -6
  363. warp/tests/test_tape.py +14 -6
  364. warp/tests/test_transient_module.py +14 -6
  365. warp/tests/test_triangle_closest_point.py +14 -6
  366. warp/tests/test_types.py +14 -6
  367. warp/tests/test_utils.py +98 -10
  368. warp/tests/test_vec.py +60 -40
  369. warp/tests/test_vec_lite.py +14 -6
  370. warp/tests/test_vec_scalar_ops.py +14 -6
  371. warp/tests/test_verify_fp.py +14 -6
  372. warp/tests/tile/__init__.py +0 -0
  373. warp/tests/{test_tile.py → tile/test_tile.py} +150 -57
  374. warp/tests/{test_tile_load.py → tile/test_tile_load.py} +15 -7
  375. warp/tests/{test_tile_mathdx.py → tile/test_tile_mathdx.py} +23 -12
  376. warp/tests/{test_tile_mlp.py → tile/test_tile_mlp.py} +39 -20
  377. warp/tests/{test_tile_reduce.py → tile/test_tile_reduce.py} +74 -7
  378. warp/tests/{test_tile_shared_memory.py → tile/test_tile_shared_memory.py} +14 -6
  379. warp/tests/{test_tile_view.py → tile/test_tile_view.py} +15 -7
  380. warp/tests/unittest_serial.py +15 -6
  381. warp/tests/unittest_suites.py +59 -65
  382. warp/tests/unittest_utils.py +16 -7
  383. warp/tests/walkthrough_debug.py +14 -6
  384. warp/thirdparty/unittest_parallel.py +15 -8
  385. warp/torch.py +14 -6
  386. warp/types.py +124 -664
  387. warp/utils.py +151 -78
  388. {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/METADATA +39 -12
  389. warp_lang-1.7.0.dist-info/RECORD +429 -0
  390. {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/WHEEL +1 -1
  391. warp_lang-1.7.0.dist-info/licenses/LICENSE.md +202 -0
  392. warp/examples/optim/example_walker.py +0 -309
  393. warp/native/cutlass_gemm.cpp +0 -34
  394. warp/native/cutlass_gemm.cu +0 -373
  395. warp/tests/test_matmul.py +0 -503
  396. warp/tests/test_matmul_lite.py +0 -403
  397. warp/tests/test_vbd.py +0 -378
  398. warp/tests/unused_test_misc.py +0 -69
  399. warp_lang-1.6.1.dist-info/LICENSE.md +0 -126
  400. warp_lang-1.6.1.dist-info/RECORD +0 -419
  401. {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/top_level.txt +0 -0
warp/native/intersect.h CHANGED
@@ -1,9 +1,18 @@
1
- /** Copyright (c) 2022 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.
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
7
16
  */
8
17
 
9
18
  #pragma once
@@ -806,7 +815,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
806
815
  var_17 = wp::vec2(var_5, var_9);
807
816
  goto label1;
808
817
  }
809
- var_18 = wp::select(var_16, var_10, var_17);
818
+ var_18 = wp::where(var_16, var_17, var_10);
810
819
  var_19 = wp::mul(var_3, var_13);
811
820
  var_20 = wp::mul(var_12, var_4);
812
821
  var_21 = wp::sub(var_19, var_20);
@@ -821,7 +830,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
821
830
  var_29 = wp::vec2(var_28, var_23);
822
831
  goto label2;
823
832
  }
824
- var_30 = wp::select(var_27, var_18, var_29);
833
+ var_30 = wp::where(var_27, var_29, var_18);
825
834
  var_31 = wp::sub(var_p, var_c);
826
835
  var_32 = wp::dot(var_0, var_31);
827
836
  var_33 = wp::dot(var_1, var_31);
@@ -832,7 +841,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
832
841
  var_37 = wp::vec2(var_5, var_5);
833
842
  goto label3;
834
843
  }
835
- var_38 = wp::select(var_36, var_30, var_37);
844
+ var_38 = wp::where(var_36, var_37, var_30);
836
845
  var_39 = wp::mul(var_32, var_4);
837
846
  var_40 = wp::mul(var_3, var_33);
838
847
  var_41 = wp::sub(var_39, var_40);
@@ -847,7 +856,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
847
856
  var_49 = wp::vec2(var_48, var_5);
848
857
  goto label4;
849
858
  }
850
- var_50 = wp::select(var_47, var_38, var_49);
859
+ var_50 = wp::where(var_47, var_49, var_38);
851
860
  var_51 = wp::mul(var_12, var_33);
852
861
  var_52 = wp::mul(var_32, var_13);
853
862
  var_53 = wp::sub(var_51, var_52);
@@ -867,7 +876,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
867
876
  var_66 = wp::vec2(var_5, var_65);
868
877
  goto label5;
869
878
  }
870
- // var_67 = wp::select(var_64, var_50, var_66);
879
+ // var_67 = wp::where(var_64, var_66, var_50);
871
880
  var_68 = wp::add(var_53, var_41);
872
881
  var_69 = wp::add(var_68, var_21);
873
882
  var_70 = wp::div(var_9, var_69);
@@ -889,7 +898,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
889
898
  wp::adj_div(var_9, var_69, var_70, adj_9, adj_69, adj_70);
890
899
  wp::adj_add(var_68, var_21, adj_68, adj_21, adj_69);
891
900
  wp::adj_add(var_53, var_41, adj_53, adj_41, adj_68);
892
- wp::adj_select(var_64, var_50, var_66, adj_64, adj_50, adj_66, adj_67);
901
+ wp::adj_where(var_64, var_66, var_50, adj_64, adj_66, adj_50, adj_67);
893
902
  if (var_64) {
894
903
  label5:;
895
904
  adj_66 += adj_ret;
@@ -906,7 +915,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
906
915
  wp::adj_sub(var_51, var_52, adj_51, adj_52, adj_53);
907
916
  wp::adj_mul(var_32, var_13, adj_32, adj_13, adj_52);
908
917
  wp::adj_mul(var_12, var_33, adj_12, adj_33, adj_51);
909
- wp::adj_select(var_47, var_38, var_49, adj_47, adj_38, adj_49, adj_50);
918
+ wp::adj_where(var_47, var_49, var_38, adj_47, adj_49, adj_38, adj_50);
910
919
  if (var_47) {
911
920
  label4:;
912
921
  adj_49 += adj_ret;
@@ -918,7 +927,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
918
927
  wp::adj_sub(var_39, var_40, adj_39, adj_40, adj_41);
919
928
  wp::adj_mul(var_3, var_33, adj_3, adj_33, adj_40);
920
929
  wp::adj_mul(var_32, var_4, adj_32, adj_4, adj_39);
921
- wp::adj_select(var_36, var_30, var_37, adj_36, adj_30, adj_37, adj_38);
930
+ wp::adj_where(var_36, var_37, var_30, adj_36, adj_37, adj_30, adj_38);
922
931
  if (var_36) {
923
932
  label3:;
924
933
  adj_37 += adj_ret;
@@ -927,7 +936,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
927
936
  wp::adj_dot(var_1, var_31, adj_1, adj_31, adj_33);
928
937
  wp::adj_dot(var_0, var_31, adj_0, adj_31, adj_32);
929
938
  wp::adj_sub(var_p, var_c, adj_p, adj_c, adj_31);
930
- wp::adj_select(var_27, var_18, var_29, adj_27, adj_18, adj_29, adj_30);
939
+ wp::adj_where(var_27, var_29, var_18, adj_27, adj_29, adj_18, adj_30);
931
940
  if (var_27) {
932
941
  label2:;
933
942
  adj_29 += adj_ret;
@@ -939,7 +948,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
939
948
  wp::adj_sub(var_19, var_20, adj_19, adj_20, adj_21);
940
949
  wp::adj_mul(var_12, var_4, adj_12, adj_4, adj_20);
941
950
  wp::adj_mul(var_3, var_13, adj_3, adj_13, adj_19);
942
- wp::adj_select(var_16, var_10, var_17, adj_16, adj_10, adj_17, adj_18);
951
+ wp::adj_where(var_16, var_17, var_10, adj_16, adj_17, adj_10, adj_18);
943
952
  if (var_16) {
944
953
  label1:;
945
954
  adj_17 += adj_ret;
@@ -1147,8 +1156,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
1147
1156
  var_17 = wp::div(var_5, var_4);
1148
1157
  var_18 = wp::cast_float(var_17);
1149
1158
  }
1150
- var_19 = wp::select(var_15, var_7, var_16);
1151
- var_20 = wp::select(var_15, var_8, var_18);
1159
+ var_19 = wp::where(var_15, var_16, var_7);
1160
+ var_20 = wp::where(var_15, var_18, var_8);
1152
1161
  if (!var_15) {
1153
1162
  var_21 = wp::dot(var_0, var_2);
1154
1163
  var_22 = (var_4 <= var_epsilon);
@@ -1158,8 +1167,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
1158
1167
  var_26 = wp::clamp(var_24, var_6, var_25);
1159
1168
  var_27 = wp::cast_float(var_6);
1160
1169
  }
1161
- var_28 = wp::select(var_22, var_19, var_26);
1162
- var_29 = wp::select(var_22, var_20, var_27);
1170
+ var_28 = wp::where(var_22, var_26, var_19);
1171
+ var_29 = wp::where(var_22, var_27, var_20);
1163
1172
  if (!var_22) {
1164
1173
  var_30 = wp::dot(var_0, var_1);
1165
1174
  var_31 = wp::mul(var_3, var_4);
@@ -1173,10 +1182,10 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
1173
1182
  var_38 = wp::div(var_37, var_33);
1174
1183
  var_39 = wp::clamp(var_38, var_6, var_25);
1175
1184
  }
1176
- var_40 = wp::select(var_34, var_28, var_39);
1185
+ var_40 = wp::where(var_34, var_39, var_28);
1177
1186
  if (!var_34) {
1178
1187
  }
1179
- var_41 = wp::select(var_34, var_6, var_40);
1188
+ var_41 = wp::where(var_34, var_40, var_6);
1180
1189
  var_42 = wp::mul(var_30, var_41);
1181
1190
  var_43 = wp::add(var_42, var_5);
1182
1191
  var_44 = wp::div(var_43, var_4);
@@ -1186,8 +1195,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
1186
1195
  var_47 = wp::div(var_46, var_3);
1187
1196
  var_48 = wp::clamp(var_47, var_6, var_25);
1188
1197
  }
1189
- var_49 = wp::select(var_45, var_41, var_48);
1190
- var_50 = wp::select(var_45, var_44, var_6);
1198
+ var_49 = wp::where(var_45, var_48, var_41);
1199
+ var_50 = wp::where(var_45, var_6, var_44);
1191
1200
  if (!var_45) {
1192
1201
  var_51 = (var_50 > var_25);
1193
1202
  if (var_51) {
@@ -1195,17 +1204,17 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
1195
1204
  var_53 = wp::div(var_52, var_3);
1196
1205
  var_54 = wp::clamp(var_53, var_6, var_25);
1197
1206
  }
1198
- var_55 = wp::select(var_51, var_49, var_54);
1199
- var_56 = wp::select(var_51, var_50, var_25);
1207
+ var_55 = wp::where(var_51, var_54, var_49);
1208
+ var_56 = wp::where(var_51, var_25, var_50);
1200
1209
  }
1201
- var_57 = wp::select(var_45, var_55, var_49);
1202
- var_58 = wp::select(var_45, var_56, var_50);
1210
+ var_57 = wp::where(var_45, var_49, var_55);
1211
+ var_58 = wp::where(var_45, var_50, var_56);
1203
1212
  }
1204
- var_59 = wp::select(var_22, var_57, var_28);
1205
- var_60 = wp::select(var_22, var_58, var_29);
1213
+ var_59 = wp::where(var_22, var_28, var_57);
1214
+ var_60 = wp::where(var_22, var_29, var_58);
1206
1215
  }
1207
- var_61 = wp::select(var_15, var_59, var_19);
1208
- var_62 = wp::select(var_15, var_60, var_20);
1216
+ var_61 = wp::where(var_15, var_19, var_59);
1217
+ var_62 = wp::where(var_15, var_20, var_60);
1209
1218
  var_63 = wp::sub(var_q1, var_p1);
1210
1219
  var_64 = wp::mul(var_63, var_61);
1211
1220
  var_65 = wp::add(var_p1, var_64);
@@ -1,9 +1,18 @@
1
- /** Copyright (c) 2022 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.
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
7
16
  */
8
17
 
9
18
  #pragma once
@@ -202,8 +211,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
202
211
  var_17 = wp::div(var_5, var_4);
203
212
  var_18 = wp::cast_float(var_17);
204
213
  }
205
- var_19 = wp::select(var_15, var_7, var_16);
206
- var_20 = wp::select(var_15, var_8, var_18);
214
+ var_19 = wp::where(var_15, var_16, var_7);
215
+ var_20 = wp::where(var_15, var_18, var_8);
207
216
  if (!var_15) {
208
217
  var_21 = wp::dot(var_0, var_2);
209
218
  var_22 = (var_4 <= var_epsilon);
@@ -213,8 +222,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
213
222
  var_26 = wp::clamp(var_24, var_6, var_25);
214
223
  var_27 = wp::cast_float(var_6);
215
224
  }
216
- var_28 = wp::select(var_22, var_19, var_26);
217
- var_29 = wp::select(var_22, var_20, var_27);
225
+ var_28 = wp::where(var_22, var_26, var_19);
226
+ var_29 = wp::where(var_22, var_27, var_20);
218
227
  if (!var_22) {
219
228
  var_30 = wp::dot(var_0, var_1);
220
229
  var_31 = wp::mul(var_3, var_4);
@@ -228,10 +237,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
228
237
  var_38 = wp::div(var_37, var_33);
229
238
  var_39 = wp::clamp(var_38, var_6, var_25);
230
239
  }
231
- var_40 = wp::select(var_34, var_28, var_39);
240
+ var_40 = wp::where(var_34, var_39, var_28);
232
241
  if (!var_34) {
233
242
  }
234
- var_41 = wp::select(var_34, var_6, var_40);
243
+ var_41 = wp::where(var_34, var_40, var_6);
235
244
  var_42 = wp::mul(var_30, var_41);
236
245
  var_43 = wp::add(var_42, var_5);
237
246
  var_44 = wp::div(var_43, var_4);
@@ -241,8 +250,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
241
250
  var_47 = wp::div(var_46, var_3);
242
251
  var_48 = wp::clamp(var_47, var_6, var_25);
243
252
  }
244
- var_49 = wp::select(var_45, var_41, var_48);
245
- var_50 = wp::select(var_45, var_44, var_6);
253
+ var_49 = wp::where(var_45, var_48, var_41);
254
+ var_50 = wp::where(var_45, var_6, var_44);
246
255
  if (!var_45) {
247
256
  var_51 = (var_50 > var_25);
248
257
  if (var_51) {
@@ -250,17 +259,17 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
250
259
  var_53 = wp::div(var_52, var_3);
251
260
  var_54 = wp::clamp(var_53, var_6, var_25);
252
261
  }
253
- var_55 = wp::select(var_51, var_49, var_54);
254
- var_56 = wp::select(var_51, var_50, var_25);
262
+ var_55 = wp::where(var_51, var_54, var_49);
263
+ var_56 = wp::where(var_51, var_25, var_50);
255
264
  }
256
- var_57 = wp::select(var_45, var_55, var_49);
257
- var_58 = wp::select(var_45, var_56, var_50);
265
+ var_57 = wp::where(var_45, var_49, var_55);
266
+ var_58 = wp::where(var_45, var_50, var_56);
258
267
  }
259
- var_59 = wp::select(var_22, var_57, var_28);
260
- var_60 = wp::select(var_22, var_58, var_29);
268
+ var_59 = wp::where(var_22, var_28, var_57);
269
+ var_60 = wp::where(var_22, var_29, var_58);
261
270
  }
262
- var_61 = wp::select(var_15, var_59, var_19);
263
- var_62 = wp::select(var_15, var_60, var_20);
271
+ var_61 = wp::where(var_15, var_19, var_59);
272
+ var_62 = wp::where(var_15, var_20, var_60);
264
273
  var_63 = wp::sub(var_q1, var_p1);
265
274
  var_64 = wp::mul(var_63, var_61);
266
275
  var_65 = wp::add(var_p1, var_64);
@@ -284,25 +293,25 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
284
293
  wp::adj_add(var_p1, var_64, adj_p1, adj_64, adj_65);
285
294
  wp::adj_mul(var_63, var_61, adj_63, adj_61, adj_64);
286
295
  wp::adj_sub(var_q1, var_p1, adj_q1, adj_p1, adj_63);
287
- wp::adj_select(var_15, var_60, var_20, adj_15, adj_60, adj_20, adj_62);
288
- wp::adj_select(var_15, var_59, var_19, adj_15, adj_59, adj_19, adj_61);
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);
289
298
  if (!var_15) {
290
- wp::adj_select(var_22, var_58, var_29, adj_22, adj_58, adj_29, adj_60);
291
- wp::adj_select(var_22, var_57, var_28, adj_22, adj_57, adj_28, adj_59);
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);
292
301
  if (!var_22) {
293
- wp::adj_select(var_45, var_56, var_50, adj_45, adj_56, adj_50, adj_58);
294
- wp::adj_select(var_45, var_55, var_49, adj_45, adj_55, adj_49, adj_57);
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);
295
304
  if (!var_45) {
296
- wp::adj_select(var_51, var_50, var_25, adj_51, adj_50, adj_25, adj_56);
297
- wp::adj_select(var_51, var_49, var_54, adj_51, adj_49, adj_54, adj_55);
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);
298
307
  if (var_51) {
299
308
  wp::adj_clamp(var_53, var_6, var_25, adj_53, adj_6, adj_25, adj_54);
300
309
  wp::adj_div(var_52, var_3, var_53, adj_52, adj_3, adj_53);
301
310
  wp::adj_sub(var_30, var_21, adj_30, adj_21, adj_52);
302
311
  }
303
312
  }
304
- wp::adj_select(var_45, var_44, var_6, adj_45, adj_44, adj_6, adj_50);
305
- wp::adj_select(var_45, var_41, var_48, adj_45, adj_41, adj_48, adj_49);
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);
306
315
  if (var_45) {
307
316
  wp::adj_clamp(var_47, var_6, var_25, adj_47, adj_6, adj_25, adj_48);
308
317
  wp::adj_div(var_46, var_3, var_47, adj_46, adj_3, adj_47);
@@ -311,10 +320,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
311
320
  wp::adj_div(var_43, var_4, var_44, adj_43, adj_4, adj_44);
312
321
  wp::adj_add(var_42, var_5, adj_42, adj_5, adj_43);
313
322
  wp::adj_mul(var_30, var_41, adj_30, adj_41, adj_42);
314
- wp::adj_select(var_34, var_6, var_40, adj_34, adj_6, adj_40, adj_41);
323
+ wp::adj_where(var_34, var_40, var_6, adj_34, adj_40, adj_6, adj_41);
315
324
  if (!var_34) {
316
325
  }
317
- wp::adj_select(var_34, var_28, var_39, adj_34, adj_28, adj_39, adj_40);
326
+ wp::adj_where(var_34, var_39, var_28, adj_34, adj_39, adj_28, adj_40);
318
327
  if (var_34) {
319
328
  wp::adj_clamp(var_38, var_6, var_25, adj_38, adj_6, adj_25, adj_39);
320
329
  wp::adj_div(var_37, var_33, var_38, adj_37, adj_33, adj_38);
@@ -327,8 +336,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
327
336
  wp::adj_mul(var_3, var_4, adj_3, adj_4, adj_31);
328
337
  wp::adj_dot(var_0, var_1, adj_0, adj_1, adj_30);
329
338
  }
330
- wp::adj_select(var_22, var_20, var_27, adj_22, adj_20, adj_27, adj_29);
331
- wp::adj_select(var_22, var_19, var_26, adj_22, adj_19, adj_26, adj_28);
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);
332
341
  if (var_22) {
333
342
  wp::adj_cast_float(var_6, adj_6, adj_27);
334
343
  wp::adj_clamp(var_24, var_6, var_25, adj_24, adj_6, adj_25, adj_26);
@@ -337,8 +346,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
337
346
  }
338
347
  wp::adj_dot(var_0, var_2, adj_0, adj_2, adj_21);
339
348
  }
340
- wp::adj_select(var_15, var_8, var_18, adj_15, adj_8, adj_18, adj_20);
341
- wp::adj_select(var_15, var_7, var_16, adj_15, adj_7, adj_16, adj_19);
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);
342
351
  if (var_15) {
343
352
  wp::adj_cast_float(var_17, adj_17, adj_18);
344
353
  wp::adj_div(var_5, var_4, var_17, adj_5, adj_4, adj_17);
@@ -363,4 +372,4 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
363
372
 
364
373
  }
365
374
 
366
- } // namespace wp
375
+ } // namespace wp
@@ -1,3 +1,20 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
1
18
  /* Triangle/triangle intersection test routine,
2
19
  * by Tomas Moller, 1997.
3
20
  * See article "A Fast Triangle-Triangle Intersection Test",
warp/native/marching.cpp CHANGED
@@ -1,3 +1,19 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
1
17
 
2
18
 
3
19
  // not implemented yet
warp/native/marching.cu CHANGED
@@ -1,9 +1,18 @@
1
- /** Copyright (c) 2022 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.
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
7
16
  */
8
17
 
9
18
  #include "warp.h"
@@ -496,7 +505,7 @@ WP_API int marching_cubes_surface_device(
496
505
  return -1;
497
506
  }
498
507
 
499
- 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));
500
509
 
501
510
  *out_num_verts = num_verts;
502
511
  *out_num_tris = num_tris;
warp/native/marching.h CHANGED
@@ -1,2 +1,19 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
1
18
  #pragma once
2
19