Lines Matching refs:edit

21     IoStatementState &io, const DataEdit &edit, void *n, std::size_t bytes) {  in EditBOZInput()  argument
23 std::optional<char32_t> next{io.PrepareInput(edit, remaining)}; in EditBOZInput()
26 next = io.NextInField(remaining, edit); in EditBOZInput()
32 for (; next; next = io.NextInField(remaining, edit)) { in EditBOZInput()
69 char32_t ch{*io.NextInField(remaining, edit)}; in EditBOZInput()
94 static inline char32_t GetDecimalPoint(const DataEdit &edit) { in GetDecimalPoint() argument
95 return edit.modes.editingFlags & decimalComma ? char32_t{','} : char32_t{'.'}; in GetDecimalPoint()
100 static bool ScanNumericPrefix(IoStatementState &io, const DataEdit &edit, in ScanNumericPrefix() argument
102 next = io.PrepareInput(edit, remaining); in ScanNumericPrefix()
108 next = io.NextInField(remaining, edit); in ScanNumericPrefix()
115 IoStatementState &io, const DataEdit &edit, void *n, int kind) { in EditIntegerInput() argument
117 switch (edit.descriptor) { in EditIntegerInput()
127 return EditBOZInput<1>(io, edit, n, kind); in EditIntegerInput()
129 return EditBOZInput<3>(io, edit, n, kind); in EditIntegerInput()
131 return EditBOZInput<4>(io, edit, n, kind); in EditIntegerInput()
133 return EditCharacterInput(io, edit, reinterpret_cast<char *>(n), kind); in EditIntegerInput()
137 edit.descriptor); in EditIntegerInput()
142 bool negate{ScanNumericPrefix(io, edit, next, remaining)}; in EditIntegerInput()
146 for (; next; next = io.NextInField(remaining, edit)) { in EditIntegerInput()
149 if (edit.modes.editingFlags & blankZero) { in EditIntegerInput()
197 const DataEdit &edit, int &exponent) { in ScanRealInput() argument
208 if (ScanNumericPrefix(io, edit, next, remaining)) { in ScanRealInput()
211 bool bzMode{(edit.modes.editingFlags & blankZero) != 0}; in ScanRealInput()
219 char32_t decimal{GetDecimalPoint(edit)}; in ScanRealInput()
226 next = io.NextInField(remaining, edit)) { in ScanRealInput()
237 next = io.NextInField(remaining, edit); in ScanRealInput()
256 for (; next; next = io.NextInField(remaining, edit)) { in ScanRealInput()
288 next = io.NextInField(remaining, edit); in ScanRealInput()
292 exponent = -edit.modes.scale; in ScanRealInput()
298 next = io.NextInField(remaining, edit); in ScanRealInput()
300 for (exponent = 0; next; next = io.NextInField(remaining, edit)) { in ScanRealInput()
324 exponent += got - start - edit.digits.value_or(0); in ScanRealInput()
333 if (edit.descriptor == DataEdit::ListDirectedImaginaryPart) { in ScanRealInput()
335 next = io.NextInField(remaining, edit); in ScanRealInput()
346 next = io.NextInField(remaining, edit); in ScanRealInput()
380 IoStatementState &io, const DataEdit &edit, void *n) { in TryFastPathRealInput() argument
381 if (edit.modes.editingFlags & (blankZero | decimalComma)) { in TryFastPathRealInput()
384 if (edit.modes.scale != 0) { in TryFastPathRealInput()
395 std::min<std::int64_t>(got, edit.width.value_or(got))}; in TryFastPathRealInput()
398 decimal::ConvertToBinary<PRECISION>(p, edit.modes.round, limit)}; in TryFastPathRealInput()
402 if (edit.digits.value_or(0) != 0) { in TryFastPathRealInput()
418 if (edit.descriptor == DataEdit::ListDirectedImaginaryPart) { in TryFastPathRealInput()
426 if (edit.width && p < str + *edit.width) { in TryFastPathRealInput()
441 bool EditCommonRealInput(IoStatementState &io, const DataEdit &edit, void *n) { in EditCommonRealInput() argument
443 if (TryFastPathRealInput<binaryPrecision>(io, edit, n)) { in EditCommonRealInput()
452 int got{ScanRealInput(buffer, maxDigits + 2, io, edit, exponent)}; in EditCommonRealInput()
499 decimal::ConvertToBinary<binaryPrecision>(p, edit.modes.round)}; in EditCommonRealInput()
522 bool EditRealInput(IoStatementState &io, const DataEdit &edit, void *n) { in EditRealInput() argument
523 switch (edit.descriptor) { in EditRealInput()
528 return EditCommonRealInput<KIND>(io, edit, n); in EditRealInput()
535 return EditCommonRealInput<KIND>(io, edit, n); in EditRealInput()
537 return EditBOZInput<1>(io, edit, n, in EditRealInput()
540 return EditBOZInput<3>(io, edit, n, in EditRealInput()
543 return EditBOZInput<4>(io, edit, n, in EditRealInput()
546 return EditCharacterInput(io, edit, reinterpret_cast<char *>(n), KIND); in EditRealInput()
550 edit.descriptor); in EditRealInput()
556 bool EditLogicalInput(IoStatementState &io, const DataEdit &edit, bool &x) { in EditLogicalInput() argument
557 switch (edit.descriptor) { in EditLogicalInput()
569 edit.descriptor); in EditLogicalInput()
573 std::optional<char32_t> next{io.PrepareInput(edit, remaining)}; in EditLogicalInput()
575 next = io.NextInField(remaining, edit); in EditLogicalInput()
597 } else if (edit.descriptor == DataEdit::ListDirected) { in EditLogicalInput()
598 while (io.NextInField(remaining, edit)) { // discard rest of field in EditLogicalInput()
641 IoStatementState &io, CHAR *x, std::size_t length, const DataEdit &edit) { in EditListDirectedCharacterInput() argument
656 while (std::optional<char32_t> next{io.NextInField(remaining, edit)}) { in EditListDirectedCharacterInput()
665 isSep = !(edit.modes.editingFlags & decimalComma); in EditListDirectedCharacterInput()
668 isSep = !!(edit.modes.editingFlags & decimalComma); in EditListDirectedCharacterInput()
686 IoStatementState &io, const DataEdit &edit, CHAR *x, std::size_t length) { in EditCharacterInput() argument
687 switch (edit.descriptor) { in EditCharacterInput()
689 return EditListDirectedCharacterInput(io, x, length, edit); in EditCharacterInput()
694 return EditBOZInput<1>(io, edit, x, length * sizeof *x); in EditCharacterInput()
696 return EditBOZInput<3>(io, edit, x, length * sizeof *x); in EditCharacterInput()
698 return EditBOZInput<4>(io, edit, x, length * sizeof *x); in EditCharacterInput()
702 edit.descriptor); in EditCharacterInput()
707 if (edit.width && *edit.width > 0) { in EditCharacterInput()
708 remaining = *edit.width; in EditCharacterInput()