summaryrefslogtreecommitdiff
path: root/support/dktools/dk4numl.ctr
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
committerNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
commit0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch)
tree416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4numl.ctr
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4numl.ctr')
-rw-r--r--support/dktools/dk4numl.ctr143
1 files changed, 0 insertions, 143 deletions
diff --git a/support/dktools/dk4numl.ctr b/support/dktools/dk4numl.ctr
deleted file mode 100644
index 2789707eae..0000000000
--- a/support/dktools/dk4numl.ctr
+++ /dev/null
@@ -1,143 +0,0 @@
-%% options
-
-copyright owner = Dirk Krause
-copyright year = 2015-xxxx
-SPDX-License-Identifier: BSD-3-Clause
-
-
-
-%% header
-
-/** @file
- Text representation length for numbers.
- When showing information in a table one needs to know the length
- of each field.
- This module provides the dk4numlength() funtion to find the string
- length needed for an integer value of a given size (number of bytes).
-
- CRT on Windows: Not used.
-*/
-
-#ifndef DK4CONF_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4conf.h"
-#else
-#include <dktools-4/dk4conf.h>
-#endif
-#endif
-
-#ifndef DK4TYPES_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4types.h"
-#else
-#include <dktools-4/dk4types.h>
-#endif
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Find number of digits for data type.
- @param isz Integer data type size in bytes.
- @param sgn Flag: Signed data type (0=unsigned, other=signed).
- @return Maximum string length used when data is shown as text.
-*/
-size_t
-dk4numlength(size_t isz, int sgn);
-
-#ifdef __cplusplus
-}
-#endif
-
-%% module
-
-#include "dk4conf.h"
-#include "dk4error.h"
-#include "dk4numl.h"
-#include "dk4maadu.h"
-
-size_t
-dk4numlength(size_t isz, int sgn)
-{
- dk4_er_t er;
- dk4_um_t co;
- size_t back = 0;
- if (1 < isz) {
- if (2 < isz) {
- if (4 < isz) {
- if (8 < isz) {
- if (16 < isz) {
-#if VERSION_BEFORE_20141122
- if (0 != (isz % 2)) { isz++; }
- back = 5 * (isz / 2);
- if (0 != sgn) { back++; }
-#else
- dk4error_init(&er);
- if (0 != sgn) {
- co = dk4ma_um_mul(
- (dk4_um_t)30104UL,
- dk4ma_um_sub(
- dk4ma_um_mul((dk4_um_t)8UL, (dk4_um_t)isz, &er),
- (dk4_um_t)1UL,
- &er
- ),
- &er
- );
- if ((dk4_um_t)0UL != (co % (dk4_um_t)100000UL)) {
- co = co / (dk4_um_t)100000UL;
- co++;
- } else {
- co = co / (dk4_um_t)100000UL;
- }
- co++;
- if ((dk4_um_t)(SIZE_MAX) >= co) {
- back = (size_t)co;
- } else {
- back = (size_t)co;
- er.ec = DK4_E_MATH_OVERFLOW;
- }
- } else {
- co = dk4ma_um_mul(
- (dk4_um_t)30104UL,
- dk4ma_um_mul((dk4_um_t)8UL, (dk4_um_t)isz, &er),
- &er
- );
- if ((dk4_um_t)0UL != (co % (dk4_um_t)100000UL)) {
- co = co / (dk4_um_t)100000UL;
- co++;
- } else {
- co = co / (dk4_um_t)100000UL;
- }
- if ((dk4_um_t)(SIZE_MAX) >= co) {
- back = (size_t)co;
- } else {
- back = (size_t)co;
- er.ec = DK4_E_MATH_OVERFLOW;
- }
- }
- if (DK4_E_NONE != er.ec) {
- if (0 != (isz % 2)) { isz++; }
- back = 5 * (isz / 2);
- if (0 != sgn) { back++; }
- }
-#endif
- } else {
- back = ((0 != sgn) ? 41 : 40);
- }
- } else {
- back = ((0 != sgn) ? 21 : 20);
- }
- } else {
- back = ((0 != sgn) ? 11 : 10);
- }
- } else {
- back = ((0 != sgn) ? 6 : 5);
- }
- } else {
- back = ((0 != sgn) ? 4 : 3);
- }
- return back;
-}
-