Introduction
Introduction Statistics Contact Development Disclaimer Help
treimplement transpose in C - numtools - perform numerical operations on vector…
git clone git://src.adamsgaard.dk/numtools
Log
Files
Refs
README
LICENSE
---
commit 46e27e9ab6b642fc1ac57cda2e7eacb43956ee24
parent 941edcb2fd8369e4a60c2e7e32087e500706f600
Author: Anders Damsgaard <[email protected]>
Date: Sat, 11 Sep 2021 20:47:06 +0200
reimplement transpose in C
Diffstat:
M Makefile | 5 +++--
D transpose | 15 ---------------
M transpose.1 | 15 ++++-----------
M util.c | 4 +---
M util.h | 3 +++
5 files changed, 11 insertions(+), 31 deletions(-)
---
diff --git a/Makefile b/Makefile
t@@ -14,10 +14,10 @@ BIN =\
min\
rangetest\
sum\
+ transpose\
SCRIPTS =\
histpdf\
- transpose\
SRC =\
util.c
t@@ -55,6 +55,7 @@ mean: mean.o
min: min.o
rangetest: rangetest.o
sum: sum.o
+transpose: transpose.o
${BIN}: ${LIB} ${OBJ}
${CC} ${_LDFLAGS} -o $@ ${@:=.o} ${OBJ}
t@@ -65,7 +66,7 @@ ${BIN}: ${LIB} ${OBJ}
install:
# installing executable files and scripts.
mkdir -p "${DESTDIR}${PREFIX}/bin"
- cp -f ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
+ cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"…
# installing documentation files.
mkdir -p "${DESTDIR}${DOCPREFIX}"
diff --git a/transpose b/transpose
t@@ -1,15 +0,0 @@
-#!/usr/bin/awk -f
-{
- for (i = 1; i <= NF; i++)
- d[NR][i] = $i
-}
-END {
- for (i = 1; i <= NF; i++) {
- for (j = 1; j <= NR; j++) {
- printf("%s", d[j][i])
- if (j < NR)
- printf("\t")
- }
- printf("\n")
- }
-}
diff --git a/transpose.1 b/transpose.1
t@@ -6,20 +6,13 @@
.Nd interchanges the row and column positions for each field
.Sh SYNOPSIS
.Nm
-.Op Ar
.Sh DESCRIPTION
.Nm
-flips the rows and columns, effectively transposing it around the
-diagonal axis.
-This means that an input file with N colums and M rows is output as M
-colums and N rows.
-The input is
-.Ar file
-or standard input, if no
-.Ar file
-is given.
+flips the rows and columns of a matrix given by standard input,
+effectively transposing it around the diagonal axis.
+This means that an input file with N colums and M rows is output
+as M colums and N rows.
.Sh SEE ALSO
-.Xr awk 1 ,
.Xr max 1 ,
.Xr mean 1 ,
.Xr min 1 ,
diff --git a/util.c b/util.c
t@@ -1,9 +1,7 @@
#include <err.h>
#include <stdlib.h>
#include <stdio.h>
-
-#define DELIM '\t'
-#define DELIMSTR "\t"
+#include "util.h"
size_t
allocarr(double **arr, const char *str, size_t maxlen)
diff --git a/util.h b/util.h
t@@ -8,6 +8,9 @@
#define unveil(p1, p2) 0
#endif
+#define DELIM '\t'
+#define DELIMSTR "\t"
+
#undef strlcpy
size_t strlcpy(char *dst, const char *src, size_t dsize);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.