18 #ifndef vtk_m_exec_internal_WorkletInvokeFunctorDetail_h
19 #define vtk_m_exec_internal_WorkletInvokeFunctorDetail_h
21 #if !defined(vtk_m_exec_internal_TaskSingular_h) && \
22 !defined(vtk_m_exec_internal_TaskTiling_h) && \
23 !defined(vtk_m_exec_cuda_internal_TaskStrided_h) && \
24 !defined(VTKM_TEST_HEADER_BUILD)
25 #error WorkletInvokeFunctorDetail.h must be included from TaskSingular.h, TaskTiling.h, TaskStrided.h
34 #if VTKM_MAX_FUNCTION_PARAMETERS != 20
35 #error Mismatch of maximum parameters between FunctionInterfaceDatailPre.h.in and WorkletInvokeFunctorDetail.h.in
48 struct DummyDeviceControlSignatureTag
56 template <
typename ThreadIndicesType,
59 struct InvocationToFetch
61 using ExecutionSignatureTag =
62 typename Invocation::ExecutionInterface::template ParameterType<ExecutionParameterIndex>::type;
67 static constexpr
vtkm::IdComponent ControlParameterIndex = ExecutionSignatureTag::INDEX;
68 using AspectTag =
typename ExecutionSignatureTag::AspectTag;
73 using ControlInterface =
typename Invocation::ControlInterface;
74 using ControlSignatureTag =
75 typename std::conditional<
76 ControlParameterIndex == 0,
77 DummyDeviceControlSignatureTag,
78 typename ControlInterface::template ParameterType<ControlParameterIndex>::type>::type;
79 using FetchTag =
typename ControlSignatureTag::FetchTag;
81 using ExecObjectType =
82 typename std::conditional<
83 ControlParameterIndex == 0,
84 typename Invocation::DeviceAdapterTag,
85 typename Invocation::ParameterInterface::template ParameterType<ControlParameterIndex>::type>::type;
89 VTKM_EXEC static ExecObjectType GetParameterImpl(
const Invocation&, std::true_type)
91 return typename Invocation::DeviceAdapterTag();
94 VTKM_EXEC static ExecObjectType GetParameterImpl(
const Invocation& invocation, std::false_type)
96 return vtkm::internal::ParameterGet<ControlParameterIndex>(invocation.Parameters);
99 VTKM_EXEC static ExecObjectType GetParameter(
const Invocation& invocation)
101 return GetParameterImpl(invocation, std::integral_constant<bool, ControlParameterIndex == 0>());
107 template <
typename WorkletType,
108 typename ParameterInterface,
109 typename ControlInterface,
111 typename OutputToInputMapType,
112 typename VisitArrayType,
113 typename ThreadToOutputMapType,
114 typename DeviceAdapterTag,
115 typename ThreadIndicesType,
119 const WorkletType& worklet,
120 const vtkm::internal::Invocation<ParameterInterface,
122 vtkm::internal::FunctionInterface<R(P1)>,
124 OutputToInputMapType,
126 ThreadToOutputMapType,
127 DeviceAdapterTag>& invocation,
128 const ThreadIndicesType& threadIndices)
130 using Invocation = vtkm::internal::Invocation<ParameterInterface,
132 vtkm::internal::FunctionInterface<R(P1)>,
134 OutputToInputMapType,
136 ThreadToOutputMapType,
139 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
140 using FetchType1 =
typename FetchInfo1::type;
143 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
145 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
146 using ReturnFetchType =
typename FetchInfo0::type;
147 ReturnFetchType returnFetch;
157 auto r = worklet(p1);
159 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
161 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
164 template <
typename WorkletType,
165 typename ParameterInterface,
166 typename ControlInterface,
168 typename OutputToInputMapType,
169 typename VisitArrayType,
170 typename ThreadToOutputMapType,
171 typename DeviceAdapterTag,
172 typename ThreadIndicesType,
175 const WorkletType& worklet,
176 const vtkm::internal::Invocation<ParameterInterface,
178 vtkm::internal::FunctionInterface<
void(P1)>,
180 OutputToInputMapType,
182 ThreadToOutputMapType,
183 DeviceAdapterTag>& invocation,
184 const ThreadIndicesType& threadIndices)
187 vtkm::internal::Invocation<ParameterInterface,
189 vtkm::internal::FunctionInterface<void(P1)>,
191 OutputToInputMapType,
193 ThreadToOutputMapType,
196 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
197 using FetchType1 =
typename FetchInfo1::type;
200 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
213 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
216 template <
typename WorkletType,
217 typename ParameterInterface,
218 typename ControlInterface,
220 typename OutputToInputMapType,
221 typename VisitArrayType,
222 typename ThreadToOutputMapType,
223 typename DeviceAdapterTag,
224 typename ThreadIndicesType,
229 const WorkletType& worklet,
230 const vtkm::internal::Invocation<ParameterInterface,
232 vtkm::internal::FunctionInterface<R(P1, P2)>,
234 OutputToInputMapType,
236 ThreadToOutputMapType,
237 DeviceAdapterTag>& invocation,
238 const ThreadIndicesType& threadIndices)
240 using Invocation = vtkm::internal::Invocation<ParameterInterface,
242 vtkm::internal::FunctionInterface<R(P1, P2)>,
244 OutputToInputMapType,
246 ThreadToOutputMapType,
249 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
250 using FetchType1 =
typename FetchInfo1::type;
253 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
255 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
256 using FetchType2 =
typename FetchInfo2::type;
259 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
261 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
262 using ReturnFetchType =
typename FetchInfo0::type;
263 ReturnFetchType returnFetch;
273 auto r = worklet(p1, p2);
275 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
276 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
278 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
281 template <
typename WorkletType,
282 typename ParameterInterface,
283 typename ControlInterface,
285 typename OutputToInputMapType,
286 typename VisitArrayType,
287 typename ThreadToOutputMapType,
288 typename DeviceAdapterTag,
289 typename ThreadIndicesType,
293 const WorkletType& worklet,
294 const vtkm::internal::Invocation<ParameterInterface,
296 vtkm::internal::FunctionInterface<
void(P1, P2)>,
298 OutputToInputMapType,
300 ThreadToOutputMapType,
301 DeviceAdapterTag>& invocation,
302 const ThreadIndicesType& threadIndices)
305 vtkm::internal::Invocation<ParameterInterface,
307 vtkm::internal::FunctionInterface<void(P1, P2)>,
309 OutputToInputMapType,
311 ThreadToOutputMapType,
314 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
315 using FetchType1 =
typename FetchInfo1::type;
318 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
320 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
321 using FetchType2 =
typename FetchInfo2::type;
324 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
337 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
338 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
341 template <
typename WorkletType,
342 typename ParameterInterface,
343 typename ControlInterface,
345 typename OutputToInputMapType,
346 typename VisitArrayType,
347 typename ThreadToOutputMapType,
348 typename DeviceAdapterTag,
349 typename ThreadIndicesType,
355 const WorkletType& worklet,
356 const vtkm::internal::Invocation<ParameterInterface,
358 vtkm::internal::FunctionInterface<R(P1, P2, P3)>,
360 OutputToInputMapType,
362 ThreadToOutputMapType,
363 DeviceAdapterTag>& invocation,
364 const ThreadIndicesType& threadIndices)
366 using Invocation = vtkm::internal::Invocation<ParameterInterface,
368 vtkm::internal::FunctionInterface<R(P1, P2, P3)>,
370 OutputToInputMapType,
372 ThreadToOutputMapType,
375 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
376 using FetchType1 =
typename FetchInfo1::type;
379 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
381 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
382 using FetchType2 =
typename FetchInfo2::type;
385 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
387 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
388 using FetchType3 =
typename FetchInfo3::type;
391 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
393 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
394 using ReturnFetchType =
typename FetchInfo0::type;
395 ReturnFetchType returnFetch;
405 auto r = worklet(p1, p2, p3);
407 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
408 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
409 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
411 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
414 template <
typename WorkletType,
415 typename ParameterInterface,
416 typename ControlInterface,
418 typename OutputToInputMapType,
419 typename VisitArrayType,
420 typename ThreadToOutputMapType,
421 typename DeviceAdapterTag,
422 typename ThreadIndicesType,
427 const WorkletType& worklet,
428 const vtkm::internal::Invocation<ParameterInterface,
430 vtkm::internal::FunctionInterface<
void(P1, P2, P3)>,
432 OutputToInputMapType,
434 ThreadToOutputMapType,
435 DeviceAdapterTag>& invocation,
436 const ThreadIndicesType& threadIndices)
439 vtkm::internal::Invocation<ParameterInterface,
441 vtkm::internal::FunctionInterface<void(P1, P2, P3)>,
443 OutputToInputMapType,
445 ThreadToOutputMapType,
448 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
449 using FetchType1 =
typename FetchInfo1::type;
452 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
454 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
455 using FetchType2 =
typename FetchInfo2::type;
458 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
460 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
461 using FetchType3 =
typename FetchInfo3::type;
464 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
477 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
478 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
479 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
482 template <
typename WorkletType,
483 typename ParameterInterface,
484 typename ControlInterface,
486 typename OutputToInputMapType,
487 typename VisitArrayType,
488 typename ThreadToOutputMapType,
489 typename DeviceAdapterTag,
490 typename ThreadIndicesType,
497 const WorkletType& worklet,
498 const vtkm::internal::Invocation<ParameterInterface,
500 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4)>,
502 OutputToInputMapType,
504 ThreadToOutputMapType,
505 DeviceAdapterTag>& invocation,
506 const ThreadIndicesType& threadIndices)
508 using Invocation = vtkm::internal::Invocation<ParameterInterface,
510 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4)>,
512 OutputToInputMapType,
514 ThreadToOutputMapType,
517 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
518 using FetchType1 =
typename FetchInfo1::type;
521 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
523 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
524 using FetchType2 =
typename FetchInfo2::type;
527 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
529 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
530 using FetchType3 =
typename FetchInfo3::type;
533 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
535 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
536 using FetchType4 =
typename FetchInfo4::type;
539 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
541 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
542 using ReturnFetchType =
typename FetchInfo0::type;
543 ReturnFetchType returnFetch;
553 auto r = worklet(p1, p2, p3, p4);
555 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
556 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
557 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
558 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
560 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
563 template <
typename WorkletType,
564 typename ParameterInterface,
565 typename ControlInterface,
567 typename OutputToInputMapType,
568 typename VisitArrayType,
569 typename ThreadToOutputMapType,
570 typename DeviceAdapterTag,
571 typename ThreadIndicesType,
577 const WorkletType& worklet,
578 const vtkm::internal::Invocation<ParameterInterface,
580 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4)>,
582 OutputToInputMapType,
584 ThreadToOutputMapType,
585 DeviceAdapterTag>& invocation,
586 const ThreadIndicesType& threadIndices)
589 vtkm::internal::Invocation<ParameterInterface,
591 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4)>,
593 OutputToInputMapType,
595 ThreadToOutputMapType,
598 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
599 using FetchType1 =
typename FetchInfo1::type;
602 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
604 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
605 using FetchType2 =
typename FetchInfo2::type;
608 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
610 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
611 using FetchType3 =
typename FetchInfo3::type;
614 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
616 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
617 using FetchType4 =
typename FetchInfo4::type;
620 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
631 worklet(p1, p2, p3, p4);
633 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
634 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
635 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
636 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
639 template <
typename WorkletType,
640 typename ParameterInterface,
641 typename ControlInterface,
643 typename OutputToInputMapType,
644 typename VisitArrayType,
645 typename ThreadToOutputMapType,
646 typename DeviceAdapterTag,
647 typename ThreadIndicesType,
655 const WorkletType& worklet,
656 const vtkm::internal::Invocation<ParameterInterface,
658 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5)>,
660 OutputToInputMapType,
662 ThreadToOutputMapType,
663 DeviceAdapterTag>& invocation,
664 const ThreadIndicesType& threadIndices)
666 using Invocation = vtkm::internal::Invocation<ParameterInterface,
668 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5)>,
670 OutputToInputMapType,
672 ThreadToOutputMapType,
675 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
676 using FetchType1 =
typename FetchInfo1::type;
679 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
681 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
682 using FetchType2 =
typename FetchInfo2::type;
685 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
687 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
688 using FetchType3 =
typename FetchInfo3::type;
691 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
693 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
694 using FetchType4 =
typename FetchInfo4::type;
697 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
699 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
700 using FetchType5 =
typename FetchInfo5::type;
703 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
705 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
706 using ReturnFetchType =
typename FetchInfo0::type;
707 ReturnFetchType returnFetch;
717 auto r = worklet(p1, p2, p3, p4, p5);
719 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
720 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
721 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
722 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
723 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
725 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
728 template <
typename WorkletType,
729 typename ParameterInterface,
730 typename ControlInterface,
732 typename OutputToInputMapType,
733 typename VisitArrayType,
734 typename ThreadToOutputMapType,
735 typename DeviceAdapterTag,
736 typename ThreadIndicesType,
743 const WorkletType& worklet,
744 const vtkm::internal::Invocation<ParameterInterface,
746 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5)>,
748 OutputToInputMapType,
750 ThreadToOutputMapType,
751 DeviceAdapterTag>& invocation,
752 const ThreadIndicesType& threadIndices)
755 vtkm::internal::Invocation<ParameterInterface,
757 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5)>,
759 OutputToInputMapType,
761 ThreadToOutputMapType,
764 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
765 using FetchType1 =
typename FetchInfo1::type;
768 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
770 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
771 using FetchType2 =
typename FetchInfo2::type;
774 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
776 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
777 using FetchType3 =
typename FetchInfo3::type;
780 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
782 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
783 using FetchType4 =
typename FetchInfo4::type;
786 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
788 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
789 using FetchType5 =
typename FetchInfo5::type;
792 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
803 worklet(p1, p2, p3, p4, p5);
805 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
806 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
807 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
808 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
809 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
812 template <
typename WorkletType,
813 typename ParameterInterface,
814 typename ControlInterface,
816 typename OutputToInputMapType,
817 typename VisitArrayType,
818 typename ThreadToOutputMapType,
819 typename DeviceAdapterTag,
820 typename ThreadIndicesType,
829 const WorkletType& worklet,
830 const vtkm::internal::Invocation<ParameterInterface,
832 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6)>,
834 OutputToInputMapType,
836 ThreadToOutputMapType,
837 DeviceAdapterTag>& invocation,
838 const ThreadIndicesType& threadIndices)
840 using Invocation = vtkm::internal::Invocation<ParameterInterface,
842 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6)>,
844 OutputToInputMapType,
846 ThreadToOutputMapType,
849 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
850 using FetchType1 =
typename FetchInfo1::type;
853 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
855 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
856 using FetchType2 =
typename FetchInfo2::type;
859 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
861 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
862 using FetchType3 =
typename FetchInfo3::type;
865 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
867 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
868 using FetchType4 =
typename FetchInfo4::type;
871 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
873 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
874 using FetchType5 =
typename FetchInfo5::type;
877 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
879 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
880 using FetchType6 =
typename FetchInfo6::type;
883 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
885 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
886 using ReturnFetchType =
typename FetchInfo0::type;
887 ReturnFetchType returnFetch;
897 auto r = worklet(p1, p2, p3, p4, p5, p6);
899 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
900 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
901 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
902 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
903 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
904 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
906 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
909 template <
typename WorkletType,
910 typename ParameterInterface,
911 typename ControlInterface,
913 typename OutputToInputMapType,
914 typename VisitArrayType,
915 typename ThreadToOutputMapType,
916 typename DeviceAdapterTag,
917 typename ThreadIndicesType,
925 const WorkletType& worklet,
926 const vtkm::internal::Invocation<ParameterInterface,
928 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6)>,
930 OutputToInputMapType,
932 ThreadToOutputMapType,
933 DeviceAdapterTag>& invocation,
934 const ThreadIndicesType& threadIndices)
937 vtkm::internal::Invocation<ParameterInterface,
939 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6)>,
941 OutputToInputMapType,
943 ThreadToOutputMapType,
946 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
947 using FetchType1 =
typename FetchInfo1::type;
950 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
952 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
953 using FetchType2 =
typename FetchInfo2::type;
956 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
958 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
959 using FetchType3 =
typename FetchInfo3::type;
962 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
964 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
965 using FetchType4 =
typename FetchInfo4::type;
968 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
970 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
971 using FetchType5 =
typename FetchInfo5::type;
974 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
976 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
977 using FetchType6 =
typename FetchInfo6::type;
980 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
991 worklet(p1, p2, p3, p4, p5, p6);
993 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
994 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
995 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
996 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
997 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
998 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1001 template <
typename WorkletType,
1002 typename ParameterInterface,
1003 typename ControlInterface,
1005 typename OutputToInputMapType,
1006 typename VisitArrayType,
1007 typename ThreadToOutputMapType,
1008 typename DeviceAdapterTag,
1009 typename ThreadIndicesType,
1019 const WorkletType& worklet,
1020 const vtkm::internal::Invocation<ParameterInterface,
1022 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7)>,
1024 OutputToInputMapType,
1026 ThreadToOutputMapType,
1027 DeviceAdapterTag>& invocation,
1028 const ThreadIndicesType& threadIndices)
1030 using Invocation = vtkm::internal::Invocation<ParameterInterface,
1032 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7)>,
1034 OutputToInputMapType,
1036 ThreadToOutputMapType,
1039 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1040 using FetchType1 =
typename FetchInfo1::type;
1043 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1045 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1046 using FetchType2 =
typename FetchInfo2::type;
1049 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1051 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1052 using FetchType3 =
typename FetchInfo3::type;
1055 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1057 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1058 using FetchType4 =
typename FetchInfo4::type;
1061 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1063 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1064 using FetchType5 =
typename FetchInfo5::type;
1067 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1069 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1070 using FetchType6 =
typename FetchInfo6::type;
1073 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1075 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1076 using FetchType7 =
typename FetchInfo7::type;
1079 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1081 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
1082 using ReturnFetchType =
typename FetchInfo0::type;
1083 ReturnFetchType returnFetch;
1093 auto r = worklet(p1, p2, p3, p4, p5, p6, p7);
1095 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1096 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1097 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1098 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1099 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1100 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1101 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1103 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
1106 template <
typename WorkletType,
1107 typename ParameterInterface,
1108 typename ControlInterface,
1110 typename OutputToInputMapType,
1111 typename VisitArrayType,
1112 typename ThreadToOutputMapType,
1113 typename DeviceAdapterTag,
1114 typename ThreadIndicesType,
1123 const WorkletType& worklet,
1124 const vtkm::internal::Invocation<ParameterInterface,
1126 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7)>,
1128 OutputToInputMapType,
1130 ThreadToOutputMapType,
1131 DeviceAdapterTag>& invocation,
1132 const ThreadIndicesType& threadIndices)
1135 vtkm::internal::Invocation<ParameterInterface,
1137 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7)>,
1139 OutputToInputMapType,
1141 ThreadToOutputMapType,
1144 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1145 using FetchType1 =
typename FetchInfo1::type;
1148 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1150 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1151 using FetchType2 =
typename FetchInfo2::type;
1154 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1156 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1157 using FetchType3 =
typename FetchInfo3::type;
1160 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1162 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1163 using FetchType4 =
typename FetchInfo4::type;
1166 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1168 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1169 using FetchType5 =
typename FetchInfo5::type;
1172 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1174 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1175 using FetchType6 =
typename FetchInfo6::type;
1178 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1180 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1181 using FetchType7 =
typename FetchInfo7::type;
1184 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1195 worklet(p1, p2, p3, p4, p5, p6, p7);
1197 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1198 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1199 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1200 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1201 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1202 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1203 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1206 template <
typename WorkletType,
1207 typename ParameterInterface,
1208 typename ControlInterface,
1210 typename OutputToInputMapType,
1211 typename VisitArrayType,
1212 typename ThreadToOutputMapType,
1213 typename DeviceAdapterTag,
1214 typename ThreadIndicesType,
1225 const WorkletType& worklet,
1226 const vtkm::internal::Invocation<ParameterInterface,
1228 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8)>,
1230 OutputToInputMapType,
1232 ThreadToOutputMapType,
1233 DeviceAdapterTag>& invocation,
1234 const ThreadIndicesType& threadIndices)
1236 using Invocation = vtkm::internal::Invocation<ParameterInterface,
1238 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8)>,
1240 OutputToInputMapType,
1242 ThreadToOutputMapType,
1245 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1246 using FetchType1 =
typename FetchInfo1::type;
1249 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1251 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1252 using FetchType2 =
typename FetchInfo2::type;
1255 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1257 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1258 using FetchType3 =
typename FetchInfo3::type;
1261 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1263 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1264 using FetchType4 =
typename FetchInfo4::type;
1267 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1269 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1270 using FetchType5 =
typename FetchInfo5::type;
1273 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1275 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1276 using FetchType6 =
typename FetchInfo6::type;
1279 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1281 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1282 using FetchType7 =
typename FetchInfo7::type;
1285 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1287 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1288 using FetchType8 =
typename FetchInfo8::type;
1291 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1293 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
1294 using ReturnFetchType =
typename FetchInfo0::type;
1295 ReturnFetchType returnFetch;
1305 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8);
1307 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1308 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1309 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1310 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1311 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1312 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1313 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1314 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1316 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
1319 template <
typename WorkletType,
1320 typename ParameterInterface,
1321 typename ControlInterface,
1323 typename OutputToInputMapType,
1324 typename VisitArrayType,
1325 typename ThreadToOutputMapType,
1326 typename DeviceAdapterTag,
1327 typename ThreadIndicesType,
1337 const WorkletType& worklet,
1338 const vtkm::internal::Invocation<ParameterInterface,
1340 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8)>,
1342 OutputToInputMapType,
1344 ThreadToOutputMapType,
1345 DeviceAdapterTag>& invocation,
1346 const ThreadIndicesType& threadIndices)
1349 vtkm::internal::Invocation<ParameterInterface,
1351 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8)>,
1353 OutputToInputMapType,
1355 ThreadToOutputMapType,
1358 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1359 using FetchType1 =
typename FetchInfo1::type;
1362 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1364 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1365 using FetchType2 =
typename FetchInfo2::type;
1368 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1370 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1371 using FetchType3 =
typename FetchInfo3::type;
1374 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1376 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1377 using FetchType4 =
typename FetchInfo4::type;
1380 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1382 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1383 using FetchType5 =
typename FetchInfo5::type;
1386 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1388 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1389 using FetchType6 =
typename FetchInfo6::type;
1392 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1394 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1395 using FetchType7 =
typename FetchInfo7::type;
1398 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1400 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1401 using FetchType8 =
typename FetchInfo8::type;
1404 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1415 worklet(p1, p2, p3, p4, p5, p6, p7, p8);
1417 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1418 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1419 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1420 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1421 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1422 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1423 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1424 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1427 template <
typename WorkletType,
1428 typename ParameterInterface,
1429 typename ControlInterface,
1431 typename OutputToInputMapType,
1432 typename VisitArrayType,
1433 typename ThreadToOutputMapType,
1434 typename DeviceAdapterTag,
1435 typename ThreadIndicesType,
1447 const WorkletType& worklet,
1448 const vtkm::internal::Invocation<ParameterInterface,
1450 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9)>,
1452 OutputToInputMapType,
1454 ThreadToOutputMapType,
1455 DeviceAdapterTag>& invocation,
1456 const ThreadIndicesType& threadIndices)
1458 using Invocation = vtkm::internal::Invocation<ParameterInterface,
1460 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9)>,
1462 OutputToInputMapType,
1464 ThreadToOutputMapType,
1467 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1468 using FetchType1 =
typename FetchInfo1::type;
1471 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1473 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1474 using FetchType2 =
typename FetchInfo2::type;
1477 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1479 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1480 using FetchType3 =
typename FetchInfo3::type;
1483 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1485 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1486 using FetchType4 =
typename FetchInfo4::type;
1489 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1491 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1492 using FetchType5 =
typename FetchInfo5::type;
1495 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1497 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1498 using FetchType6 =
typename FetchInfo6::type;
1501 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1503 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1504 using FetchType7 =
typename FetchInfo7::type;
1507 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1509 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1510 using FetchType8 =
typename FetchInfo8::type;
1513 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1515 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
1516 using FetchType9 =
typename FetchInfo9::type;
1519 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
1521 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
1522 using ReturnFetchType =
typename FetchInfo0::type;
1523 ReturnFetchType returnFetch;
1533 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9);
1535 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1536 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1537 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1538 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1539 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1540 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1541 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1542 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1543 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
1545 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
1548 template <
typename WorkletType,
1549 typename ParameterInterface,
1550 typename ControlInterface,
1552 typename OutputToInputMapType,
1553 typename VisitArrayType,
1554 typename ThreadToOutputMapType,
1555 typename DeviceAdapterTag,
1556 typename ThreadIndicesType,
1567 const WorkletType& worklet,
1568 const vtkm::internal::Invocation<ParameterInterface,
1570 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9)>,
1572 OutputToInputMapType,
1574 ThreadToOutputMapType,
1575 DeviceAdapterTag>& invocation,
1576 const ThreadIndicesType& threadIndices)
1579 vtkm::internal::Invocation<ParameterInterface,
1581 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9)>,
1583 OutputToInputMapType,
1585 ThreadToOutputMapType,
1588 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1589 using FetchType1 =
typename FetchInfo1::type;
1592 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1594 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1595 using FetchType2 =
typename FetchInfo2::type;
1598 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1600 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1601 using FetchType3 =
typename FetchInfo3::type;
1604 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1606 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1607 using FetchType4 =
typename FetchInfo4::type;
1610 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1612 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1613 using FetchType5 =
typename FetchInfo5::type;
1616 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1618 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1619 using FetchType6 =
typename FetchInfo6::type;
1622 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1624 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1625 using FetchType7 =
typename FetchInfo7::type;
1628 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1630 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1631 using FetchType8 =
typename FetchInfo8::type;
1634 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1636 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
1637 using FetchType9 =
typename FetchInfo9::type;
1640 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
1651 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9);
1653 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1654 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1655 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1656 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1657 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1658 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1659 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1660 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1661 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
1664 template <
typename WorkletType,
1665 typename ParameterInterface,
1666 typename ControlInterface,
1668 typename OutputToInputMapType,
1669 typename VisitArrayType,
1670 typename ThreadToOutputMapType,
1671 typename DeviceAdapterTag,
1672 typename ThreadIndicesType,
1685 const WorkletType& worklet,
1686 const vtkm::internal::Invocation<ParameterInterface,
1688 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>,
1690 OutputToInputMapType,
1692 ThreadToOutputMapType,
1693 DeviceAdapterTag>& invocation,
1694 const ThreadIndicesType& threadIndices)
1696 using Invocation = vtkm::internal::Invocation<ParameterInterface,
1698 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>,
1700 OutputToInputMapType,
1702 ThreadToOutputMapType,
1705 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1706 using FetchType1 =
typename FetchInfo1::type;
1709 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1711 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1712 using FetchType2 =
typename FetchInfo2::type;
1715 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1717 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1718 using FetchType3 =
typename FetchInfo3::type;
1721 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1723 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1724 using FetchType4 =
typename FetchInfo4::type;
1727 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1729 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1730 using FetchType5 =
typename FetchInfo5::type;
1733 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1735 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1736 using FetchType6 =
typename FetchInfo6::type;
1739 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1741 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1742 using FetchType7 =
typename FetchInfo7::type;
1745 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1747 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1748 using FetchType8 =
typename FetchInfo8::type;
1751 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1753 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
1754 using FetchType9 =
typename FetchInfo9::type;
1757 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
1759 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
1760 using FetchType10 =
typename FetchInfo10::type;
1761 FetchType10 fetch10;
1763 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
1765 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
1766 using ReturnFetchType =
typename FetchInfo0::type;
1767 ReturnFetchType returnFetch;
1777 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
1779 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1780 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1781 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1782 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1783 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1784 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1785 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1786 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1787 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
1788 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
1790 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
1793 template <
typename WorkletType,
1794 typename ParameterInterface,
1795 typename ControlInterface,
1797 typename OutputToInputMapType,
1798 typename VisitArrayType,
1799 typename ThreadToOutputMapType,
1800 typename DeviceAdapterTag,
1801 typename ThreadIndicesType,
1813 const WorkletType& worklet,
1814 const vtkm::internal::Invocation<ParameterInterface,
1816 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>,
1818 OutputToInputMapType,
1820 ThreadToOutputMapType,
1821 DeviceAdapterTag>& invocation,
1822 const ThreadIndicesType& threadIndices)
1825 vtkm::internal::Invocation<ParameterInterface,
1827 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>,
1829 OutputToInputMapType,
1831 ThreadToOutputMapType,
1834 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1835 using FetchType1 =
typename FetchInfo1::type;
1838 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1840 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1841 using FetchType2 =
typename FetchInfo2::type;
1844 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1846 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1847 using FetchType3 =
typename FetchInfo3::type;
1850 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1852 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1853 using FetchType4 =
typename FetchInfo4::type;
1856 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1858 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1859 using FetchType5 =
typename FetchInfo5::type;
1862 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1864 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1865 using FetchType6 =
typename FetchInfo6::type;
1868 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1870 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1871 using FetchType7 =
typename FetchInfo7::type;
1874 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
1876 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
1877 using FetchType8 =
typename FetchInfo8::type;
1880 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
1882 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
1883 using FetchType9 =
typename FetchInfo9::type;
1886 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
1888 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
1889 using FetchType10 =
typename FetchInfo10::type;
1890 FetchType10 fetch10;
1892 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
1903 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
1905 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
1906 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
1907 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
1908 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
1909 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
1910 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
1911 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
1912 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
1913 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
1914 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
1917 template <
typename WorkletType,
1918 typename ParameterInterface,
1919 typename ControlInterface,
1921 typename OutputToInputMapType,
1922 typename VisitArrayType,
1923 typename ThreadToOutputMapType,
1924 typename DeviceAdapterTag,
1925 typename ThreadIndicesType,
1939 const WorkletType& worklet,
1940 const vtkm::internal::Invocation<ParameterInterface,
1942 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>,
1944 OutputToInputMapType,
1946 ThreadToOutputMapType,
1947 DeviceAdapterTag>& invocation,
1948 const ThreadIndicesType& threadIndices)
1950 using Invocation = vtkm::internal::Invocation<ParameterInterface,
1952 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>,
1954 OutputToInputMapType,
1956 ThreadToOutputMapType,
1959 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
1960 using FetchType1 =
typename FetchInfo1::type;
1963 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
1965 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
1966 using FetchType2 =
typename FetchInfo2::type;
1969 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
1971 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
1972 using FetchType3 =
typename FetchInfo3::type;
1975 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
1977 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
1978 using FetchType4 =
typename FetchInfo4::type;
1981 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
1983 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
1984 using FetchType5 =
typename FetchInfo5::type;
1987 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
1989 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
1990 using FetchType6 =
typename FetchInfo6::type;
1993 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
1995 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
1996 using FetchType7 =
typename FetchInfo7::type;
1999 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2001 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2002 using FetchType8 =
typename FetchInfo8::type;
2005 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2007 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2008 using FetchType9 =
typename FetchInfo9::type;
2011 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2013 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2014 using FetchType10 =
typename FetchInfo10::type;
2015 FetchType10 fetch10;
2017 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2019 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2020 using FetchType11 =
typename FetchInfo11::type;
2021 FetchType11 fetch11;
2023 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2025 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
2026 using ReturnFetchType =
typename FetchInfo0::type;
2027 ReturnFetchType returnFetch;
2037 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
2039 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2040 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2041 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2042 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2043 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2044 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2045 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2046 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2047 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2048 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2049 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2051 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
2054 template <
typename WorkletType,
2055 typename ParameterInterface,
2056 typename ControlInterface,
2058 typename OutputToInputMapType,
2059 typename VisitArrayType,
2060 typename ThreadToOutputMapType,
2061 typename DeviceAdapterTag,
2062 typename ThreadIndicesType,
2075 const WorkletType& worklet,
2076 const vtkm::internal::Invocation<ParameterInterface,
2078 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>,
2080 OutputToInputMapType,
2082 ThreadToOutputMapType,
2083 DeviceAdapterTag>& invocation,
2084 const ThreadIndicesType& threadIndices)
2087 vtkm::internal::Invocation<ParameterInterface,
2089 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>,
2091 OutputToInputMapType,
2093 ThreadToOutputMapType,
2096 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2097 using FetchType1 =
typename FetchInfo1::type;
2100 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2102 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2103 using FetchType2 =
typename FetchInfo2::type;
2106 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2108 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2109 using FetchType3 =
typename FetchInfo3::type;
2112 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2114 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2115 using FetchType4 =
typename FetchInfo4::type;
2118 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2120 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2121 using FetchType5 =
typename FetchInfo5::type;
2124 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2126 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2127 using FetchType6 =
typename FetchInfo6::type;
2130 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2132 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2133 using FetchType7 =
typename FetchInfo7::type;
2136 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2138 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2139 using FetchType8 =
typename FetchInfo8::type;
2142 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2144 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2145 using FetchType9 =
typename FetchInfo9::type;
2148 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2150 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2151 using FetchType10 =
typename FetchInfo10::type;
2152 FetchType10 fetch10;
2154 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2156 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2157 using FetchType11 =
typename FetchInfo11::type;
2158 FetchType11 fetch11;
2160 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2171 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
2173 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2174 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2175 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2176 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2177 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2178 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2179 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2180 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2181 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2182 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2183 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2186 template <
typename WorkletType,
2187 typename ParameterInterface,
2188 typename ControlInterface,
2190 typename OutputToInputMapType,
2191 typename VisitArrayType,
2192 typename ThreadToOutputMapType,
2193 typename DeviceAdapterTag,
2194 typename ThreadIndicesType,
2209 const WorkletType& worklet,
2210 const vtkm::internal::Invocation<ParameterInterface,
2212 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>,
2214 OutputToInputMapType,
2216 ThreadToOutputMapType,
2217 DeviceAdapterTag>& invocation,
2218 const ThreadIndicesType& threadIndices)
2220 using Invocation = vtkm::internal::Invocation<ParameterInterface,
2222 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>,
2224 OutputToInputMapType,
2226 ThreadToOutputMapType,
2229 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2230 using FetchType1 =
typename FetchInfo1::type;
2233 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2235 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2236 using FetchType2 =
typename FetchInfo2::type;
2239 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2241 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2242 using FetchType3 =
typename FetchInfo3::type;
2245 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2247 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2248 using FetchType4 =
typename FetchInfo4::type;
2251 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2253 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2254 using FetchType5 =
typename FetchInfo5::type;
2257 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2259 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2260 using FetchType6 =
typename FetchInfo6::type;
2263 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2265 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2266 using FetchType7 =
typename FetchInfo7::type;
2269 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2271 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2272 using FetchType8 =
typename FetchInfo8::type;
2275 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2277 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2278 using FetchType9 =
typename FetchInfo9::type;
2281 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2283 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2284 using FetchType10 =
typename FetchInfo10::type;
2285 FetchType10 fetch10;
2287 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2289 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2290 using FetchType11 =
typename FetchInfo11::type;
2291 FetchType11 fetch11;
2293 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2295 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
2296 using FetchType12 =
typename FetchInfo12::type;
2297 FetchType12 fetch12;
2299 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
2301 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
2302 using ReturnFetchType =
typename FetchInfo0::type;
2303 ReturnFetchType returnFetch;
2313 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
2315 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2316 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2317 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2318 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2319 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2320 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2321 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2322 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2323 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2324 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2325 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2326 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
2328 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
2331 template <
typename WorkletType,
2332 typename ParameterInterface,
2333 typename ControlInterface,
2335 typename OutputToInputMapType,
2336 typename VisitArrayType,
2337 typename ThreadToOutputMapType,
2338 typename DeviceAdapterTag,
2339 typename ThreadIndicesType,
2353 const WorkletType& worklet,
2354 const vtkm::internal::Invocation<ParameterInterface,
2356 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>,
2358 OutputToInputMapType,
2360 ThreadToOutputMapType,
2361 DeviceAdapterTag>& invocation,
2362 const ThreadIndicesType& threadIndices)
2365 vtkm::internal::Invocation<ParameterInterface,
2367 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>,
2369 OutputToInputMapType,
2371 ThreadToOutputMapType,
2374 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2375 using FetchType1 =
typename FetchInfo1::type;
2378 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2380 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2381 using FetchType2 =
typename FetchInfo2::type;
2384 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2386 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2387 using FetchType3 =
typename FetchInfo3::type;
2390 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2392 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2393 using FetchType4 =
typename FetchInfo4::type;
2396 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2398 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2399 using FetchType5 =
typename FetchInfo5::type;
2402 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2404 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2405 using FetchType6 =
typename FetchInfo6::type;
2408 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2410 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2411 using FetchType7 =
typename FetchInfo7::type;
2414 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2416 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2417 using FetchType8 =
typename FetchInfo8::type;
2420 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2422 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2423 using FetchType9 =
typename FetchInfo9::type;
2426 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2428 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2429 using FetchType10 =
typename FetchInfo10::type;
2430 FetchType10 fetch10;
2432 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2434 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2435 using FetchType11 =
typename FetchInfo11::type;
2436 FetchType11 fetch11;
2438 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2440 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
2441 using FetchType12 =
typename FetchInfo12::type;
2442 FetchType12 fetch12;
2444 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
2455 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
2457 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2458 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2459 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2460 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2461 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2462 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2463 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2464 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2465 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2466 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2467 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2468 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
2471 template <
typename WorkletType,
2472 typename ParameterInterface,
2473 typename ControlInterface,
2475 typename OutputToInputMapType,
2476 typename VisitArrayType,
2477 typename ThreadToOutputMapType,
2478 typename DeviceAdapterTag,
2479 typename ThreadIndicesType,
2495 const WorkletType& worklet,
2496 const vtkm::internal::Invocation<ParameterInterface,
2498 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)>,
2500 OutputToInputMapType,
2502 ThreadToOutputMapType,
2503 DeviceAdapterTag>& invocation,
2504 const ThreadIndicesType& threadIndices)
2506 using Invocation = vtkm::internal::Invocation<ParameterInterface,
2508 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)>,
2510 OutputToInputMapType,
2512 ThreadToOutputMapType,
2515 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2516 using FetchType1 =
typename FetchInfo1::type;
2519 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2521 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2522 using FetchType2 =
typename FetchInfo2::type;
2525 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2527 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2528 using FetchType3 =
typename FetchInfo3::type;
2531 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2533 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2534 using FetchType4 =
typename FetchInfo4::type;
2537 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2539 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2540 using FetchType5 =
typename FetchInfo5::type;
2543 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2545 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2546 using FetchType6 =
typename FetchInfo6::type;
2549 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2551 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2552 using FetchType7 =
typename FetchInfo7::type;
2555 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2557 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2558 using FetchType8 =
typename FetchInfo8::type;
2561 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2563 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2564 using FetchType9 =
typename FetchInfo9::type;
2567 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2569 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2570 using FetchType10 =
typename FetchInfo10::type;
2571 FetchType10 fetch10;
2573 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2575 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2576 using FetchType11 =
typename FetchInfo11::type;
2577 FetchType11 fetch11;
2579 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2581 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
2582 using FetchType12 =
typename FetchInfo12::type;
2583 FetchType12 fetch12;
2585 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
2587 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
2588 using FetchType13 =
typename FetchInfo13::type;
2589 FetchType13 fetch13;
2591 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
2593 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
2594 using ReturnFetchType =
typename FetchInfo0::type;
2595 ReturnFetchType returnFetch;
2605 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
2607 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2608 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2609 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2610 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2611 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2612 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2613 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2614 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2615 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2616 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2617 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2618 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
2619 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
2621 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
2624 template <
typename WorkletType,
2625 typename ParameterInterface,
2626 typename ControlInterface,
2628 typename OutputToInputMapType,
2629 typename VisitArrayType,
2630 typename ThreadToOutputMapType,
2631 typename DeviceAdapterTag,
2632 typename ThreadIndicesType,
2647 const WorkletType& worklet,
2648 const vtkm::internal::Invocation<ParameterInterface,
2650 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)>,
2652 OutputToInputMapType,
2654 ThreadToOutputMapType,
2655 DeviceAdapterTag>& invocation,
2656 const ThreadIndicesType& threadIndices)
2659 vtkm::internal::Invocation<ParameterInterface,
2661 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)>,
2663 OutputToInputMapType,
2665 ThreadToOutputMapType,
2668 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2669 using FetchType1 =
typename FetchInfo1::type;
2672 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2674 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2675 using FetchType2 =
typename FetchInfo2::type;
2678 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2680 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2681 using FetchType3 =
typename FetchInfo3::type;
2684 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2686 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2687 using FetchType4 =
typename FetchInfo4::type;
2690 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2692 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2693 using FetchType5 =
typename FetchInfo5::type;
2696 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2698 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2699 using FetchType6 =
typename FetchInfo6::type;
2702 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2704 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2705 using FetchType7 =
typename FetchInfo7::type;
2708 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2710 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2711 using FetchType8 =
typename FetchInfo8::type;
2714 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2716 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2717 using FetchType9 =
typename FetchInfo9::type;
2720 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2722 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2723 using FetchType10 =
typename FetchInfo10::type;
2724 FetchType10 fetch10;
2726 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2728 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2729 using FetchType11 =
typename FetchInfo11::type;
2730 FetchType11 fetch11;
2732 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2734 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
2735 using FetchType12 =
typename FetchInfo12::type;
2736 FetchType12 fetch12;
2738 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
2740 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
2741 using FetchType13 =
typename FetchInfo13::type;
2742 FetchType13 fetch13;
2744 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
2755 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
2757 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2758 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2759 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2760 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2761 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2762 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2763 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2764 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2765 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2766 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2767 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2768 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
2769 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
2772 template <
typename WorkletType,
2773 typename ParameterInterface,
2774 typename ControlInterface,
2776 typename OutputToInputMapType,
2777 typename VisitArrayType,
2778 typename ThreadToOutputMapType,
2779 typename DeviceAdapterTag,
2780 typename ThreadIndicesType,
2797 const WorkletType& worklet,
2798 const vtkm::internal::Invocation<ParameterInterface,
2800 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)>,
2802 OutputToInputMapType,
2804 ThreadToOutputMapType,
2805 DeviceAdapterTag>& invocation,
2806 const ThreadIndicesType& threadIndices)
2808 using Invocation = vtkm::internal::Invocation<ParameterInterface,
2810 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)>,
2812 OutputToInputMapType,
2814 ThreadToOutputMapType,
2817 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2818 using FetchType1 =
typename FetchInfo1::type;
2821 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2823 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2824 using FetchType2 =
typename FetchInfo2::type;
2827 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2829 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2830 using FetchType3 =
typename FetchInfo3::type;
2833 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2835 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2836 using FetchType4 =
typename FetchInfo4::type;
2839 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
2841 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
2842 using FetchType5 =
typename FetchInfo5::type;
2845 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
2847 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
2848 using FetchType6 =
typename FetchInfo6::type;
2851 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
2853 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
2854 using FetchType7 =
typename FetchInfo7::type;
2857 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
2859 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
2860 using FetchType8 =
typename FetchInfo8::type;
2863 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
2865 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
2866 using FetchType9 =
typename FetchInfo9::type;
2869 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
2871 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
2872 using FetchType10 =
typename FetchInfo10::type;
2873 FetchType10 fetch10;
2875 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
2877 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
2878 using FetchType11 =
typename FetchInfo11::type;
2879 FetchType11 fetch11;
2881 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
2883 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
2884 using FetchType12 =
typename FetchInfo12::type;
2885 FetchType12 fetch12;
2887 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
2889 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
2890 using FetchType13 =
typename FetchInfo13::type;
2891 FetchType13 fetch13;
2893 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
2895 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
2896 using FetchType14 =
typename FetchInfo14::type;
2897 FetchType14 fetch14;
2899 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
2901 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
2902 using ReturnFetchType =
typename FetchInfo0::type;
2903 ReturnFetchType returnFetch;
2913 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
2915 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
2916 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
2917 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
2918 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
2919 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
2920 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
2921 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
2922 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
2923 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
2924 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
2925 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
2926 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
2927 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
2928 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
2930 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
2933 template <
typename WorkletType,
2934 typename ParameterInterface,
2935 typename ControlInterface,
2937 typename OutputToInputMapType,
2938 typename VisitArrayType,
2939 typename ThreadToOutputMapType,
2940 typename DeviceAdapterTag,
2941 typename ThreadIndicesType,
2957 const WorkletType& worklet,
2958 const vtkm::internal::Invocation<ParameterInterface,
2960 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)>,
2962 OutputToInputMapType,
2964 ThreadToOutputMapType,
2965 DeviceAdapterTag>& invocation,
2966 const ThreadIndicesType& threadIndices)
2969 vtkm::internal::Invocation<ParameterInterface,
2971 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)>,
2973 OutputToInputMapType,
2975 ThreadToOutputMapType,
2978 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
2979 using FetchType1 =
typename FetchInfo1::type;
2982 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
2984 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
2985 using FetchType2 =
typename FetchInfo2::type;
2988 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
2990 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
2991 using FetchType3 =
typename FetchInfo3::type;
2994 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
2996 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
2997 using FetchType4 =
typename FetchInfo4::type;
3000 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3002 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3003 using FetchType5 =
typename FetchInfo5::type;
3006 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3008 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3009 using FetchType6 =
typename FetchInfo6::type;
3012 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3014 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3015 using FetchType7 =
typename FetchInfo7::type;
3018 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3020 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3021 using FetchType8 =
typename FetchInfo8::type;
3024 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3026 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3027 using FetchType9 =
typename FetchInfo9::type;
3030 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3032 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3033 using FetchType10 =
typename FetchInfo10::type;
3034 FetchType10 fetch10;
3036 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3038 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3039 using FetchType11 =
typename FetchInfo11::type;
3040 FetchType11 fetch11;
3042 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3044 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3045 using FetchType12 =
typename FetchInfo12::type;
3046 FetchType12 fetch12;
3048 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3050 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3051 using FetchType13 =
typename FetchInfo13::type;
3052 FetchType13 fetch13;
3054 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3056 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3057 using FetchType14 =
typename FetchInfo14::type;
3058 FetchType14 fetch14;
3060 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3071 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
3073 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3074 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3075 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3076 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3077 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3078 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3079 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3080 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3081 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3082 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3083 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3084 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3085 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3086 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3089 template <
typename WorkletType,
3090 typename ParameterInterface,
3091 typename ControlInterface,
3093 typename OutputToInputMapType,
3094 typename VisitArrayType,
3095 typename ThreadToOutputMapType,
3096 typename DeviceAdapterTag,
3097 typename ThreadIndicesType,
3115 const WorkletType& worklet,
3116 const vtkm::internal::Invocation<ParameterInterface,
3118 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)>,
3120 OutputToInputMapType,
3122 ThreadToOutputMapType,
3123 DeviceAdapterTag>& invocation,
3124 const ThreadIndicesType& threadIndices)
3126 using Invocation = vtkm::internal::Invocation<ParameterInterface,
3128 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)>,
3130 OutputToInputMapType,
3132 ThreadToOutputMapType,
3135 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
3136 using FetchType1 =
typename FetchInfo1::type;
3139 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
3141 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
3142 using FetchType2 =
typename FetchInfo2::type;
3145 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
3147 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
3148 using FetchType3 =
typename FetchInfo3::type;
3151 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
3153 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
3154 using FetchType4 =
typename FetchInfo4::type;
3157 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3159 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3160 using FetchType5 =
typename FetchInfo5::type;
3163 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3165 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3166 using FetchType6 =
typename FetchInfo6::type;
3169 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3171 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3172 using FetchType7 =
typename FetchInfo7::type;
3175 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3177 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3178 using FetchType8 =
typename FetchInfo8::type;
3181 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3183 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3184 using FetchType9 =
typename FetchInfo9::type;
3187 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3189 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3190 using FetchType10 =
typename FetchInfo10::type;
3191 FetchType10 fetch10;
3193 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3195 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3196 using FetchType11 =
typename FetchInfo11::type;
3197 FetchType11 fetch11;
3199 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3201 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3202 using FetchType12 =
typename FetchInfo12::type;
3203 FetchType12 fetch12;
3205 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3207 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3208 using FetchType13 =
typename FetchInfo13::type;
3209 FetchType13 fetch13;
3211 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3213 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3214 using FetchType14 =
typename FetchInfo14::type;
3215 FetchType14 fetch14;
3217 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3219 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
3220 using FetchType15 =
typename FetchInfo15::type;
3221 FetchType15 fetch15;
3223 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
3225 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
3226 using ReturnFetchType =
typename FetchInfo0::type;
3227 ReturnFetchType returnFetch;
3237 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
3239 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3240 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3241 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3242 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3243 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3244 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3245 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3246 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3247 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3248 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3249 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3250 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3251 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3252 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3253 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
3255 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
3258 template <
typename WorkletType,
3259 typename ParameterInterface,
3260 typename ControlInterface,
3262 typename OutputToInputMapType,
3263 typename VisitArrayType,
3264 typename ThreadToOutputMapType,
3265 typename DeviceAdapterTag,
3266 typename ThreadIndicesType,
3283 const WorkletType& worklet,
3284 const vtkm::internal::Invocation<ParameterInterface,
3286 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)>,
3288 OutputToInputMapType,
3290 ThreadToOutputMapType,
3291 DeviceAdapterTag>& invocation,
3292 const ThreadIndicesType& threadIndices)
3295 vtkm::internal::Invocation<ParameterInterface,
3297 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)>,
3299 OutputToInputMapType,
3301 ThreadToOutputMapType,
3304 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
3305 using FetchType1 =
typename FetchInfo1::type;
3308 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
3310 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
3311 using FetchType2 =
typename FetchInfo2::type;
3314 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
3316 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
3317 using FetchType3 =
typename FetchInfo3::type;
3320 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
3322 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
3323 using FetchType4 =
typename FetchInfo4::type;
3326 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3328 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3329 using FetchType5 =
typename FetchInfo5::type;
3332 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3334 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3335 using FetchType6 =
typename FetchInfo6::type;
3338 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3340 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3341 using FetchType7 =
typename FetchInfo7::type;
3344 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3346 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3347 using FetchType8 =
typename FetchInfo8::type;
3350 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3352 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3353 using FetchType9 =
typename FetchInfo9::type;
3356 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3358 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3359 using FetchType10 =
typename FetchInfo10::type;
3360 FetchType10 fetch10;
3362 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3364 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3365 using FetchType11 =
typename FetchInfo11::type;
3366 FetchType11 fetch11;
3368 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3370 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3371 using FetchType12 =
typename FetchInfo12::type;
3372 FetchType12 fetch12;
3374 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3376 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3377 using FetchType13 =
typename FetchInfo13::type;
3378 FetchType13 fetch13;
3380 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3382 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3383 using FetchType14 =
typename FetchInfo14::type;
3384 FetchType14 fetch14;
3386 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3388 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
3389 using FetchType15 =
typename FetchInfo15::type;
3390 FetchType15 fetch15;
3392 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
3403 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
3405 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3406 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3407 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3408 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3409 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3410 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3411 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3412 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3413 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3414 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3415 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3416 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3417 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3418 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3419 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
3422 template <
typename WorkletType,
3423 typename ParameterInterface,
3424 typename ControlInterface,
3426 typename OutputToInputMapType,
3427 typename VisitArrayType,
3428 typename ThreadToOutputMapType,
3429 typename DeviceAdapterTag,
3430 typename ThreadIndicesType,
3449 const WorkletType& worklet,
3450 const vtkm::internal::Invocation<ParameterInterface,
3452 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)>,
3454 OutputToInputMapType,
3456 ThreadToOutputMapType,
3457 DeviceAdapterTag>& invocation,
3458 const ThreadIndicesType& threadIndices)
3460 using Invocation = vtkm::internal::Invocation<ParameterInterface,
3462 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)>,
3464 OutputToInputMapType,
3466 ThreadToOutputMapType,
3469 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
3470 using FetchType1 =
typename FetchInfo1::type;
3473 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
3475 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
3476 using FetchType2 =
typename FetchInfo2::type;
3479 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
3481 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
3482 using FetchType3 =
typename FetchInfo3::type;
3485 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
3487 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
3488 using FetchType4 =
typename FetchInfo4::type;
3491 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3493 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3494 using FetchType5 =
typename FetchInfo5::type;
3497 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3499 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3500 using FetchType6 =
typename FetchInfo6::type;
3503 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3505 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3506 using FetchType7 =
typename FetchInfo7::type;
3509 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3511 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3512 using FetchType8 =
typename FetchInfo8::type;
3515 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3517 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3518 using FetchType9 =
typename FetchInfo9::type;
3521 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3523 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3524 using FetchType10 =
typename FetchInfo10::type;
3525 FetchType10 fetch10;
3527 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3529 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3530 using FetchType11 =
typename FetchInfo11::type;
3531 FetchType11 fetch11;
3533 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3535 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3536 using FetchType12 =
typename FetchInfo12::type;
3537 FetchType12 fetch12;
3539 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3541 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3542 using FetchType13 =
typename FetchInfo13::type;
3543 FetchType13 fetch13;
3545 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3547 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3548 using FetchType14 =
typename FetchInfo14::type;
3549 FetchType14 fetch14;
3551 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3553 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
3554 using FetchType15 =
typename FetchInfo15::type;
3555 FetchType15 fetch15;
3557 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
3559 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
3560 using FetchType16 =
typename FetchInfo16::type;
3561 FetchType16 fetch16;
3563 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
3565 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
3566 using ReturnFetchType =
typename FetchInfo0::type;
3567 ReturnFetchType returnFetch;
3577 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16);
3579 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3580 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3581 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3582 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3583 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3584 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3585 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3586 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3587 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3588 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3589 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3590 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3591 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3592 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3593 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
3594 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
3596 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
3599 template <
typename WorkletType,
3600 typename ParameterInterface,
3601 typename ControlInterface,
3603 typename OutputToInputMapType,
3604 typename VisitArrayType,
3605 typename ThreadToOutputMapType,
3606 typename DeviceAdapterTag,
3607 typename ThreadIndicesType,
3625 const WorkletType& worklet,
3626 const vtkm::internal::Invocation<ParameterInterface,
3628 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)>,
3630 OutputToInputMapType,
3632 ThreadToOutputMapType,
3633 DeviceAdapterTag>& invocation,
3634 const ThreadIndicesType& threadIndices)
3637 vtkm::internal::Invocation<ParameterInterface,
3639 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)>,
3641 OutputToInputMapType,
3643 ThreadToOutputMapType,
3646 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
3647 using FetchType1 =
typename FetchInfo1::type;
3650 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
3652 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
3653 using FetchType2 =
typename FetchInfo2::type;
3656 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
3658 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
3659 using FetchType3 =
typename FetchInfo3::type;
3662 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
3664 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
3665 using FetchType4 =
typename FetchInfo4::type;
3668 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3670 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3671 using FetchType5 =
typename FetchInfo5::type;
3674 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3676 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3677 using FetchType6 =
typename FetchInfo6::type;
3680 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3682 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3683 using FetchType7 =
typename FetchInfo7::type;
3686 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3688 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3689 using FetchType8 =
typename FetchInfo8::type;
3692 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3694 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3695 using FetchType9 =
typename FetchInfo9::type;
3698 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3700 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3701 using FetchType10 =
typename FetchInfo10::type;
3702 FetchType10 fetch10;
3704 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3706 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3707 using FetchType11 =
typename FetchInfo11::type;
3708 FetchType11 fetch11;
3710 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3712 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3713 using FetchType12 =
typename FetchInfo12::type;
3714 FetchType12 fetch12;
3716 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3718 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3719 using FetchType13 =
typename FetchInfo13::type;
3720 FetchType13 fetch13;
3722 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3724 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3725 using FetchType14 =
typename FetchInfo14::type;
3726 FetchType14 fetch14;
3728 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3730 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
3731 using FetchType15 =
typename FetchInfo15::type;
3732 FetchType15 fetch15;
3734 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
3736 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
3737 using FetchType16 =
typename FetchInfo16::type;
3738 FetchType16 fetch16;
3740 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
3751 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16);
3753 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3754 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3755 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3756 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3757 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3758 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3759 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3760 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3761 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3762 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3763 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3764 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3765 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3766 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3767 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
3768 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
3771 template <
typename WorkletType,
3772 typename ParameterInterface,
3773 typename ControlInterface,
3775 typename OutputToInputMapType,
3776 typename VisitArrayType,
3777 typename ThreadToOutputMapType,
3778 typename DeviceAdapterTag,
3779 typename ThreadIndicesType,
3799 const WorkletType& worklet,
3800 const vtkm::internal::Invocation<ParameterInterface,
3802 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)>,
3804 OutputToInputMapType,
3806 ThreadToOutputMapType,
3807 DeviceAdapterTag>& invocation,
3808 const ThreadIndicesType& threadIndices)
3810 using Invocation = vtkm::internal::Invocation<ParameterInterface,
3812 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)>,
3814 OutputToInputMapType,
3816 ThreadToOutputMapType,
3819 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
3820 using FetchType1 =
typename FetchInfo1::type;
3823 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
3825 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
3826 using FetchType2 =
typename FetchInfo2::type;
3829 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
3831 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
3832 using FetchType3 =
typename FetchInfo3::type;
3835 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
3837 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
3838 using FetchType4 =
typename FetchInfo4::type;
3841 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
3843 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
3844 using FetchType5 =
typename FetchInfo5::type;
3847 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
3849 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
3850 using FetchType6 =
typename FetchInfo6::type;
3853 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
3855 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
3856 using FetchType7 =
typename FetchInfo7::type;
3859 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
3861 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
3862 using FetchType8 =
typename FetchInfo8::type;
3865 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
3867 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
3868 using FetchType9 =
typename FetchInfo9::type;
3871 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
3873 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
3874 using FetchType10 =
typename FetchInfo10::type;
3875 FetchType10 fetch10;
3877 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
3879 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
3880 using FetchType11 =
typename FetchInfo11::type;
3881 FetchType11 fetch11;
3883 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
3885 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
3886 using FetchType12 =
typename FetchInfo12::type;
3887 FetchType12 fetch12;
3889 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
3891 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
3892 using FetchType13 =
typename FetchInfo13::type;
3893 FetchType13 fetch13;
3895 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
3897 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
3898 using FetchType14 =
typename FetchInfo14::type;
3899 FetchType14 fetch14;
3901 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
3903 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
3904 using FetchType15 =
typename FetchInfo15::type;
3905 FetchType15 fetch15;
3907 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
3909 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
3910 using FetchType16 =
typename FetchInfo16::type;
3911 FetchType16 fetch16;
3913 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
3915 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
3916 using FetchType17 =
typename FetchInfo17::type;
3917 FetchType17 fetch17;
3919 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
3921 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
3922 using ReturnFetchType =
typename FetchInfo0::type;
3923 ReturnFetchType returnFetch;
3933 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
3935 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
3936 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
3937 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
3938 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
3939 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
3940 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
3941 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
3942 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
3943 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
3944 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
3945 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
3946 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
3947 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
3948 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
3949 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
3950 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
3951 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
3953 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
3956 template <
typename WorkletType,
3957 typename ParameterInterface,
3958 typename ControlInterface,
3960 typename OutputToInputMapType,
3961 typename VisitArrayType,
3962 typename ThreadToOutputMapType,
3963 typename DeviceAdapterTag,
3964 typename ThreadIndicesType,
3983 const WorkletType& worklet,
3984 const vtkm::internal::Invocation<ParameterInterface,
3986 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)>,
3988 OutputToInputMapType,
3990 ThreadToOutputMapType,
3991 DeviceAdapterTag>& invocation,
3992 const ThreadIndicesType& threadIndices)
3995 vtkm::internal::Invocation<ParameterInterface,
3997 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)>,
3999 OutputToInputMapType,
4001 ThreadToOutputMapType,
4004 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4005 using FetchType1 =
typename FetchInfo1::type;
4008 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4010 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4011 using FetchType2 =
typename FetchInfo2::type;
4014 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4016 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4017 using FetchType3 =
typename FetchInfo3::type;
4020 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4022 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4023 using FetchType4 =
typename FetchInfo4::type;
4026 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4028 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4029 using FetchType5 =
typename FetchInfo5::type;
4032 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4034 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4035 using FetchType6 =
typename FetchInfo6::type;
4038 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
4040 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
4041 using FetchType7 =
typename FetchInfo7::type;
4044 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
4046 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
4047 using FetchType8 =
typename FetchInfo8::type;
4050 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
4052 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
4053 using FetchType9 =
typename FetchInfo9::type;
4056 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
4058 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
4059 using FetchType10 =
typename FetchInfo10::type;
4060 FetchType10 fetch10;
4062 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
4064 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
4065 using FetchType11 =
typename FetchInfo11::type;
4066 FetchType11 fetch11;
4068 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
4070 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
4071 using FetchType12 =
typename FetchInfo12::type;
4072 FetchType12 fetch12;
4074 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
4076 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
4077 using FetchType13 =
typename FetchInfo13::type;
4078 FetchType13 fetch13;
4080 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
4082 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
4083 using FetchType14 =
typename FetchInfo14::type;
4084 FetchType14 fetch14;
4086 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
4088 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
4089 using FetchType15 =
typename FetchInfo15::type;
4090 FetchType15 fetch15;
4092 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
4094 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
4095 using FetchType16 =
typename FetchInfo16::type;
4096 FetchType16 fetch16;
4098 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
4100 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
4101 using FetchType17 =
typename FetchInfo17::type;
4102 FetchType17 fetch17;
4104 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
4115 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
4117 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
4118 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
4119 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
4120 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
4121 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
4122 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
4123 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
4124 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
4125 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
4126 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
4127 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
4128 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
4129 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
4130 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
4131 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
4132 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
4133 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
4136 template <
typename WorkletType,
4137 typename ParameterInterface,
4138 typename ControlInterface,
4140 typename OutputToInputMapType,
4141 typename VisitArrayType,
4142 typename ThreadToOutputMapType,
4143 typename DeviceAdapterTag,
4144 typename ThreadIndicesType,
4165 const WorkletType& worklet,
4166 const vtkm::internal::Invocation<ParameterInterface,
4168 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)>,
4170 OutputToInputMapType,
4172 ThreadToOutputMapType,
4173 DeviceAdapterTag>& invocation,
4174 const ThreadIndicesType& threadIndices)
4176 using Invocation = vtkm::internal::Invocation<ParameterInterface,
4178 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)>,
4180 OutputToInputMapType,
4182 ThreadToOutputMapType,
4185 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4186 using FetchType1 =
typename FetchInfo1::type;
4189 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4191 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4192 using FetchType2 =
typename FetchInfo2::type;
4195 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4197 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4198 using FetchType3 =
typename FetchInfo3::type;
4201 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4203 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4204 using FetchType4 =
typename FetchInfo4::type;
4207 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4209 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4210 using FetchType5 =
typename FetchInfo5::type;
4213 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4215 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4216 using FetchType6 =
typename FetchInfo6::type;
4219 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
4221 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
4222 using FetchType7 =
typename FetchInfo7::type;
4225 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
4227 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
4228 using FetchType8 =
typename FetchInfo8::type;
4231 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
4233 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
4234 using FetchType9 =
typename FetchInfo9::type;
4237 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
4239 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
4240 using FetchType10 =
typename FetchInfo10::type;
4241 FetchType10 fetch10;
4243 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
4245 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
4246 using FetchType11 =
typename FetchInfo11::type;
4247 FetchType11 fetch11;
4249 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
4251 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
4252 using FetchType12 =
typename FetchInfo12::type;
4253 FetchType12 fetch12;
4255 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
4257 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
4258 using FetchType13 =
typename FetchInfo13::type;
4259 FetchType13 fetch13;
4261 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
4263 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
4264 using FetchType14 =
typename FetchInfo14::type;
4265 FetchType14 fetch14;
4267 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
4269 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
4270 using FetchType15 =
typename FetchInfo15::type;
4271 FetchType15 fetch15;
4273 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
4275 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
4276 using FetchType16 =
typename FetchInfo16::type;
4277 FetchType16 fetch16;
4279 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
4281 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
4282 using FetchType17 =
typename FetchInfo17::type;
4283 FetchType17 fetch17;
4285 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
4287 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
4288 using FetchType18 =
typename FetchInfo18::type;
4289 FetchType18 fetch18;
4291 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
4293 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
4294 using ReturnFetchType =
typename FetchInfo0::type;
4295 ReturnFetchType returnFetch;
4305 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
4307 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
4308 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
4309 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
4310 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
4311 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
4312 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
4313 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
4314 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
4315 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
4316 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
4317 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
4318 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
4319 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
4320 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
4321 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
4322 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
4323 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
4324 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
4326 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
4329 template <
typename WorkletType,
4330 typename ParameterInterface,
4331 typename ControlInterface,
4333 typename OutputToInputMapType,
4334 typename VisitArrayType,
4335 typename ThreadToOutputMapType,
4336 typename DeviceAdapterTag,
4337 typename ThreadIndicesType,
4357 const WorkletType& worklet,
4358 const vtkm::internal::Invocation<ParameterInterface,
4360 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)>,
4362 OutputToInputMapType,
4364 ThreadToOutputMapType,
4365 DeviceAdapterTag>& invocation,
4366 const ThreadIndicesType& threadIndices)
4369 vtkm::internal::Invocation<ParameterInterface,
4371 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)>,
4373 OutputToInputMapType,
4375 ThreadToOutputMapType,
4378 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4379 using FetchType1 =
typename FetchInfo1::type;
4382 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4384 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4385 using FetchType2 =
typename FetchInfo2::type;
4388 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4390 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4391 using FetchType3 =
typename FetchInfo3::type;
4394 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4396 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4397 using FetchType4 =
typename FetchInfo4::type;
4400 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4402 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4403 using FetchType5 =
typename FetchInfo5::type;
4406 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4408 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4409 using FetchType6 =
typename FetchInfo6::type;
4412 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
4414 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
4415 using FetchType7 =
typename FetchInfo7::type;
4418 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
4420 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
4421 using FetchType8 =
typename FetchInfo8::type;
4424 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
4426 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
4427 using FetchType9 =
typename FetchInfo9::type;
4430 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
4432 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
4433 using FetchType10 =
typename FetchInfo10::type;
4434 FetchType10 fetch10;
4436 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
4438 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
4439 using FetchType11 =
typename FetchInfo11::type;
4440 FetchType11 fetch11;
4442 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
4444 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
4445 using FetchType12 =
typename FetchInfo12::type;
4446 FetchType12 fetch12;
4448 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
4450 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
4451 using FetchType13 =
typename FetchInfo13::type;
4452 FetchType13 fetch13;
4454 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
4456 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
4457 using FetchType14 =
typename FetchInfo14::type;
4458 FetchType14 fetch14;
4460 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
4462 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
4463 using FetchType15 =
typename FetchInfo15::type;
4464 FetchType15 fetch15;
4466 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
4468 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
4469 using FetchType16 =
typename FetchInfo16::type;
4470 FetchType16 fetch16;
4472 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
4474 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
4475 using FetchType17 =
typename FetchInfo17::type;
4476 FetchType17 fetch17;
4478 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
4480 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
4481 using FetchType18 =
typename FetchInfo18::type;
4482 FetchType18 fetch18;
4484 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
4495 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
4497 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
4498 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
4499 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
4500 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
4501 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
4502 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
4503 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
4504 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
4505 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
4506 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
4507 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
4508 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
4509 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
4510 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
4511 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
4512 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
4513 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
4514 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
4517 template <
typename WorkletType,
4518 typename ParameterInterface,
4519 typename ControlInterface,
4521 typename OutputToInputMapType,
4522 typename VisitArrayType,
4523 typename ThreadToOutputMapType,
4524 typename DeviceAdapterTag,
4525 typename ThreadIndicesType,
4547 const WorkletType& worklet,
4548 const vtkm::internal::Invocation<ParameterInterface,
4550 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)>,
4552 OutputToInputMapType,
4554 ThreadToOutputMapType,
4555 DeviceAdapterTag>& invocation,
4556 const ThreadIndicesType& threadIndices)
4558 using Invocation = vtkm::internal::Invocation<ParameterInterface,
4560 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)>,
4562 OutputToInputMapType,
4564 ThreadToOutputMapType,
4567 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4568 using FetchType1 =
typename FetchInfo1::type;
4571 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4573 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4574 using FetchType2 =
typename FetchInfo2::type;
4577 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4579 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4580 using FetchType3 =
typename FetchInfo3::type;
4583 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4585 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4586 using FetchType4 =
typename FetchInfo4::type;
4589 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4591 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4592 using FetchType5 =
typename FetchInfo5::type;
4595 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4597 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4598 using FetchType6 =
typename FetchInfo6::type;
4601 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
4603 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
4604 using FetchType7 =
typename FetchInfo7::type;
4607 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
4609 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
4610 using FetchType8 =
typename FetchInfo8::type;
4613 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
4615 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
4616 using FetchType9 =
typename FetchInfo9::type;
4619 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
4621 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
4622 using FetchType10 =
typename FetchInfo10::type;
4623 FetchType10 fetch10;
4625 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
4627 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
4628 using FetchType11 =
typename FetchInfo11::type;
4629 FetchType11 fetch11;
4631 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
4633 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
4634 using FetchType12 =
typename FetchInfo12::type;
4635 FetchType12 fetch12;
4637 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
4639 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
4640 using FetchType13 =
typename FetchInfo13::type;
4641 FetchType13 fetch13;
4643 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
4645 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
4646 using FetchType14 =
typename FetchInfo14::type;
4647 FetchType14 fetch14;
4649 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
4651 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
4652 using FetchType15 =
typename FetchInfo15::type;
4653 FetchType15 fetch15;
4655 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
4657 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
4658 using FetchType16 =
typename FetchInfo16::type;
4659 FetchType16 fetch16;
4661 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
4663 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
4664 using FetchType17 =
typename FetchInfo17::type;
4665 FetchType17 fetch17;
4667 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
4669 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
4670 using FetchType18 =
typename FetchInfo18::type;
4671 FetchType18 fetch18;
4673 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
4675 using FetchInfo19 = InvocationToFetch<ThreadIndicesType, Invocation, 19>;
4676 using FetchType19 =
typename FetchInfo19::type;
4677 FetchType19 fetch19;
4679 fetch19.Load(threadIndices, FetchInfo19::GetParameter(invocation));
4681 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
4682 using ReturnFetchType =
typename FetchInfo0::type;
4683 ReturnFetchType returnFetch;
4693 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19);
4695 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
4696 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
4697 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
4698 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
4699 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
4700 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
4701 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
4702 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
4703 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
4704 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
4705 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
4706 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
4707 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
4708 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
4709 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
4710 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
4711 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
4712 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
4713 fetch19.Store(threadIndices, FetchInfo19::GetParameter(invocation), p19);
4715 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
4718 template <
typename WorkletType,
4719 typename ParameterInterface,
4720 typename ControlInterface,
4722 typename OutputToInputMapType,
4723 typename VisitArrayType,
4724 typename ThreadToOutputMapType,
4725 typename DeviceAdapterTag,
4726 typename ThreadIndicesType,
4747 const WorkletType& worklet,
4748 const vtkm::internal::Invocation<ParameterInterface,
4750 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)>,
4752 OutputToInputMapType,
4754 ThreadToOutputMapType,
4755 DeviceAdapterTag>& invocation,
4756 const ThreadIndicesType& threadIndices)
4759 vtkm::internal::Invocation<ParameterInterface,
4761 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)>,
4763 OutputToInputMapType,
4765 ThreadToOutputMapType,
4768 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4769 using FetchType1 =
typename FetchInfo1::type;
4772 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4774 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4775 using FetchType2 =
typename FetchInfo2::type;
4778 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4780 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4781 using FetchType3 =
typename FetchInfo3::type;
4784 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4786 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4787 using FetchType4 =
typename FetchInfo4::type;
4790 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4792 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4793 using FetchType5 =
typename FetchInfo5::type;
4796 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4798 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4799 using FetchType6 =
typename FetchInfo6::type;
4802 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
4804 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
4805 using FetchType7 =
typename FetchInfo7::type;
4808 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
4810 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
4811 using FetchType8 =
typename FetchInfo8::type;
4814 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
4816 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
4817 using FetchType9 =
typename FetchInfo9::type;
4820 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
4822 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
4823 using FetchType10 =
typename FetchInfo10::type;
4824 FetchType10 fetch10;
4826 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
4828 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
4829 using FetchType11 =
typename FetchInfo11::type;
4830 FetchType11 fetch11;
4832 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
4834 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
4835 using FetchType12 =
typename FetchInfo12::type;
4836 FetchType12 fetch12;
4838 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
4840 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
4841 using FetchType13 =
typename FetchInfo13::type;
4842 FetchType13 fetch13;
4844 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
4846 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
4847 using FetchType14 =
typename FetchInfo14::type;
4848 FetchType14 fetch14;
4850 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
4852 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
4853 using FetchType15 =
typename FetchInfo15::type;
4854 FetchType15 fetch15;
4856 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
4858 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
4859 using FetchType16 =
typename FetchInfo16::type;
4860 FetchType16 fetch16;
4862 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
4864 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
4865 using FetchType17 =
typename FetchInfo17::type;
4866 FetchType17 fetch17;
4868 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
4870 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
4871 using FetchType18 =
typename FetchInfo18::type;
4872 FetchType18 fetch18;
4874 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
4876 using FetchInfo19 = InvocationToFetch<ThreadIndicesType, Invocation, 19>;
4877 using FetchType19 =
typename FetchInfo19::type;
4878 FetchType19 fetch19;
4880 fetch19.Load(threadIndices, FetchInfo19::GetParameter(invocation));
4891 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19);
4893 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
4894 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
4895 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
4896 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
4897 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
4898 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
4899 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
4900 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
4901 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
4902 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
4903 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
4904 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
4905 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
4906 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
4907 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
4908 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
4909 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
4910 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
4911 fetch19.Store(threadIndices, FetchInfo19::GetParameter(invocation), p19);
4914 template <
typename WorkletType,
4915 typename ParameterInterface,
4916 typename ControlInterface,
4918 typename OutputToInputMapType,
4919 typename VisitArrayType,
4920 typename ThreadToOutputMapType,
4921 typename DeviceAdapterTag,
4922 typename ThreadIndicesType,
4945 const WorkletType& worklet,
4946 const vtkm::internal::Invocation<ParameterInterface,
4948 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)>,
4950 OutputToInputMapType,
4952 ThreadToOutputMapType,
4953 DeviceAdapterTag>& invocation,
4954 const ThreadIndicesType& threadIndices)
4956 using Invocation = vtkm::internal::Invocation<ParameterInterface,
4958 vtkm::internal::FunctionInterface<R(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)>,
4960 OutputToInputMapType,
4962 ThreadToOutputMapType,
4965 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
4966 using FetchType1 =
typename FetchInfo1::type;
4969 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
4971 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
4972 using FetchType2 =
typename FetchInfo2::type;
4975 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
4977 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
4978 using FetchType3 =
typename FetchInfo3::type;
4981 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
4983 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
4984 using FetchType4 =
typename FetchInfo4::type;
4987 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
4989 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
4990 using FetchType5 =
typename FetchInfo5::type;
4993 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
4995 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
4996 using FetchType6 =
typename FetchInfo6::type;
4999 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
5001 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
5002 using FetchType7 =
typename FetchInfo7::type;
5005 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
5007 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
5008 using FetchType8 =
typename FetchInfo8::type;
5011 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
5013 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
5014 using FetchType9 =
typename FetchInfo9::type;
5017 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
5019 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
5020 using FetchType10 =
typename FetchInfo10::type;
5021 FetchType10 fetch10;
5023 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
5025 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
5026 using FetchType11 =
typename FetchInfo11::type;
5027 FetchType11 fetch11;
5029 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
5031 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
5032 using FetchType12 =
typename FetchInfo12::type;
5033 FetchType12 fetch12;
5035 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
5037 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
5038 using FetchType13 =
typename FetchInfo13::type;
5039 FetchType13 fetch13;
5041 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
5043 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
5044 using FetchType14 =
typename FetchInfo14::type;
5045 FetchType14 fetch14;
5047 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
5049 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
5050 using FetchType15 =
typename FetchInfo15::type;
5051 FetchType15 fetch15;
5053 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
5055 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
5056 using FetchType16 =
typename FetchInfo16::type;
5057 FetchType16 fetch16;
5059 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
5061 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
5062 using FetchType17 =
typename FetchInfo17::type;
5063 FetchType17 fetch17;
5065 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
5067 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
5068 using FetchType18 =
typename FetchInfo18::type;
5069 FetchType18 fetch18;
5071 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
5073 using FetchInfo19 = InvocationToFetch<ThreadIndicesType, Invocation, 19>;
5074 using FetchType19 =
typename FetchInfo19::type;
5075 FetchType19 fetch19;
5077 fetch19.Load(threadIndices, FetchInfo19::GetParameter(invocation));
5079 using FetchInfo20 = InvocationToFetch<ThreadIndicesType, Invocation, 20>;
5080 using FetchType20 =
typename FetchInfo20::type;
5081 FetchType20 fetch20;
5083 fetch20.Load(threadIndices, FetchInfo20::GetParameter(invocation));
5085 using FetchInfo0 = InvocationToFetch<ThreadIndicesType, Invocation, 0>;
5086 using ReturnFetchType =
typename FetchInfo0::type;
5087 ReturnFetchType returnFetch;
5097 auto r = worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20);
5099 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
5100 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
5101 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
5102 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
5103 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
5104 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
5105 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
5106 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
5107 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
5108 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
5109 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
5110 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
5111 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
5112 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
5113 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
5114 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
5115 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
5116 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
5117 fetch19.Store(threadIndices, FetchInfo19::GetParameter(invocation), p19);
5118 fetch20.Store(threadIndices, FetchInfo20::GetParameter(invocation), p20);
5120 returnFetch.Store(threadIndices, FetchInfo0::GetParameter(invocation), r);
5123 template <
typename WorkletType,
5124 typename ParameterInterface,
5125 typename ControlInterface,
5127 typename OutputToInputMapType,
5128 typename VisitArrayType,
5129 typename ThreadToOutputMapType,
5130 typename DeviceAdapterTag,
5131 typename ThreadIndicesType,
5153 const WorkletType& worklet,
5154 const vtkm::internal::Invocation<ParameterInterface,
5156 vtkm::internal::FunctionInterface<
void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)>,
5158 OutputToInputMapType,
5160 ThreadToOutputMapType,
5161 DeviceAdapterTag>& invocation,
5162 const ThreadIndicesType& threadIndices)
5165 vtkm::internal::Invocation<ParameterInterface,
5167 vtkm::internal::FunctionInterface<void(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)>,
5169 OutputToInputMapType,
5171 ThreadToOutputMapType,
5174 using FetchInfo1 = InvocationToFetch<ThreadIndicesType, Invocation, 1>;
5175 using FetchType1 =
typename FetchInfo1::type;
5178 fetch1.Load(threadIndices, FetchInfo1::GetParameter(invocation));
5180 using FetchInfo2 = InvocationToFetch<ThreadIndicesType, Invocation, 2>;
5181 using FetchType2 =
typename FetchInfo2::type;
5184 fetch2.Load(threadIndices, FetchInfo2::GetParameter(invocation));
5186 using FetchInfo3 = InvocationToFetch<ThreadIndicesType, Invocation, 3>;
5187 using FetchType3 =
typename FetchInfo3::type;
5190 fetch3.Load(threadIndices, FetchInfo3::GetParameter(invocation));
5192 using FetchInfo4 = InvocationToFetch<ThreadIndicesType, Invocation, 4>;
5193 using FetchType4 =
typename FetchInfo4::type;
5196 fetch4.Load(threadIndices, FetchInfo4::GetParameter(invocation));
5198 using FetchInfo5 = InvocationToFetch<ThreadIndicesType, Invocation, 5>;
5199 using FetchType5 =
typename FetchInfo5::type;
5202 fetch5.Load(threadIndices, FetchInfo5::GetParameter(invocation));
5204 using FetchInfo6 = InvocationToFetch<ThreadIndicesType, Invocation, 6>;
5205 using FetchType6 =
typename FetchInfo6::type;
5208 fetch6.Load(threadIndices, FetchInfo6::GetParameter(invocation));
5210 using FetchInfo7 = InvocationToFetch<ThreadIndicesType, Invocation, 7>;
5211 using FetchType7 =
typename FetchInfo7::type;
5214 fetch7.Load(threadIndices, FetchInfo7::GetParameter(invocation));
5216 using FetchInfo8 = InvocationToFetch<ThreadIndicesType, Invocation, 8>;
5217 using FetchType8 =
typename FetchInfo8::type;
5220 fetch8.Load(threadIndices, FetchInfo8::GetParameter(invocation));
5222 using FetchInfo9 = InvocationToFetch<ThreadIndicesType, Invocation, 9>;
5223 using FetchType9 =
typename FetchInfo9::type;
5226 fetch9.Load(threadIndices, FetchInfo9::GetParameter(invocation));
5228 using FetchInfo10 = InvocationToFetch<ThreadIndicesType, Invocation, 10>;
5229 using FetchType10 =
typename FetchInfo10::type;
5230 FetchType10 fetch10;
5232 fetch10.Load(threadIndices, FetchInfo10::GetParameter(invocation));
5234 using FetchInfo11 = InvocationToFetch<ThreadIndicesType, Invocation, 11>;
5235 using FetchType11 =
typename FetchInfo11::type;
5236 FetchType11 fetch11;
5238 fetch11.Load(threadIndices, FetchInfo11::GetParameter(invocation));
5240 using FetchInfo12 = InvocationToFetch<ThreadIndicesType, Invocation, 12>;
5241 using FetchType12 =
typename FetchInfo12::type;
5242 FetchType12 fetch12;
5244 fetch12.Load(threadIndices, FetchInfo12::GetParameter(invocation));
5246 using FetchInfo13 = InvocationToFetch<ThreadIndicesType, Invocation, 13>;
5247 using FetchType13 =
typename FetchInfo13::type;
5248 FetchType13 fetch13;
5250 fetch13.Load(threadIndices, FetchInfo13::GetParameter(invocation));
5252 using FetchInfo14 = InvocationToFetch<ThreadIndicesType, Invocation, 14>;
5253 using FetchType14 =
typename FetchInfo14::type;
5254 FetchType14 fetch14;
5256 fetch14.Load(threadIndices, FetchInfo14::GetParameter(invocation));
5258 using FetchInfo15 = InvocationToFetch<ThreadIndicesType, Invocation, 15>;
5259 using FetchType15 =
typename FetchInfo15::type;
5260 FetchType15 fetch15;
5262 fetch15.Load(threadIndices, FetchInfo15::GetParameter(invocation));
5264 using FetchInfo16 = InvocationToFetch<ThreadIndicesType, Invocation, 16>;
5265 using FetchType16 =
typename FetchInfo16::type;
5266 FetchType16 fetch16;
5268 fetch16.Load(threadIndices, FetchInfo16::GetParameter(invocation));
5270 using FetchInfo17 = InvocationToFetch<ThreadIndicesType, Invocation, 17>;
5271 using FetchType17 =
typename FetchInfo17::type;
5272 FetchType17 fetch17;
5274 fetch17.Load(threadIndices, FetchInfo17::GetParameter(invocation));
5276 using FetchInfo18 = InvocationToFetch<ThreadIndicesType, Invocation, 18>;
5277 using FetchType18 =
typename FetchInfo18::type;
5278 FetchType18 fetch18;
5280 fetch18.Load(threadIndices, FetchInfo18::GetParameter(invocation));
5282 using FetchInfo19 = InvocationToFetch<ThreadIndicesType, Invocation, 19>;
5283 using FetchType19 =
typename FetchInfo19::type;
5284 FetchType19 fetch19;
5286 fetch19.Load(threadIndices, FetchInfo19::GetParameter(invocation));
5288 using FetchInfo20 = InvocationToFetch<ThreadIndicesType, Invocation, 20>;
5289 using FetchType20 =
typename FetchInfo20::type;
5290 FetchType20 fetch20;
5292 fetch20.Load(threadIndices, FetchInfo20::GetParameter(invocation));
5303 worklet(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20);
5305 fetch1.Store(threadIndices, FetchInfo1::GetParameter(invocation), p1);
5306 fetch2.Store(threadIndices, FetchInfo2::GetParameter(invocation), p2);
5307 fetch3.Store(threadIndices, FetchInfo3::GetParameter(invocation), p3);
5308 fetch4.Store(threadIndices, FetchInfo4::GetParameter(invocation), p4);
5309 fetch5.Store(threadIndices, FetchInfo5::GetParameter(invocation), p5);
5310 fetch6.Store(threadIndices, FetchInfo6::GetParameter(invocation), p6);
5311 fetch7.Store(threadIndices, FetchInfo7::GetParameter(invocation), p7);
5312 fetch8.Store(threadIndices, FetchInfo8::GetParameter(invocation), p8);
5313 fetch9.Store(threadIndices, FetchInfo9::GetParameter(invocation), p9);
5314 fetch10.Store(threadIndices, FetchInfo10::GetParameter(invocation), p10);
5315 fetch11.Store(threadIndices, FetchInfo11::GetParameter(invocation), p11);
5316 fetch12.Store(threadIndices, FetchInfo12::GetParameter(invocation), p12);
5317 fetch13.Store(threadIndices, FetchInfo13::GetParameter(invocation), p13);
5318 fetch14.Store(threadIndices, FetchInfo14::GetParameter(invocation), p14);
5319 fetch15.Store(threadIndices, FetchInfo15::GetParameter(invocation), p15);
5320 fetch16.Store(threadIndices, FetchInfo16::GetParameter(invocation), p16);
5321 fetch17.Store(threadIndices, FetchInfo17::GetParameter(invocation), p17);
5322 fetch18.Store(threadIndices, FetchInfo18::GetParameter(invocation), p18);
5323 fetch19.Store(threadIndices, FetchInfo19::GetParameter(invocation), p19);
5324 fetch20.Store(threadIndices, FetchInfo20::GetParameter(invocation), p20);
5333 #endif //vtk_m_exec_internal_WorkletInvokeFunctorDetail_h