1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
.\" header.tmac. GetData manual macros.
.\"
.\" Copyright (C) 2016 D. V. Wiebe
.\"
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.\"
.\" This file is part of the GetData project.
.\"
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
.\" Texts. A copy of the license is included in the `COPYING.DOC' file
.\" as part of this distribution.
.\" Format a function name with optional trailer: func_name()trailer
.de FN \" func_name [trailer]
.nh
.BR \\$1 ()\\$2
.hy
..
.\" Format a reference to section 3 of the manual: name(3)trailer
.de F3 \" func_name [trailer]
.nh
.BR \\$1 (3)\\$2
.hy
..
.\" Format the header of a list of definitons
.de DD \" name alt...
.ie "\\$2"" \{ \
.TP 8
.PD
.B \\$1 \}
.el \{ \
.PP
.B \\$1
.PD 0
.DD \\$2 \\$3 \}
..
.\" Start a code block: Note: groff defines an undocumented .SC for
.\" Bell Labs man legacy reasons.
.de SC
.fam C
.na
.nh
..
.\" End a code block
.de EC
.hy
.ad
.fam
..
.\" Format a structure pointer member: struct->member\fRtrailer
.de SPM \" struct member trailer
.nh
.ie "\\$3"" .IB \\$1 ->\: \\$2
.el .IB \\$1 ->\: \\$2\fR\\$3
.hy
..
.\" Format a function argument
.de ARG \" name trailer
.nh
.ie "\\$2"" .I \\$1
.el .IR \\$1 \\$2
.hy
..
.\" Hyphenation exceptions
.hw sarray carray lincom linterp
.\" GD_SIZE.3. The GD_SIZE man page.
.\"
.\" Copyright (C) 2013, 2016 D. V. Wiebe
.\"
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.\"
.\" This file is part of the GetData project.
.\"
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
.\" Texts. A copy of the license is included in the `COPYING.DOC' file
.\" as part of this distribution.
.\"
.TH GD_SIZE 3 "25 December 2016" "Version 0.10.0" "GETDATA"
.SH NAME
GD_SIZE \(em report the size of a GetData data sample
.SH SYNOPSIS
.SC
.B #include <getdata.h>
.HP
.BI "int GD_SIZE(gd_type_t " type );
.EC
.SH DESCRIPTION
The
.FN GD_SIZE
preprocessor macro returns the size in bytes of a single sample of data of the
type specified by
.ARG type ,
which should be one of the symbols:
.IP
.SC
.BR GD_NULL ", " GD_UINT8 ", " GD_INT8 ", " GD_UINT16 ", " GD_INT16 ,
.BR GD_UINT32 ", " GD_INT32 ", " GD_FLOAT32 ", " GD_FLOAT64 ", " GD_COMPLEX64 ,
.BR GD_COMPLEX128 ", " GD_STRING ", " GD_UNKNOWN .
.EC
.PP
Passing
.B GD_NULL
or
.B GD_UNKNOWN
to this macro will return zero. Passing
.B GD_STRING
will return
.BR "sizeof(const char*)" .
For the other types, the value returned is simply the bit-size encoded in the
type symbol divided by eight, so, e.g.,
.B GD_SIZE(GD_COMPLEX64)
will return 8.
.PP
No error checking is performed on
.ARG type :
behaviour resulting from passing something other than the symbols listed above to this macro is unspecified.
See
.F3 gd_getdata
for the meaning of the above symbols.
.SH HISTORY
The
.FN GD_SIZE
macro appeared in GetData-0.3.0
.SH SEE ALSO
.F3 gd_getdata
|