vzero_c

Index Page vzero_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       SpiceBoolean vzero_c ( ConstSpiceDouble v[3] )
#### Abstract
       Indicate whether a 3-vector is the zero vector.
#### Required_Reading
       None.
#### Keywords
       MATH
       VECTOR
#### Brief_I/O
       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       v          I   Vector to be tested.

       The function returns the value SPICETRUE if and only if v is the
       zero vector.
#### Detailed_Input
       v          is a vector in 3-space.
#### Detailed_Output
       The function returns the value SPICETRUE if and only if v is the
       zero vector.
#### Parameters
       None.
#### Exceptions
       Error free.
#### Files
       None.
#### Particulars
       This function has the same truth value as the logical expression

          vnorm_c ( v )  ==  0.

       Replacing the above expression by

          vzero_c ( v );

       has several advantages:  the latter expresses the test more
       clearly, looks better, and doesn't go through the work of scaling,
       squaring, taking a square root, and re-scaling (all of which
       vnorm_c must do) just to find out that a vector is non-zero.

       A related function is vzerog_, which accepts vectors of arbitrary
       dimension.
#### Examples
       1)  When testing whether a vector is the zero vector, one
           normally constructs tests like

              if (  vnorm_c ( v ) ==  0.  )
                 {
                          .
                          .
                          .

           These can be replaced with the code

              if (  vzero_c ( v )  )
                 {
                          .
                          .
                          .

        2)  Check that a normal vector is non-zero before creating
           a plane with PNV2PL:

           if (  vzero_c ( NORMAL )  )
              {
              [ handle error ]
              }

           else
              {
              pnv2pl_ ( POINT, NORMAL, PLANE )
                            .
                            .
                            .
              }
#### Restrictions
       None.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman   (JPL)
       I.M. Underwood (JPL)
#### Version
       -CSPICE Version 1.1.0, 22-OCT-1998 (NJB)

          Made input vector const.  Removed #include of SpiceZfc.h.

       -CSPICE Version 1.0.0, 08-FEB-1998 (EDW)
#### Index_Entries
       test whether a 3-dimensional vector is the zero vector
#### Link to routine vzero_c source file vzero_c.c

    Thu Apr 16 08:59:38 2009