1 /*
2 
3 -Procedure vupack_c ( Unpack three scalar components from a vector )
4 
5 -Abstract
6 
7    Unpack three scalar components from a vector.
8 
9 -Disclaimer
10 
11    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
12    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
13    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
14    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
15    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
16    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
17    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
18    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
19    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
20    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
21 
22    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
23    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
24    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
25    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
26    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
27    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
28 
29    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
30    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
31    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
32    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
33 
34 -Required_Reading
35 
36    None.
37 
38 -Keywords
39 
40    VECTOR
41 
42 */
43 
44    #include "SpiceUsr.h"
45    #undef   vupack_c
46 
47 
vupack_c(ConstSpiceDouble v[3],SpiceDouble * x,SpiceDouble * y,SpiceDouble * z)48    void vupack_c ( ConstSpiceDouble     v[3],
49                    SpiceDouble        * x,
50                    SpiceDouble        * y,
51                    SpiceDouble        * z     )
52 
53 /*
54 
55 -Brief_I/O
56 
57    VARIABLE  I/O  DESCRIPTION
58    --------  ---  --------------------------------------------------
59    v          I   3-vector.
60    x,
61    y,
62    z          O   Scalar components of 3-vector.
63 
64 -Detailed_Input
65 
66    v           is a double precision 3-vector.
67 
68 -Detailed_Output
69 
70    x,
71    y,
72    z           are the scalar components of the 3-vector v.  On output,
73                the following equalities hold:
74 
75                   x = v[0]
76                   y = v[1]
77                   z = v[2]
78 
79 -Parameters
80 
81    None.
82 
83 -Particulars
84 
85    Basically, this is just shorthand notation for the common
86    sequence
87 
88       x = v[0];
89       y = v[1];
90       z = v[2] ;
91 
92    The routine is useful largely for two reasons. First, it
93    reduces the chance that the programmer will make a "cut and
94    paste" mistake, like
95 
96       x = v[0];
97       y = v[0];
98       z = v[0];
99 
100    Second, it makes conversions between equivalent units simpler,
101    and clearer. For instance, the sequence
102 
103       x = v[0] * rpd_c();
104       y = v[1] * rpd_c();
105       z = v[2] * rpd_c();
106 
107    can be replaced by the (nearly) equivalent sequence
108 
109       vscl_c   ( rpd_c(),  v,   v  );
110       vupack_c ( v,  &x,  &y,  &z  );
111 
112 -Examples
113 
114    See: Detailed_Description.
115 
116 -Restrictions
117 
118    None.
119 
120 -Exceptions
121 
122    Error free.
123 
124 -Files
125 
126    None.
127 
128 -Author_and_Institution
129 
130    N.J. Bachman    (JPL)
131    I.M. Underwood  (JPL)
132 
133 -Literature_References
134 
135    None.
136 
137 -Version
138 
139    -CSPICE Version 1.0.0, 07-NOV-2006 (NJB)
140 
141       Corrected header errors that claimed this routine
142       performs the function of vpack_c.
143 
144    -CSPICE Version 1.0.0, 28-JUN-1999 (IMU) (NJB)
145 
146 -Index_Entries
147 
148 
149    unpack three scalar components from a vector
150 
151 -&
152 */
153 
154 { /* Begin vupack_c */
155 
156 
157    *x = v[0];
158    *y = v[1];
159    *z = v[2];
160 
161 
162 } /* End vupack_c */
163 
164