Changeset 4536 for trunk/doc/pslib/psLibSDRS.tex
- Timestamp:
- Jul 11, 2005, 12:54:39 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/doc/pslib/psLibSDRS.tex (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/pslib/psLibSDRS.tex
r4535 r4536 1 %%% $Id: psLibSDRS.tex,v 1.31 4 2005-07-11 21:49:58 jhoblittExp $1 %%% $Id: psLibSDRS.tex,v 1.315 2005-07-11 22:54:39 eugene Exp $ 2 2 \documentclass[panstarrs,spec]{panstarrs} 3 3 … … 200 200 convenience to the user. 201 201 202 \subsection{C++ Compatibility} 203 204 All PSLib ``public'' header files should comptable with \code{C++}. 205 This primarily involves using \code{C} pre-processor directives to 206 enable \code{C++}'s \code{extern "C"} linkage specification when a 207 header file is being processed as part of a \code{C++} compilation. 208 209 An example of wrapping a header file with an \code{extern "C"} block: 210 211 \begin{verbatim} 212 #ifndef FOO_H 213 #define FOO_H 1 214 215 #ifdef __cplusplus 216 extern "C" { 217 #endif 218 219 ... 220 221 #ifdef __cplusplus 222 } 223 #endif 224 225 #endif // FOO_H 226 \end{verbatim} 227 228 Other coding cautions include avoiding trailing commas in 229 \code{enum}s, protection of the poison \code{pragma}s used for the 230 memory system (below), and avoiding the qualifier \code{restrict}. 231 202 232 \subsection{Use of {\tt restrict}} 203 233 … … 214 244 of \code{restrict} should be kept to a minimum; it should only be 215 245 employed where necessary, and where the assumption will hold. 246 Restricts should also be avoided because they are incompatible with 247 \code{C++}. 216 248 217 249 \subsection{Return values} … … 2271 2303 const union { 2272 2304 psBool B; ///< boolean value 2305 psS8 S8; ///< integer data 2306 psS16 S16; ///< integer data 2273 2307 psS32 S32; ///< integer data 2308 psU8 U8; ///< integer data 2309 psU16 U16; ///< integer data 2310 psU32 U32; ///< integer data 2274 2311 psF32 F32; ///< floating-point data 2275 2312 psF64 F64; ///< double-precision data … … 2285 2322 experience shows that such tags are useful. The entry \code{name} 2286 2323 specifies the name of the metadata item. The value of the metadata is 2287 given by the union \code{data}, and may be of type \code{psS32}, 2324 given by the union \code{data}, and may be of type \code{psU8}, 2325 \code{psU16}, \code{psU32}, \code{psS8}, \code{psS16}, \code{psS32}, 2288 2326 \code{psF32}, \code{psF64}, or an arbitrary rich structure pointed at 2289 2327 by the \code{void} pointer \code{V}. A character string comment … … 4795 4833 \begin{prototype} 4796 4834 psVector *psImageCut(psVector *out, 4797 psVector *coords, 4835 psVector *cutCols, 4836 psVector *cutRows, 4798 4837 const psImage *input, 4799 4838 const psImage *mask, … … 5717 5756 5718 5757 The function may accept any of the \code{psTimeType} types with 5719 \emph{SI} length seconds. The \code{time} is modified and returned.5720 Note that this function requires the value $UT1-UTC$ (see5721 \code{psTimeGetUT1Delta()}) and should use the UT1 values interpolated 5722 from IERS bulletin B. 5758 \emph{SI} length seconds. The \code{time} is modified (rationlized to 5759 TAI units) and returned. Note that this function requires the value 5760 $UT1-UTC$ (see \code{psTimeGetUT1Delta()}) and should use the UT1 5761 values interpolated from IERS bulletin B. 5723 5762 5724 5763 The following utility function encapsulates the PSLib mechanism to
Note:
See TracChangeset
for help on using the changeset viewer.
