/*

-Procedure vupack_c ( Unpack three scalar components from a vector )

-Abstract
 
   Unpack three scalar components from a vector. 
 
-Disclaimer

   THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
   CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
   GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
   ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
   PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
   TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
   WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
   PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
   SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
   SOFTWARE AND RELATED MATERIALS, HOWEVER USED.

   IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
   BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
   LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
   INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
   REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
   REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.

   RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
   THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
   CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
   ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.

-Required_Reading
 
   None. 
 
-Keywords
 
   VECTOR 
 
*/

   #include "SpiceUsr.h"
   #undef   vupack_c
   

   void vupack_c ( ConstSpiceDouble     v[3],
                   SpiceDouble        * x,
                   SpiceDouble        * y,
                   SpiceDouble        * z     ) 

/*

-Brief_I/O
 
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   v          I   3-vector.
   x, 
   y, 
   z          O   Scalar components of 3-vector. 

-Detailed_Input
 
   v           is a double precision 3-vector.
 
-Detailed_Output
 
   x, 
   y, 
   z           are the scalar components of the 3-vector v.  On output,
               the following equalities hold:
 
                  x = v[0]
                  y = v[1]
                  z = v[2] 

-Parameters
 
   None. 
 
-Particulars
 
   Basically, this is just shorthand notation for the common 
   sequence 

      x = v[0];
      y = v[1];
      z = v[2] ;

   The routine is useful largely for two reasons. First, it 
   reduces the chance that the programmer will make a "cut and 
   paste" mistake, like 

      x = v[0];
      y = v[0];
      z = v[0]; 

   Second, it makes conversions between equivalent units simpler, 
   and clearer. For instance, the sequence 

      x = v[0] * rpd_c(); 
      y = v[1] * rpd_c();
      z = v[2] * rpd_c();

   can be replaced by the (nearly) equivalent sequence 

      vscl_c   ( rpd_c(),  v,   v  ); 
      vupack_c ( v,  &x,  &y,  &z  ); 

-Examples
 
   See: Detailed_Description. 
 
-Restrictions
 
   None. 
 
-Exceptions
 
   Error free. 
 
-Files
 
   None. 
 
-Author_and_Institution
   
   N.J. Bachman    (JPL)
   I.M. Underwood  (JPL) 
 
-Literature_References
 
   None. 
 
-Version
 
   -CSPICE Version 1.0.0, 07-NOV-2006 (NJB)

      Corrected header errors that claimed this routine
      performs the function of vpack_c.

   -CSPICE Version 1.0.0, 28-JUN-1999 (IMU) (NJB)

-Index_Entries

 
   unpack three scalar components from a vector 
 
-&
*/

{ /* Begin vupack_c */


   *x = v[0];
   *y = v[1];
   *z = v[2];
   

} /* End vupack_c */

