Lines Matching refs:source

34   void Init(const Descriptor &source, const char *which) {  in Init()  argument
35 int rank{source.rank()}; in Init()
47 if (shiftDim.Extent() != source.GetDimension(j).Extent()) { in Init()
51 static_cast<std::intmax_t>(source.GetDimension(j).Extent())); in Init()
117 const Descriptor &source, int rank, const SubscriptValue extent[], in AllocateResult() argument
119 std::size_t elementLen{source.ElementBytes()}; in AllocateResult()
120 const DescriptorAddendum *sourceAddendum{source.Addendum()}; in AllocateResult()
121 result.Establish(source.type(), elementLen, nullptr, rank, extent, in AllocateResult()
139 void RTNAME(Cshift)(Descriptor &result, const Descriptor &source, in RTNAME()
142 int rank{source.rank()}; in RTNAME()
149 shiftControl.Init(source, "CSHIFT"); in RTNAME()
151 source.GetShape(extent); in RTNAME()
152 AllocateResult(result, source, rank, extent, terminator, "CSHIFT"); in RTNAME()
158 source.GetLowerBounds(sourceLB); in RTNAME()
174 CopyElement(result, resultAt, source, sourceAt, terminator); in RTNAME()
184 void RTNAME(CshiftVector)(Descriptor &result, const Descriptor &source, in RTNAME()
187 RUNTIME_CHECK(terminator, source.rank() == 1); in RTNAME()
188 const Dimension &sourceDim{source.GetDimension(0)}; in RTNAME()
190 AllocateResult(result, source, 1, &extent, terminator, "CSHIFT"); in RTNAME()
198 CopyElement(result, &resultAt, source, &sourceAt, terminator); in RTNAME()
203 void RTNAME(Eoshift)(Descriptor &result, const Descriptor &source, in RTNAME()
208 int rank{source.GetShape(extent)}; in RTNAME()
215 AllocateResult(result, source, rank, extent, terminator, "EOSHIFT")}; in RTNAME()
220 RUNTIME_CHECK(terminator, boundary->type() == source.type()); in RTNAME()
242 shiftControl.Init(source, "EOSHIFT"); in RTNAME()
251 source.GetLowerBounds(sourceLB); in RTNAME()
269 CopyElement(result, resultAt, source, sourceAt, terminator); in RTNAME()
283 void RTNAME(EoshiftVector)(Descriptor &result, const Descriptor &source, in RTNAME()
287 RUNTIME_CHECK(terminator, source.rank() == 1); in RTNAME()
288 SubscriptValue extent{source.GetDimension(0).Extent()}; in RTNAME()
290 AllocateResult(result, source, 1, &extent, terminator, "EOSHIFT")}; in RTNAME()
293 RUNTIME_CHECK(terminator, boundary->type() == source.type()); in RTNAME()
303 SubscriptValue lb{source.GetDimension(0).LowerBound()}; in RTNAME()
307 CopyElement(result, &j, source, &sourceAt, terminator); in RTNAME()
315 void RTNAME(Pack)(Descriptor &result, const Descriptor &source, in RTNAME()
319 CheckConformability(source, mask, terminator, "PACK", "ARRAY=", "MASK="); in RTNAME()
326 trues = source.Elements(); in RTNAME()
341 RUNTIME_CHECK(terminator, source.type() == vector->type()); in RTNAME()
342 if (source.ElementBytes() != vector->ElementBytes()) { in RTNAME()
345 source.ElementBytes(), vector->ElementBytes()); in RTNAME()
355 AllocateResult(result, source, 1, &extent, terminator, "PACK"); in RTNAME()
357 source.GetLowerBounds(sourceAt); in RTNAME()
361 CopyElement(result, &resultAt, source, sourceAt, terminator); in RTNAME()
363 source.IncrementSubscripts(sourceAt); in RTNAME()
369 for (std::size_t n{source.Elements()}; n > 0; --n) { in RTNAME()
371 CopyElement(result, &resultAt, source, sourceAt, terminator); in RTNAME()
374 source.IncrementSubscripts(sourceAt); in RTNAME()
389 void RTNAME(Reshape)(Descriptor &result, const Descriptor &source, in RTNAME()
420 std::size_t elementBytes{source.ElementBytes()}; in RTNAME()
421 std::size_t sourceElements{source.Elements()}; in RTNAME()
469 result, source, resultRank, resultExtent, terminator, "RESHAPE"); in RTNAME()
475 source.GetLowerBounds(sourceSubscript); in RTNAME()
479 CopyElement(result, resultSubscript, source, sourceSubscript, terminator); in RTNAME()
480 source.IncrementSubscripts(sourceSubscript); in RTNAME()
496 void RTNAME(Spread)(Descriptor &result, const Descriptor &source, int dim, in RTNAME()
499 int rank{source.rank() + 1}; in RTNAME()
510 extent[j] = j == dim - 1 ? ncopies : source.GetDimension(k++).Extent(); in RTNAME()
512 AllocateResult(result, source, rank, extent, terminator, "SPREAD"); in RTNAME()
519 source.GetLowerBounds(sourceAt); in RTNAME()
522 CopyElement(result, resultAt, source, sourceAt, terminator); in RTNAME()
525 source.IncrementSubscripts(sourceAt); in RTNAME()