Index Page
cspice_inter
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

Abstract
I/O
Examples
Particulars
Required Reading
Version
Index_Entries

Abstract


   CSPICE_INTER calculates the intersection of two sets to form
   a third set

   For important details concerning this module's function, please refer to
   the CSPICE routine inter_c.

I/O

   
   Given:

      a,
      b   scalar Icy sets, each of the same type, double precision, 
          or integer.
       
          The user must create 'a' and 'b' using either cspice_celld 
          or cspice_celli.

   the call:

      cspice_inter, a, b, c

   returns:

      c   a scalar Icy set, distinct from sets 'a' and 'b', which
          contains the intersection of 'a' and 'b' (that is, all of
          the elements which are in 'a' AND 'b').  c must have the
          same data type as 'a' and 'b'.

          The user must create 'c' using either cspice_celld
          or cspice_celli.

Examples


   Any numerical results shown for this example may differ between
   platforms as the results depend on the SPICE kernels used as input
   and the machine specific arithmetic implementation.

      ;;
      ;; Create three cells with the necessary size.
      ;; Set 'c' need not have a larger size than the
      ;; smaller of 'a' or 'b'.
      ;;
      SIZE = 10

      a = cspice_celli( SIZE )
      b = cspice_celli( SIZE )
      c = cspice_celli( SIZE )

      ;;
      ;; Create vectors of integers. It is more efficient to
      ;; load a set from a vector than looping over the
      ;; call, inserting one 'item' per iteration.
      ;;
      ints1 = [ 0, 1, 1, 2, 3, 5, 8, 13 ]
      ints2 = [ 1, 3, 5, 7, 11, 13]

      ;;
      ;; Insert the 'ints1' list into set 'a', 'ints2 '
      ;; into set 'b'.
      ;;
      cspice_insrti, ints1, a
      cspice_insrti, ints2, b
      
      ;;
      ;; Calculate the intersection between sets 'a' and 'b', return
      ;; that intersection to set 'c'.
      ;;
      cspice_inter, a, b, c
      
      ;;
      ;; Output the contents of set 'c'. Recall
      ;; set data begins at 'c.base[ c.data + 0 ]'.
      ;;
      for i=0, cspice_card(c)-1 do begin
         print, c.base[ c.data + i]
      endfor

   IDL outputs:
   
           1
           3
           5
          13

   The members of 'a' also in 'b'.

Particulars


   The intersection of two sets contains every element 
   which is in the first set and in the second set. 

      {a,b}      intersect  {c,d}     =  {} 
      {a,b,c}               {b,c,d}      {b,c} 
      {a,b,c,d}             {}           {} 
      {}                    {a,b,c,d}    {} 

   The user must create any needed cell structures with cspice_celld,
   cspice_celli prior to use regardless of whether the routine 
   uses the cell as input or returns it as output.
   

Required Reading


   ICY.REQ
   CELLS.REQ
   SETS.REQ

Version


   -Icy Version 1.0.0, 18-OCT-2005, EDW (JPL)

Index_Entries

 
   intersection of two sets 
 



Wed Apr  5 17:58:02 2017