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

    Wed Apr  5 17:54:47 2017