.\" 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 .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