Lines Matching refs:array

23   RT_API_ATTRS ReduceAccumulator(const Descriptor &array, Operation operation,
25 : array_{array}, operation_{operation}, identity_{identity},
64 RT_API_ATTRS BufferedReduceAccumulator(const Descriptor &array, OP operation,
66 : array_{array}, operation_{operation}, identity_{identity},
112 std::int8_t RTDEF(ReduceInteger1Ref)(const Descriptor &array,
117 return GetTotalReduction<TypeCategory::Integer, 1>(array, source, line, dim,
120 array, operation, identity, terminator},
123 std::int8_t RTDEF(ReduceInteger1Value)(const Descriptor &array,
128 return GetTotalReduction<TypeCategory::Integer, 1>(array, source, line, dim,
131 array, operation, identity, terminator},
134 void RTDEF(ReduceInteger1DimRef)(Descriptor &result, const Descriptor &array,
140 Accumulator accumulator{array, operation, identity, terminator};
141 PartialReduction<Accumulator, TypeCategory::Integer, 1>(result, array,
142 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
144 void RTDEF(ReduceInteger1DimValue)(Descriptor &result, const Descriptor &array,
150 Accumulator accumulator{array, operation, identity, terminator};
151 PartialReduction<Accumulator, TypeCategory::Integer, 1>(result, array,
152 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
154 std::int16_t RTDEF(ReduceInteger2Ref)(const Descriptor &array,
159 return GetTotalReduction<TypeCategory::Integer, 2>(array, source, line, dim,
162 array, operation, identity, terminator},
165 std::int16_t RTDEF(ReduceInteger2Value)(const Descriptor &array,
170 return GetTotalReduction<TypeCategory::Integer, 2>(array, source, line, dim,
173 array, operation, identity, terminator},
176 void RTDEF(ReduceInteger2DimRef)(Descriptor &result, const Descriptor &array,
182 Accumulator accumulator{array, operation, identity, terminator};
183 PartialReduction<Accumulator, TypeCategory::Integer, 2>(result, array,
184 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
186 void RTDEF(ReduceInteger2DimValue)(Descriptor &result, const Descriptor &array,
192 Accumulator accumulator{array, operation, identity, terminator};
193 PartialReduction<Accumulator, TypeCategory::Integer, 2>(result, array,
194 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
196 std::int32_t RTDEF(ReduceInteger4Ref)(const Descriptor &array,
201 return GetTotalReduction<TypeCategory::Integer, 4>(array, source, line, dim,
204 array, operation, identity, terminator},
207 std::int32_t RTDEF(ReduceInteger4Value)(const Descriptor &array,
212 return GetTotalReduction<TypeCategory::Integer, 4>(array, source, line, dim,
215 array, operation, identity, terminator},
218 void RTDEF(ReduceInteger4DimRef)(Descriptor &result, const Descriptor &array,
224 Accumulator accumulator{array, operation, identity, terminator};
225 PartialReduction<Accumulator, TypeCategory::Integer, 4>(result, array,
226 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
228 void RTDEF(ReduceInteger4DimValue)(Descriptor &result, const Descriptor &array,
234 Accumulator accumulator{array, operation, identity, terminator};
235 PartialReduction<Accumulator, TypeCategory::Integer, 4>(result, array,
236 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
238 std::int64_t RTDEF(ReduceInteger8Ref)(const Descriptor &array,
243 return GetTotalReduction<TypeCategory::Integer, 8>(array, source, line, dim,
246 array, operation, identity, terminator},
249 std::int64_t RTDEF(ReduceInteger8Value)(const Descriptor &array,
254 return GetTotalReduction<TypeCategory::Integer, 8>(array, source, line, dim,
257 array, operation, identity, terminator},
260 void RTDEF(ReduceInteger8DimRef)(Descriptor &result, const Descriptor &array,
266 Accumulator accumulator{array, operation, identity, terminator};
267 PartialReduction<Accumulator, TypeCategory::Integer, 8>(result, array,
268 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
270 void RTDEF(ReduceInteger8DimValue)(Descriptor &result, const Descriptor &array,
276 Accumulator accumulator{array, operation, identity, terminator};
277 PartialReduction<Accumulator, TypeCategory::Integer, 8>(result, array,
278 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
281 common::int128_t RTDEF(ReduceInteger16Ref)(const Descriptor &array,
286 return GetTotalReduction<TypeCategory::Integer, 16>(array, source, line, dim,
289 array, operation, identity, terminator},
292 common::int128_t RTDEF(ReduceInteger16Value)(const Descriptor &array,
297 return GetTotalReduction<TypeCategory::Integer, 16>(array, source, line, dim,
300 array, operation, identity, terminator},
303 void RTDEF(ReduceInteger16DimRef)(Descriptor &result, const Descriptor &array,
309 Accumulator accumulator{array, operation, identity, terminator};
310 PartialReduction<Accumulator, TypeCategory::Integer, 16>(result, array,
311 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
313 void RTDEF(ReduceInteger16DimValue)(Descriptor &result, const Descriptor &array,
319 Accumulator accumulator{array, operation, identity, terminator};
320 PartialReduction<Accumulator, TypeCategory::Integer, 16>(result, array,
321 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
325 std::uint8_t RTDEF(ReduceUnsigned1Ref)(const Descriptor &array,
330 return GetTotalReduction<TypeCategory::Unsigned, 1>(array, source, line, dim,
333 array, operation, identity, terminator},
336 std::uint8_t RTDEF(ReduceUnsigned1Value)(const Descriptor &array,
341 return GetTotalReduction<TypeCategory::Unsigned, 1>(array, source, line, dim,
344 array, operation, identity, terminator},
347 void RTDEF(ReduceUnsigned1DimRef)(Descriptor &result, const Descriptor &array,
353 Accumulator accumulator{array, operation, identity, terminator};
354 PartialReduction<Accumulator, TypeCategory::Unsigned, 1>(result, array,
355 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
357 void RTDEF(ReduceUnsigned1DimValue)(Descriptor &result, const Descriptor &array,
363 Accumulator accumulator{array, operation, identity, terminator};
364 PartialReduction<Accumulator, TypeCategory::Unsigned, 1>(result, array,
365 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
367 std::uint16_t RTDEF(ReduceUnsigned2Ref)(const Descriptor &array,
372 return GetTotalReduction<TypeCategory::Unsigned, 2>(array, source, line, dim,
375 array, operation, identity, terminator},
378 std::uint16_t RTDEF(ReduceUnsigned2Value)(const Descriptor &array,
383 return GetTotalReduction<TypeCategory::Unsigned, 2>(array, source, line, dim,
386 array, operation, identity, terminator},
389 void RTDEF(ReduceUnsigned2DimRef)(Descriptor &result, const Descriptor &array,
395 Accumulator accumulator{array, operation, identity, terminator};
396 PartialReduction<Accumulator, TypeCategory::Unsigned, 2>(result, array,
397 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
399 void RTDEF(ReduceUnsigned2DimValue)(Descriptor &result, const Descriptor &array,
405 Accumulator accumulator{array, operation, identity, terminator};
406 PartialReduction<Accumulator, TypeCategory::Unsigned, 2>(result, array,
407 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
409 std::uint32_t RTDEF(ReduceUnsigned4Ref)(const Descriptor &array,
414 return GetTotalReduction<TypeCategory::Unsigned, 4>(array, source, line, dim,
417 array, operation, identity, terminator},
420 std::uint32_t RTDEF(ReduceUnsigned4Value)(const Descriptor &array,
425 return GetTotalReduction<TypeCategory::Unsigned, 4>(array, source, line, dim,
428 array, operation, identity, terminator},
431 void RTDEF(ReduceUnsigned4DimRef)(Descriptor &result, const Descriptor &array,
437 Accumulator accumulator{array, operation, identity, terminator};
438 PartialReduction<Accumulator, TypeCategory::Unsigned, 4>(result, array,
439 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
441 void RTDEF(ReduceUnsigned4DimValue)(Descriptor &result, const Descriptor &array,
447 Accumulator accumulator{array, operation, identity, terminator};
448 PartialReduction<Accumulator, TypeCategory::Unsigned, 4>(result, array,
449 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
451 std::uint64_t RTDEF(ReduceUnsigned8Ref)(const Descriptor &array,
456 return GetTotalReduction<TypeCategory::Unsigned, 8>(array, source, line, dim,
459 array, operation, identity, terminator},
462 std::uint64_t RTDEF(ReduceUnsigned8Value)(const Descriptor &array,
467 return GetTotalReduction<TypeCategory::Unsigned, 8>(array, source, line, dim,
470 array, operation, identity, terminator},
473 void RTDEF(ReduceUnsigned8DimRef)(Descriptor &result, const Descriptor &array,
479 Accumulator accumulator{array, operation, identity, terminator};
480 PartialReduction<Accumulator, TypeCategory::Unsigned, 8>(result, array,
481 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
483 void RTDEF(ReduceUnsigned8DimValue)(Descriptor &result, const Descriptor &array,
489 Accumulator accumulator{array, operation, identity, terminator};
490 PartialReduction<Accumulator, TypeCategory::Unsigned, 8>(result, array,
491 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
494 common::uint128_t RTDEF(ReduceUnsigned16Ref)(const Descriptor &array,
499 return GetTotalReduction<TypeCategory::Unsigned, 16>(array, source, line, dim,
502 array, operation, identity, terminator},
505 common::uint128_t RTDEF(ReduceUnsigned16Value)(const Descriptor &array,
510 return GetTotalReduction<TypeCategory::Unsigned, 16>(array, source, line, dim,
513 array, operation, identity, terminator},
516 void RTDEF(ReduceUnsigned16DimRef)(Descriptor &result, const Descriptor &array,
522 Accumulator accumulator{array, operation, identity, terminator};
523 PartialReduction<Accumulator, TypeCategory::Unsigned, 16>(result, array,
524 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
527 const Descriptor &array,
533 Accumulator accumulator{array, operation, identity, terminator};
534 PartialReduction<Accumulator, TypeCategory::Unsigned, 16>(result, array,
535 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
540 float RTDEF(ReduceReal4Ref)(const Descriptor &array,
544 return GetTotalReduction<TypeCategory::Real, 4>(array, source, line, dim,
546 ReduceAccumulator<float, false>{array, operation, identity, terminator},
549 float RTDEF(ReduceReal4Value)(const Descriptor &array,
553 return GetTotalReduction<TypeCategory::Real, 4>(array, source, line, dim,
555 ReduceAccumulator<float, true>{array, operation, identity, terminator},
558 void RTDEF(ReduceReal4DimRef)(Descriptor &result, const Descriptor &array,
563 Accumulator accumulator{array, operation, identity, terminator};
564 PartialReduction<Accumulator, TypeCategory::Real, 4>(result, array,
565 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
567 void RTDEF(ReduceReal4DimValue)(Descriptor &result, const Descriptor &array,
572 Accumulator accumulator{array, operation, identity, terminator};
573 PartialReduction<Accumulator, TypeCategory::Real, 4>(result, array,
574 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
576 double RTDEF(ReduceReal8Ref)(const Descriptor &array,
580 return GetTotalReduction<TypeCategory::Real, 8>(array, source, line, dim,
582 ReduceAccumulator<double, false>{array, operation, identity, terminator},
585 double RTDEF(ReduceReal8Value)(const Descriptor &array,
589 return GetTotalReduction<TypeCategory::Real, 8>(array, source, line, dim,
591 ReduceAccumulator<double, true>{array, operation, identity, terminator},
594 void RTDEF(ReduceReal8DimRef)(Descriptor &result, const Descriptor &array,
599 Accumulator accumulator{array, operation, identity, terminator};
600 PartialReduction<Accumulator, TypeCategory::Real, 8>(result, array,
601 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
603 void RTDEF(ReduceReal8DimValue)(Descriptor &result, const Descriptor &array,
608 Accumulator accumulator{array, operation, identity, terminator};
609 PartialReduction<Accumulator, TypeCategory::Real, 8>(result, array,
610 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
614 const Descriptor &array,
619 return GetTotalReduction<TypeCategory::Real, 10>(array, source, line, dim,
622 array, operation, identity, terminator},
626 const Descriptor &array,
631 return GetTotalReduction<TypeCategory::Real, 10>(array, source, line, dim,
634 array, operation, identity, terminator},
637 void RTDEF(ReduceReal10DimRef)(Descriptor &result, const Descriptor &array,
644 Accumulator accumulator{array, operation, identity, terminator};
645 PartialReduction<Accumulator, TypeCategory::Real, 10>(result, array,
646 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
648 void RTDEF(ReduceReal10DimValue)(Descriptor &result, const Descriptor &array,
655 Accumulator accumulator{array, operation, identity, terminator};
656 PartialReduction<Accumulator, TypeCategory::Real, 10>(result, array,
657 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
661 CppFloat128Type RTDEF(ReduceReal16Ref)(const Descriptor &array,
666 return GetTotalReduction<TypeCategory::Real, 16>(array, source, line, dim,
669 array, operation, identity, terminator},
672 CppFloat128Type RTDEF(ReduceReal16Value)(const Descriptor &array,
677 return GetTotalReduction<TypeCategory::Real, 16>(array, source, line, dim,
680 array, operation, identity, terminator},
683 void RTDEF(ReduceReal16DimRef)(Descriptor &result, const Descriptor &array,
689 Accumulator accumulator{array, operation, identity, terminator};
690 PartialReduction<Accumulator, TypeCategory::Real, 16>(result, array,
691 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
693 void RTDEF(ReduceReal16DimValue)(Descriptor &result, const Descriptor &array,
699 Accumulator accumulator{array, operation, identity, terminator};
700 PartialReduction<Accumulator, TypeCategory::Real, 16>(result, array,
701 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
706 const Descriptor &array,
711 result = GetTotalReduction<TypeCategory::Complex, 4>(array, source, line, dim,
714 array, operation, identity, terminator},
718 const Descriptor &array,
723 result = GetTotalReduction<TypeCategory::Complex, 4>(array, source, line, dim,
726 array, operation, identity, terminator},
729 void RTDEF(CppReduceComplex4DimRef)(Descriptor &result, const Descriptor &array,
736 Accumulator accumulator{array, operation, identity, terminator};
737 PartialReduction<Accumulator, TypeCategory::Complex, 4>(result, array,
738 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
741 const Descriptor &array,
748 Accumulator accumulator{array, operation, identity, terminator};
749 PartialReduction<Accumulator, TypeCategory::Complex, 4>(result, array,
750 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
753 const Descriptor &array,
758 result = GetTotalReduction<TypeCategory::Complex, 8>(array, source, line, dim,
761 array, operation, identity, terminator},
765 const Descriptor &array,
770 result = GetTotalReduction<TypeCategory::Complex, 8>(array, source, line, dim,
773 array, operation, identity, terminator},
776 void RTDEF(CppReduceComplex8DimRef)(Descriptor &result, const Descriptor &array,
783 Accumulator accumulator{array, operation, identity, terminator};
784 PartialReduction<Accumulator, TypeCategory::Complex, 8>(result, array,
785 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
788 const Descriptor &array,
795 Accumulator accumulator{array, operation, identity, terminator};
796 PartialReduction<Accumulator, TypeCategory::Complex, 8>(result, array,
797 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
801 const Descriptor &array,
807 result = GetTotalReduction<TypeCategory::Complex, 10>(array, source, line,
810 array, operation, identity, terminator},
814 CppTypeFor<TypeCategory::Complex, 10> &result, const Descriptor &array,
819 result = GetTotalReduction<TypeCategory::Complex, 10>(array, source, line,
822 array, operation, identity, terminator},
826 const Descriptor &array,
834 Accumulator accumulator{array, operation, identity, terminator};
835 PartialReduction<Accumulator, TypeCategory::Complex, 10>(result, array,
836 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
839 const Descriptor &array,
846 Accumulator accumulator{array, operation, identity, terminator};
847 PartialReduction<Accumulator, TypeCategory::Complex, 10>(result, array,
848 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
853 const Descriptor &array,
859 result = GetTotalReduction<TypeCategory::Complex, 16>(array, source, line,
862 array, operation, identity, terminator},
866 CppTypeFor<TypeCategory::Complex, 16> &result, const Descriptor &array,
871 result = GetTotalReduction<TypeCategory::Complex, 16>(array, source, line,
874 array, operation, identity, terminator},
878 const Descriptor &array,
886 Accumulator accumulator{array, operation, identity, terminator};
887 PartialReduction<Accumulator, TypeCategory::Complex, 16>(result, array,
888 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
891 const Descriptor &array,
898 Accumulator accumulator{array, operation, identity, terminator};
899 PartialReduction<Accumulator, TypeCategory::Complex, 16>(result, array,
900 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
904 bool RTDEF(ReduceLogical1Ref)(const Descriptor &array,
909 array, operation, source, line, dim, mask, identity, ordered) != 0;
911 bool RTDEF(ReduceLogical1Value)(const Descriptor &array,
916 array, operation, source, line, dim, mask, identity, ordered) != 0;
918 void RTDEF(ReduceLogical1DimRef)(Descriptor &result, const Descriptor &array,
923 (result, array, operation, source, line, dim, mask, identity, ordered);
925 void RTDEF(ReduceLogical1DimValue)(Descriptor &result, const Descriptor &array,
930 (result, array, operation, source, line, dim, mask, identity, ordered);
932 bool RTDEF(ReduceLogical2Ref)(const Descriptor &array,
937 array, operation, source, line, dim, mask, identity, ordered) != 0;
939 bool RTDEF(ReduceLogical2Value)(const Descriptor &array,
944 array, operation, source, line, dim, mask, identity, ordered) != 0;
946 void RTDEF(ReduceLogical2DimRef)(Descriptor &result, const Descriptor &array,
951 (result, array, operation, source, line, dim, mask, identity, ordered);
953 void RTDEF(ReduceLogical2DimValue)(Descriptor &result, const Descriptor &array,
958 (result, array, operation, source, line, dim, mask, identity, ordered);
960 bool RTDEF(ReduceLogical4Ref)(const Descriptor &array,
965 array, operation, source, line, dim, mask, identity, ordered) != 0;
967 bool RTDEF(ReduceLogical4Value)(const Descriptor &array,
972 array, operation, source, line, dim, mask, identity, ordered) != 0;
974 void RTDEF(ReduceLogical4DimRef)(Descriptor &result, const Descriptor &array,
979 (result, array, operation, source, line, dim, mask, identity, ordered);
981 void RTDEF(ReduceLogical4DimValue)(Descriptor &result, const Descriptor &array,
986 (result, array, operation, source, line, dim, mask, identity, ordered);
988 bool RTDEF(ReduceLogical8Ref)(const Descriptor &array,
993 array, operation, source, line, dim, mask, identity, ordered) != 0;
995 bool RTDEF(ReduceLogical8Value)(const Descriptor &array,
1000 array, operation, source, line, dim, mask, identity, ordered) != 0;
1002 void RTDEF(ReduceLogical8DimRef)(Descriptor &result, const Descriptor &array,
1007 (result, array, operation, source, line, dim, mask, identity, ordered);
1009 void RTDEF(ReduceLogical8DimValue)(Descriptor &result, const Descriptor &array,
1014 (result, array, operation, source, line, dim, mask, identity, ordered);
1017 void RTDEF(ReduceChar1)(char *result, const Descriptor &array,
1023 accumulator{array, operation, identity, terminator};
1024 DoTotalReduction<char>(array, dim, mask, accumulator, "REDUCE", terminator);
1027 void RTDEF(ReduceCharacter1Dim)(Descriptor &result, const Descriptor &array,
1033 Accumulator accumulator{array, operation, identity, terminator};
1034 PartialReduction<Accumulator, TypeCategory::Character, 1>(result, array,
1035 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
1037 void RTDEF(ReduceChar2)(char16_t *result, const Descriptor &array,
1043 accumulator{array, operation, identity, terminator};
1045 array, dim, mask, accumulator, "REDUCE", terminator);
1048 void RTDEF(ReduceCharacter2Dim)(Descriptor &result, const Descriptor &array,
1054 Accumulator accumulator{array, operation, identity, terminator};
1055 PartialReduction<Accumulator, TypeCategory::Character, 2>(result, array,
1056 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
1058 void RTDEF(ReduceChar4)(char32_t *result, const Descriptor &array,
1064 accumulator{array, operation, identity, terminator};
1066 array, dim, mask, accumulator, "REDUCE", terminator);
1069 void RTDEF(ReduceCharacter4Dim)(Descriptor &result, const Descriptor &array,
1075 Accumulator accumulator{array, operation, identity, terminator};
1076 PartialReduction<Accumulator, TypeCategory::Character, 4>(result, array,
1077 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);
1080 void RTDEF(ReduceDerivedType)(char *result, const Descriptor &array,
1086 accumulator{array, operation, identity, terminator};
1087 DoTotalReduction<char>(array, dim, mask, accumulator, "REDUCE", terminator);
1090 void RTDEF(ReduceDerivedTypeDim)(Descriptor &result, const Descriptor &array,
1096 Accumulator accumulator{array, operation, identity, terminator};
1097 PartialReduction<Accumulator, TypeCategory::Derived, 0>(result, array,
1098 array.ElementBytes(), dim, mask, terminator, "REDUCE", accumulator);