SpiceZim.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:53k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /*
  2. -Header_File SpiceZim.h ( CSPICE interface macros )
  3. -Abstract
  4.    Define interface macros to be called in place of CSPICE 
  5.    user-interface-level functions.  These macros are generally used
  6.    to compensate for compiler deficiencies.
  7.    
  8. -Disclaimer
  9.    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
  10.    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
  11.    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
  12.    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
  13.    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
  14.    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
  15.    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
  16.    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
  17.    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
  18.    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
  19.    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
  20.    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
  21.    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  22.    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
  23.    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
  24.    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
  25.    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
  26.    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
  27.    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
  28.    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
  29. -Required_Reading
  30.    None.
  31. -Literature_References
  32.    None.
  33. -Particulars
  34.    This header file defines interface macros to be called in place of 
  35.    CSPICE user-interface-level functions.  Currently, the sole purpose
  36.    of these macros is to implement automatic type casting under some 
  37.    environments that generate compile-time warnings without the casts.
  38.    The typical case that causes a problem is a function argument list
  39.    containing an input formal argument of type
  40.    
  41.       const double [3][3]
  42.       
  43.    Under some compilers, a non-const actual argument supplied in a call
  44.    to such a function will generate a spurious warning due to the 
  45.    "mismatched" type.  These macros generate type casts that will
  46.    make such compilers happy.
  47.    
  48.    Examples of compilers that generate warnings of this type are
  49.    
  50.       gcc version 2.2.2, hosted on NeXT workstations running 
  51.       NeXTStep 3.3
  52.       
  53.       Sun C compiler, version 4.2, running under Solaris.
  54.             
  55.       
  56. -Author_and_Institution
  57.    N.J. Bachman       (JPL)
  58.    E.D. Wright        (JPL)
  59. -Version
  60.    -CSPICE Version 10.0.0, 19-FEB-2008 (NJB) (EDW)
  61.        Added macros for 
  62.           ilumin_c
  63.           spkaps_c
  64.           spkltc_c
  65.    -CSPICE Version 9.0.0, 31-OCT-2005 (NJB) 
  66.        Added macros for 
  67.           qdq2av_c
  68.           qxq_c
  69.    -CSPICE Version 8.0.0, 23-FEB-2004 (NJB) 
  70.        Added macro for 
  71.           dafrs_c
  72.    -CSPICE Version 7.0.0, 23-FEB-2004 (EDW) 
  73.        Added macro for 
  74.           srfxpt_c
  75.    -CSPICE Version 6.0.1, 25-FEB-2003 (EDW) (NJB)
  76.        Remove duplicate macro definitions for ekaced_c and 
  77.        ekacei_c. Visual Studio errored out when compiling
  78.        code that included SpiceZim.h.  
  79.        Added macro for 
  80.           dasac_c
  81.    -CSPICE Version 6.0.0, 17-AUG-2002 (NJB) 
  82.        Added macros for
  83.           bschoc_c
  84.           bschoi_c
  85.           bsrchc_c
  86.           bsrchd_c
  87.           bsrchi_c
  88.           esrchc_c
  89.           isordv_c
  90.           isrchc_c
  91.           isrchd_c
  92.           isrchi_c
  93.           lstltc_c
  94.           lstltd_c
  95.           lstlti_c
  96.           lstlec_c
  97.           lstled_c
  98.           lstlei_c
  99.           orderc_c
  100.           orderd_c
  101.           orderi_c
  102.           reordc_c
  103.           reordd_c
  104.           reordi_c
  105.           reordl_c
  106.           spkw18_c
  107.             
  108.    -CSPICE Version 5.0.0, 28-AUG-2001 (NJB) 
  109.        Added macros for
  110.             
  111.           conics_c
  112.           illum_c
  113.           invort_c
  114.           pdpool_c
  115.           prop2b_c
  116.           q2m_c
  117.           spkuds_c
  118.           xposeg_c
  119.           
  120.    -CSPICE Version 4.0.0, 22-MAR-2000 (NJB) 
  121.        Added macros for
  122.        
  123.           spkw12_c
  124.           spkw13_c
  125.        
  126.    -CSPICE Version 3.0.0, 27-AUG-1999 (NJB) (EDW)
  127.        Fixed cut & paste error in macro nvp2pl_c.
  128.        
  129.        Added macros for
  130.        
  131.           axisar_c
  132.           cgv2el_c
  133.           dafps_c
  134.           dafus_c
  135.           diags2_c
  136.           dvdot_c
  137.           dvhat_c
  138.           edlimb_c
  139.           ekacli_c
  140.           ekacld_c
  141.           ekacli_c
  142.           eul2xf_c
  143.           el2cgv_c
  144.           getelm_c
  145.           inedpl_c
  146.           isrot_c
  147.           mequ_c
  148.           npedln_c
  149.           nplnpt_c
  150.           rav2xf_c
  151.           raxisa_c
  152.           saelgv_c
  153.           spk14a_c
  154.           spkapo_c
  155.           spkapp_c
  156.           spkw02_c
  157.           spkw03_c
  158.           spkw05_c
  159.           spkw08_c
  160.           spkw09_c
  161.           spkw10_c
  162.           spkw15_c
  163.           spkw17_c
  164.           sumai_c
  165.           trace_c
  166.           vadd_g
  167.           vhatg_c
  168.           vlcomg_c
  169.           vminug_c
  170.           vrel_c
  171.           vrelg_c
  172.           vsepg_c
  173.           vtmv_c
  174.           vtmvg_c
  175.           vupack_c
  176.           vzerog_c
  177.           xf2eul_c
  178.           xf2rav_c
  179.        
  180.    -CSPICE Version 2.0.0, 07-MAR-1999 (NJB)  
  181.        Added macros for
  182.        
  183.           inrypl_c
  184.           nvc2pl_c
  185.           nvp2pl_c
  186.           pl2nvc_c
  187.           pl2nvp_c
  188.           pl2psv_c
  189.           psv2pl_c
  190.           vprjp_c
  191.           vprjpi_c
  192.    -CSPICE Version 1.0.0, 24-JAN-1999 (NJB) (EDW)
  193. -Index_Entries
  194.    interface macros for CSPICE functions
  195. */
  196. /*
  197. Include Files:
  198. */
  199. #ifndef  HAVE_SPICEDEFS_H
  200. #include "SpiceZdf.h"
  201. #endif
  202. #ifndef HAVE_SPICEIFMACROS_H
  203. #define HAVE_SPICEIFMACROS_H
  204. /*
  205. Macros used to abbreviate type casts:
  206. */
  207.    
  208.    #define  CONST_BOOL         ( ConstSpiceBoolean   *      )
  209.    #define  CONST_ELLIPSE      ( ConstSpiceEllipse   *      )
  210.    #define  CONST_IVEC         ( ConstSpiceInt       *      )
  211.    #define  CONST_MAT          ( ConstSpiceDouble   (*) [3] )
  212.    #define  CONST_MAT2         ( ConstSpiceDouble   (*) [2] )
  213.    #define  CONST_MAT6         ( ConstSpiceDouble   (*) [6] )
  214.    #define  CONST_PLANE        ( ConstSpicePlane     *      )
  215.    #define  CONST_VEC3         ( ConstSpiceDouble   (*) [3] )
  216.    #define  CONST_VEC4         ( ConstSpiceDouble   (*) [4] )
  217.    #define  CONST_STR          ( ConstSpiceChar      *      )
  218.    #define  CONST_VEC          ( ConstSpiceDouble    *      )
  219.    #define  CONST_VOID         ( const void          *      )
  220. /*
  221. Macros that substitute for function calls:
  222. */
  223.    #define  axisar_c( axis, angle, r )                                 
  224.                                                                        
  225.         (   axisar_c( CONST_VEC(axis), (angle), (r) )   )
  226.  
  227.    #define  bschoc_c( value, ndim, lenvals, array, order )             
  228.                                                                        
  229.         (   bschoc_c ( CONST_STR(value),  (ndim),          (lenvals),  
  230.                        CONST_VOID(array), CONST_IVEC(order)          ) )
  231.    #define  bschoi_c( value, ndim, array, order )                      
  232.                                                                        
  233.         (   bschoi_c ( (value)         ,  (ndim),                      
  234.                        CONST_IVEC(array), CONST_IVEC(order) )  )
  235.    #define  bsrchc_c( value, ndim, lenvals, array )                    
  236.                                                                        
  237.         (   bsrchc_c ( CONST_STR(value),  (ndim),  (lenvals),          
  238.                        CONST_VOID(array)                      ) )
  239.    #define  bsrchd_c( value, ndim, array )                             
  240.                                                                        
  241.         (   bsrchd_c( (value),  (ndim),  CONST_VEC(array) )  )
  242.    #define  bsrchi_c( value, ndim, array )                             
  243.                                                                        
  244.         (   bsrchi_c( (value),  (ndim),  CONST_IVEC(array) )  )
  245.    #define  ckw01_c( handle, begtim, endtim, inst,  ref, avflag,       
  246.                      segid,  nrec,   sclkdp, quats, avvs        )      
  247.                                                                        
  248.         (   ckw01_c ( (handle),          (begtim),        (endtim),    
  249.                       (inst),            CONST_STR(ref),  (avflag),    
  250.                       CONST_STR(segid),  (nrec),                       
  251.                       CONST_VEC(sclkdp), CONST_VEC4(quats),            
  252.                       CONST_VEC3(avvs)                            )  )
  253.    #define  ckw02_c( handle, begtim, endtim, inst,  ref,   segid,      
  254.                      nrec,   start,  stop,  quats,  avvs,  rates )     
  255.                                                                        
  256.         (   ckw02_c ( (handle),          (begtim),        (endtim),    
  257.                       (inst),            CONST_STR(ref),               
  258.                       CONST_STR(segid),  (nrec),                       
  259.                       CONST_VEC(start),  CONST_VEC(stop),              
  260.                       CONST_VEC4(quats), CONST_VEC3(avvs),             
  261.                       CONST_VEC(rates)                             )  )
  262.    #define  ckw03_c( handle, begtim, endtim, inst,  ref,  avflag,      
  263.                      segid,  nrec,   sclkdp, quats, avvs, nints,       
  264.                      starts                                       )    
  265.                                                                        
  266.         (   ckw03_c ( (handle),          (begtim),        (endtim),    
  267.                       (inst),            CONST_STR(ref),  (avflag),    
  268.                       CONST_STR(segid),  (nrec),                       
  269.                       CONST_VEC(sclkdp), CONST_VEC4(quats),            
  270.                       CONST_VEC3(avvs),  (nints),                      
  271.                       CONST_VEC(starts)                            )  )
  272.    #define  ckw05_c( handle, subtyp, degree, begtim, endtim, inst,     
  273.                      ref,    avflag, segid,  n,      sclkdp, packts,   
  274.                      rate,    nints, starts                          ) 
  275.                                                                        
  276.         (   ckw05_c ( (handle),          (subtyp),        (degree),    
  277.                       (begtim),          (endtim),                     
  278.                       (inst),            CONST_STR(ref),  (avflag),    
  279.                       CONST_STR(segid),  (n),                          
  280.                       CONST_VEC(sclkdp), CONST_VOID(packts),           
  281.                       (rate),            (nints),                      
  282.                       CONST_VEC(starts)                            )  )
  283.    #define  cgv2el_c( center, vec1, vec2, ellipse )                    
  284.                                                                        
  285.         (   cgv2el_c( CONST_VEC(center), CONST_VEC(vec1),              
  286.                       CONST_VEC(vec2),   (ellipse)        )   )
  287.                       
  288.    #define  conics_c( elts, et, state )                                
  289.                                                                        
  290.         (   conics_c( CONST_VEC(elts), (et), (state) )  )           
  291.    #define  dafps_c( nd, ni, dc, ic, sum )                             
  292.                                                                        
  293.         (   dafps_c ( (nd), (ni), CONST_VEC(dc), CONST_IVEC(ic),       
  294.                       (sum)                                     )   )
  295.    #define  dafrs_c( sum )                                             
  296.                                                                        
  297.         (   dafrs_c ( CONST_VEC( sum )  )   )
  298.    #define  dafus_c( sum, nd, ni, dc, ic )                             
  299.                                                                        
  300.         (   dafus_c ( CONST_VEC(sum), (nd), (ni), (dc), (ic) )   )
  301.    #define  dasac_c( handle, n, buflen, buffer )                       
  302.                                                                        
  303.         (   dasac_c ( (handle), (n), (buflen), CONST_VOID(buffer) )   )
  304.                       
  305.    #define  det_c( m1 )                                                
  306.                                                                        
  307.         (   det_c ( CONST_MAT(m1) )   )
  308.    #define  diags2_c( symmat, diag, rotate )                           
  309.                                                                        
  310.         (   diags2_c ( CONST_MAT2(symmat), (diag), (rotate) )   )       
  311.                 
  312.                                                 
  313.    #define  dvdot_c( s1, s2 )                                         
  314.                                                                       
  315.            ( dvdot_c ( CONST_VEC(s1), CONST_VEC(s2) )   )
  316.    
  317.    
  318.    #define  dvhat_c( v1, v2 )                                         
  319.                                                                       
  320.            ( dvhat_c ( CONST_VEC(v1), (v2) )   )
  321.    #define  edlimb_c( a, b, c, viewpt, limb )                          
  322.                                                                        
  323.         (   edlimb_c( (a), (b), (c), CONST_VEC(viewpt), (limb) )   )
  324.    #define  ekacec_c( handle, segno,  recno, column, nvals, vallen,    
  325.                       cvals,  isnull                               )   
  326.                                                                        
  327.         (   ekacec_c( (handle), (segno), (recno), CONST_STR(column),   
  328.                       (nvals),  (vallen), CONST_VOID(cvals),           
  329.                       (isnull)                                      )  ) 
  330.    #define  ekaced_c( handle, segno,  recno, column, nvals,            
  331.                       dvals,  isnull                               )   
  332.                                                                        
  333.         (   ekaced_c( (handle), (segno), (recno), CONST_STR(column),   
  334.                       (nvals),  CONST_VEC(dvals), (isnull)          )  ) 
  335.    #define  ekacei_c( handle, segno,  recno, column, nvals,            
  336.                       ivals,  isnull                               )   
  337.                                                                        
  338.         (   ekacei_c( (handle), (segno), (recno), CONST_STR(column),   
  339.                       (nvals),  CONST_IVEC(ivals), (isnull)         )  ) 
  340.    #define  ekaclc_c( handle, segno,  column, vallen, cvals, entszs,   
  341.                       nlflgs, rcptrs, wkindx                         ) 
  342.                                                                        
  343.         (   ekaclc_c( (handle), (segno),  (column),  (vallen),         
  344.                       CONST_VOID(cvals),  CONST_IVEC(entszs),          
  345.                       CONST_BOOL(nlflgs), CONST_IVEC(rcptrs),          
  346.                       (wkindx)                                      )  ) 
  347.    #define  ekacld_c( handle, segno,  column, dvals, entszs, nlflgs,   
  348.                       rcptrs, wkindx                                 ) 
  349.                                                                        
  350.         (   ekacld_c( (handle),           (segno),           (column), 
  351.                       CONST_VEC(dvals),   CONST_IVEC(entszs),          
  352.                       CONST_BOOL(nlflgs), CONST_IVEC(rcptrs),          
  353.                       (wkindx)                                      )  ) 
  354.    #define  ekacli_c( handle, segno,  column, ivals, entszs, nlflgs,   
  355.                       rcptrs, wkindx                                 ) 
  356.                                                                        
  357.         (   ekacli_c( (handle),           (segno),           (column), 
  358.                       CONST_IVEC(ivals),  CONST_IVEC(entszs),          
  359.                       CONST_BOOL(nlflgs), CONST_IVEC(rcptrs),          
  360.                       (wkindx)                                      )  ) 
  361.    #define  ekbseg_c( handle, tabnam, ncols, cnmlen, cnames, declen,   
  362.                       decls,  segno                                 )  
  363.                                                                        
  364.         (   ekbseg_c( (handle), (tabnam), (ncols), (cnmlen),           
  365.                       CONST_VOID(cnames), (declen),                    
  366.                       CONST_VOID(decls),  (segno)             )  )    
  367.    #define  ekifld_c( handle, tabnam, ncols, nrows, cnmlen, cnames,    
  368.                       declen, decls,  segno, rcptrs                 )  
  369.                                                                        
  370.         (   ekifld_c( (handle), (tabnam), (ncols), (nrows), (cnmlen),  
  371.                       CONST_VOID(cnames), (declen),                    
  372.                       CONST_VOID(decls),  (segno), (rcptrs)         )  )    
  373.    #define  ekucec_c( handle, segno,  recno, column, nvals, vallen,    
  374.                       cvals,  isnull                               )   
  375.                                                                        
  376.         (   ekucec_c( (handle), (segno), (recno), CONST_STR(column),   
  377.                       (nvals),  (vallen), CONST_VOID(cvals),           
  378.                       (isnull)                                      )  ) 
  379.    #define  ekuced_c( handle, segno,  recno, column, nvals,            
  380.                       dvals,  isnull                               )   
  381.                                                                        
  382.         (   ekuced_c( (handle), (segno), (recno),   CONST_STR(column), 
  383.                       (nvals),  CONST_VOID(dvals), (isnull)         )  ) 
  384.    #define  ekucei_c( handle, segno,  recno, column, nvals,            
  385.                       ivals,  isnull                               )   
  386.                                                                        
  387.         (   ekucei_c( (handle), (segno), (recno),   CONST_STR(column), 
  388.                       (nvals),  CONST_VOID(ivals), (isnull)         )  ) 
  389.    #define  el2cgv_c( ellipse, center, smajor, sminor )                
  390.                                                                        
  391.         (   el2cgv_c( CONST_ELLIPSE(ellipse), (center),                
  392.                       (smajor),               (sminor)  )   )
  393.    #define  esrchc_c( value, ndim, lenvals, array )                    
  394.                                                                        
  395.         (   esrchc_c ( CONST_STR(value),  (ndim),  (lenvals),          
  396.                        CONST_VOID(array)                      ) )
  397.    #define  eul2xf_c( eulang, axisa, axisb, axisc, xform )             
  398.                                                                        
  399.         (   eul2xf_c ( CONST_VEC(eulang), (axisa), (axisb), (axisc),   
  400.                        (xform)                                     )  )
  401.    
  402.    
  403.    #define  getelm_c( frstyr, lineln, lines, epoch, elems )            
  404.                                                                        
  405.         (   getelm_c ( (frstyr), (lineln), CONST_VOID(lines),          
  406.                        (epoch),  (elems)                      )   )   
  407.    #define  illum_c( target, et,    abcorr, obsrvr,                    
  408.                      spoint, phase, solar,  emissn )                   
  409.                                                                        
  410.         (   illum_c ( (target),          (et),    (abcorr), (obsrvr),  
  411.                       CONST_VEC(spoint), (phase), (solar),  (emissn) )  )
  412.    #define  ilumin_c( method, target, et,     fixref,                  
  413.                       abcorr, obsrvr, spoint, trgepc,                  
  414.                       srfvec, phase, solar,   emissn   )               
  415.                                                                        
  416.        (   ilumin_c ( (method), (target), (et),    (fixref),           
  417.                       (abcorr), (obsrvr), CONST_VEC(spoint), (trgepc), 
  418.                       (srfvec), (phase),  (solar), (emissn)          )  )
  419.    
  420.    #define  inedpl_c( a, b, c, plane, ellipse, found )                 
  421.                                                                        
  422.         (   inedpl_c ( (a),                (b),         (c),           
  423.                        CONST_PLANE(plane), (ellipse),   (found) )   )
  424.    #define  inrypl_c( vertex, dir, plane, nxpts, xpt )                 
  425.                                                                        
  426.         (   inrypl_c ( CONST_VEC(vertex),   CONST_VEC(dir),            
  427.                        CONST_PLANE(plane),  (nxpts),        (xpt) )   )
  428.    
  429.    #define  invert_c( m1, m2 )                                         
  430.                                                                        
  431.         (   invert_c ( CONST_MAT(m1), (m2) )   )
  432.    #define  invort_c( m, mit )                                         
  433.                                                                        
  434.         (   invort_c ( CONST_MAT(m), (mit) )   )
  435.    #define  isordv_c( array, n )                                       
  436.                                                                        
  437.         (   isordv_c ( CONST_IVEC(array), (n) )  )
  438.    #define  isrchc_c( value, ndim, lenvals, array )                    
  439.                                                                        
  440.         (   isrchc_c ( CONST_STR(value),  (ndim),  (lenvals),          
  441.                        CONST_VOID(array)                      ) )
  442.    #define  isrchd_c( value, ndim, array )                             
  443.                                                                        
  444.         (   isrchd_c( (value),  (ndim),  CONST_VEC(array) )  )
  445.    #define  isrchi_c( value, ndim, array )                             
  446.                                                                        
  447.         (   isrchi_c( (value),  (ndim),  CONST_IVEC(array) )  )
  448.    #define  isrot_c( m, ntol, dtol )                                   
  449.                                                                        
  450.         (   isrot_c ( CONST_MAT(m), (ntol), (dtol) )   )
  451.         
  452.         
  453.    #define  lmpool_c( cvals, lenvals, n )                              
  454.                                                                        
  455.         (   lmpool_c( CONST_VOID(cvals), (lenvals), (n) )  )
  456.    #define  lstltc_c( value, ndim, lenvals, array )                    
  457.                                                                        
  458.         (   lstltc_c ( CONST_STR(value),  (ndim),  (lenvals),          
  459.                        CONST_VOID(array)                      ) )
  460.    #define  lstled_c( value, ndim, array )                             
  461.                                                                        
  462.         (   lstled_c( (value),  (ndim),  CONST_VEC(array) )  )
  463.    #define  lstlei_c( value, ndim, array )                             
  464.                                                                        
  465.         (   lstlei_c( (value),  (ndim),  CONST_IVEC(array) )  )
  466.    #define  lstlec_c( value, ndim, lenvals, array )                    
  467.                                                                        
  468.         (   lstlec_c ( CONST_STR(value),  (ndim),  (lenvals),          
  469.                        CONST_VOID(array)                      ) )
  470.    #define  lstltd_c( value, ndim, array )                             
  471.                                                                        
  472.         (   lstltd_c( (value),  (ndim),  CONST_VEC(array) )  )
  473.    #define  lstlti_c( value, ndim, array )                             
  474.                                                                        
  475.         (   lstlti_c( (value),  (ndim),  CONST_IVEC(array) )  )
  476.    #define  m2eul_c( r, axis3,  axis2,  axis1,                         
  477.                         angle3, angle2, angle1 )                       
  478.                                                                        
  479.         (   m2eul_c ( CONST_MAT(r), (axis3),  (axis2),  (axis1),       
  480.                                     (angle3), (angle2), (angle1) )   ) 
  481.                                                                        
  482.    #define  m2q_c( r, q )                                              
  483.                                                                        
  484.         (   m2q_c ( CONST_MAT(r), (q) )   )
  485.         
  486.         
  487.    #define  mequ_c( m1, m2 )                                           
  488.                                                                        
  489.            ( mequ_c  ( CONST_MAT(m1), m2 ) )
  490.    
  491.    #define  mequg_c( m1, nr, nc, mout )                                
  492.                                                                        
  493.         (   mequg_c  ( CONST_MAT(m1), (nr), (nc), mout )   )
  494.    
  495.    #define  mtxm_c( m1, m2, mout )                                     
  496.                                                                        
  497.         (   mtxm_c ( CONST_MAT(m1), CONST_MAT(m2), (mout) )   )
  498.    #define  mtxmg_c( m1, m2, ncol1, nr1r2, ncol2, mout )               
  499.                                                                        
  500.         (   mtxmg_c ( CONST_MAT(m1), CONST_MAT(m2),                    
  501.                       (ncol1),       (nr1r2),       (ncol2), (mout) )  )
  502.    #define  mtxv_c( m1, vin, vout )                                    
  503.                                                                        
  504.         (   mtxv_c ( CONST_MAT(m1), CONST_VEC(vin), (vout) )   )
  505.    #define  mtxvg_c( m1, v2, nrow1, nc1r2, vout )                      
  506.                                                                        
  507.         (   mtxvg_c( CONST_VOID(m1), CONST_VOID(v2),                   
  508.                     (nrow1),        (nc1r2),       (vout) )   )
  509.    #define  mxm_c( m1, m2, mout )                                      
  510.                                                                        
  511.         (   mxm_c ( CONST_MAT(m1), CONST_MAT(m2), (mout) )   )
  512.    #define  mxmg_c( m1, m2, row1, col1, col2, mout )                   
  513.                                                                        
  514.         (   mxmg_c ( CONST_VOID(m1), CONST_VOID(m2),                   
  515.                      (row1), (col1), (col2), (mout) )   )
  516.    #define  mxmt_c( m1, m2, mout )                                     
  517.                                                                        
  518.         (   mxmt_c ( CONST_MAT(m1), CONST_MAT(m2), (mout) )   )
  519.    #define  mxmtg_c( m1, m2, nrow1, nc1c2, nrow2, mout )               
  520.                                                                        
  521.         (   mxmtg_c ( CONST_VOID(m1), CONST_VOID(m2),                  
  522.                       (nrow1),        (nc1c2),                         
  523.                       (nrow2),        (mout)             )   )
  524.    #define  mxv_c( m1, vin, vout )                                     
  525.                                                                        
  526.         (   mxv_c ( CONST_MAT(m1), CONST_VEC(vin), (vout) )   )
  527.    #define  mxvg_c( m1, v2, nrow1, nc1r2, vout )                       
  528.                                                                        
  529.         (   mxvg_c( CONST_VOID(m1), CONST_VOID(v2),                    
  530.                     (nrow1),        (nc1r2),       (vout) )   )
  531.    #define  nearpt_c( positn, a, b, c, npoint, alt )                   
  532.                                                                        
  533.         (   nearpt_c ( CONST_VEC(positn), (a),  (b),  (c),             
  534.                        (npoint),          (alt)            )   )
  535.    #define  npedln_c( a, b, c, linept, linedr, pnear, dist )           
  536.                                                                        
  537.         (   npedln_c ( (a),               (b),               (c),      
  538.                        CONST_VEC(linept), CONST_VEC(linedr),           
  539.                        (pnear),           (dist)                 )   )
  540.    #define  nplnpt_c( linpt, lindir, point, pnear, dist )              
  541.                                                                        
  542.         (   nplnpt_c ( CONST_VEC(linpt), CONST_VEC(lindir),            
  543.                        CONST_VEC(point), (pnear), (dist )   )   )
  544.         
  545.         
  546.    #define  nvc2pl_c( normal, constant, plane )                        
  547.                                                                        
  548.         (   nvc2pl_c ( CONST_VEC(normal), (constant), (plane) )  )
  549.    #define  nvp2pl_c( normal, point, plane )                           
  550.                                                                        
  551.         (   nvp2pl_c( CONST_VEC(normal), CONST_VEC(point), (plane) )  )
  552.    #define  orderc_c( lenvals, array, ndim, iorder )                   
  553.                                                                        
  554.         (   orderc_c ( (lenvals), CONST_VOID(array), (ndim), (iorder)) )
  555.    #define  orderd_c( array, ndim, iorder )                            
  556.                                                                        
  557.         (   orderd_c ( CONST_VEC(array), (ndim), (iorder) )  )
  558.    #define  orderi_c( array, ndim, iorder )                            
  559.                                                                        
  560.         (   orderi_c ( CONST_IVEC(array), (ndim), (iorder) )  )
  561.    #define  oscelt_c( state, et, mu, elts )                            
  562.                                                                        
  563.         (   oscelt_c ( CONST_VEC(state), (et), (mu), (elts)  )   )
  564.    #define  pcpool_c( name, n, lenvals, cvals )                        
  565.                                                                        
  566.         (   pcpool_c ( (name), (n), (lenvals), CONST_VOID(cvals) )  )
  567.    #define  pdpool_c( name, n, dvals )                                 
  568.                                                                        
  569.         (   pdpool_c ( (name), (n), CONST_VEC(dvals) )  )
  570.    #define  pipool_c( name, n, ivals )                                 
  571.                                                                        
  572.         (   pipool_c ( (name), (n), CONST_IVEC(ivals) )  )
  573.    #define  pl2nvc_c( plane, normal, constant )                        
  574.                                                                        
  575.         (   pl2nvc_c ( CONST_PLANE(plane),  (normal), (constant) )  )
  576.    #define  pl2nvp_c( plane, normal, point )                           
  577.                                                                        
  578.         (   pl2nvp_c ( CONST_PLANE(plane),  (normal), (point) )  )
  579.    #define  pl2psv_c( plane, point, span1, span2 )                     
  580.                                                                        
  581.         (   pl2psv_c( CONST_PLANE(plane), (point), (span1), (span2) )  )
  582.    #define  prop2b_c( gm, pvinit, dt, pvprop )                         
  583.                                                                        
  584.         (   prop2b_c ( (gm),  CONST_VEC(pvinit), (dt), (pvprop)  )   )
  585.    #define  psv2pl_c( point, span1, span2, plane )                     
  586.                                                                        
  587.         (   psv2pl_c ( CONST_VEC(point),  CONST_VEC(span1),            
  588.                        CONST_VEC(span2),  (plane)           )   )
  589.    #define  qdq2av_c( q, dq, av )                                      
  590.                                                                        
  591.         (   qdq2av_c ( CONST_VEC(q), CONST_VEC(dq),  (av) )    )
  592.    #define  q2m_c( q, r )                                              
  593.                                                                        
  594.         (   q2m_c ( CONST_VEC(q), (r) )    )
  595.    #define  qxq_c( q1, q2, qout )                                      
  596.                                                                        
  597.         (   qxq_c ( CONST_VEC(q1), CONST_VEC(q2),  (qout) )    )
  598.    #define  rav2xf_c( rot, av, xform )                                 
  599.                                                                        
  600.         (   rav2xf_c ( CONST_MAT(rot), CONST_VEC(av), (xform) )   )
  601.    
  602.    
  603.    #define  raxisa_c( matrix, axis, angle )                            
  604.                                                                        
  605.         (   raxisa_c ( CONST_MAT(matrix), (axis), (angle) )   );            
  606.                                 
  607.    #define  reccyl_c( rectan, r, lon, z )                              
  608.                                                                        
  609.         (   reccyl_c ( CONST_VEC(rectan), (r), (lon), (z)  )   )
  610.    #define  recgeo_c( rectan, re, f, lon, lat, alt )                   
  611.                                                                        
  612.         (   recgeo_c ( CONST_VEC(rectan), (re),   (f),                 
  613.                        (lon),             (lat),  (alt) )   )
  614.    #define  reclat_c( rectan, r, lon, lat )                            
  615.                                                                        
  616.         (   reclat_c ( CONST_VEC(rectan), (r), (lon), (lat)  )   )
  617.    #define  recrad_c( rectan, radius, ra, dec )                        
  618.                                                                        
  619.         (   recrad_c ( CONST_VEC(rectan), (radius), (ra), (dec)  )   )
  620.    #define  recsph_c( rectan, r, colat, lon )                          
  621.                                                                        
  622.         (   recsph_c ( CONST_VEC(rectan), (r), (colat), (lon)  )   )
  623.    #define  reordd_c( iorder, ndim, array )                            
  624.                                                                        
  625.         (   reordd_c ( CONST_IVEC(iorder), (ndim), (array) )  )
  626.    #define  reordi_c( iorder, ndim, array )                            
  627.                                                                        
  628.         (   reordi_c ( CONST_IVEC(iorder), (ndim), (array) )  )
  629.    #define  reordl_c( iorder, ndim, array )                            
  630.                                                                        
  631.         (   reordl_c ( CONST_IVEC(iorder), (ndim), (array) )  )
  632.    #define  rotmat_c( m1, angle, iaxis, mout  )                        
  633.                                                                        
  634.         (   rotmat_c ( CONST_MAT(m1), (angle), (iaxis), (mout)  )   )
  635.    #define  rotvec_c( v1, angle, iaxis, vout )                         
  636.                                                                        
  637.         (   rotvec_c ( CONST_VEC(v1), (angle), (iaxis), (vout)  )   )
  638.    #define  saelgv_c( vec1, vec2, smajor, sminor )                     
  639.                                                                        
  640.         (   saelgv_c ( CONST_VEC(vec1),  CONST_VEC(vec2),              
  641.                        (smajor),         (sminor)         )   )
  642.    #define  spk14a_c( handle, ncsets, coeffs, epochs )                 
  643.                                                                        
  644.         (   spk14a_c ( (handle),           (ncsets),                   
  645.                        CONST_VEC(coeffs),  CONST_VEC(epochs) )  ) 
  646.    
  647.    
  648.    #define  spkapo_c( targ, et, ref, sobs, abcorr, ptarg, lt )         
  649.                                                                        
  650.         (   spkapo_c ( (targ),   (et),    (ref), CONST_VEC(sobs),      
  651.                        (abcorr), (ptarg), (lt)                   )  )
  652.    #define  spkapp_c( targ, et, ref, sobs, abcorr, starg, lt )         
  653.                                                                        
  654.         (   spkapp_c ( (targ),   (et),    (ref), CONST_VEC(sobs),      
  655.                        (abcorr), (starg), (lt)                   )  )
  656.    #define  spkaps_c( targ,   et,    ref, abcorr, sobs,                
  657.                       accobs, starg, lt,  dlt           )              
  658.                                                                        
  659.         (   spkaps_c ( (targ),   (et),  (ref),  (abcorr),              
  660.                        CONST_VEC(sobs), CONST_VEC(accobs),             
  661.                        (starg),  (lt),  (dlt)              )   )
  662.    #define  spkltc_c( targ, et, ref, abcorr, sobs, starg, lt, dlt )    
  663.                                                                        
  664.         (   spkltc_c ( (targ),   (et),  (ref),    (abcorr),            
  665.                        CONST_VEC(sobs), (starg),  (lt),     (dlt) )  )
  666.    #define  spkuds_c( descr, body, center, frame, type,                
  667.                       first, last, begin,  end         )               
  668.                                                                        
  669.         (   spkuds_c ( CONST_VEC(descr), (body), (center), (frame),    
  670.                        (type),  (first), (last), (begin),  (end)    )  )
  671.    #define  spkw02_c( handle, body,   center, frame,  first,  last,    
  672.                       segid,  intlen, n,      polydg, cdata,  btime )  
  673.                                                                        
  674.         (   spkw02_c ( (handle), (body),   (center),         (frame),  
  675.                        (first),  (last),   (segid),          (intlen), 
  676.                        (n),      (polydg), CONST_VEC(cdata), (btime) ) )
  677.    #define  spkw03_c( handle, body,   center, frame,  first,  last,    
  678.                       segid,  intlen, n,      polydg, cdata,  btime )  
  679.                                                                        
  680.         (   spkw03_c ( (handle), (body),   (center),         (frame),  
  681.                        (first),  (last),   (segid),          (intlen), 
  682.                        (n),      (polydg), CONST_VEC(cdata), (btime) ) )
  683.    #define  spkw05_c( handle, body,   center, frame,  first,  last,    
  684.                       segid,  gm,     n,      states, epochs        )  
  685.                                                                        
  686.         (   spkw05_c ( (handle),  (body),   (center),   (frame),       
  687.                        (first),   (last),   (segid),    (gm),          
  688.                        (n),                                            
  689.                        CONST_MAT6(states),  CONST_VEC(epochs)    )   )
  690.    #define  spkw08_c( handle, body,   center, frame,  first,  last,    
  691.                       segid,  degree, n,      states, epoch1, step )   
  692.                                                                        
  693.         (   spkw08_c ( (handle),  (body),   (center),   (frame),       
  694.                        (first),   (last),   (segid),    (degree),      
  695.                        (n),       CONST_MAT6(states),   (epoch1),      
  696.                        (step)                                     )   )
  697.    #define  spkw09_c( handle, body,   center, frame,  first,  last,    
  698.                       segid,  degree, n,      states, epochs       )   
  699.                                                                        
  700.         (   spkw09_c ( (handle), (body),   (center), (frame),          
  701.                        (first),  (last),   (segid),  (degree),  (n),   
  702.                        CONST_MAT6(states), CONST_VEC(epochs)        )  )
  703.    #define  spkw10_c( handle, body,   center, frame,  first,  last,    
  704.                       segid,  consts, n,      elems,  epochs       )   
  705.                                                                        
  706.         (   spkw10_c ( (handle), (body),  (center), (frame),           
  707.                        (first),  (last),  (segid),  CONST_VEC(consts), 
  708.                        (n),      CONST_VEC(elems),  CONST_VEC(epochs)) )
  709.    #define  spkw12_c( handle, body,   center, frame,  first,  last,    
  710.                       segid,  degree, n,      states, epoch0, step )   
  711.                                                                        
  712.         (   spkw12_c ( (handle),  (body),   (center),   (frame),       
  713.                        (first),   (last),   (segid),    (degree),      
  714.                        (n),       CONST_MAT6(states),   (epoch0),      
  715.                        (step)                                     )   )
  716.    #define  spkw13_c( handle, body,   center, frame,  first,  last,    
  717.                       segid,  degree, n,      states, epochs       )   
  718.                                                                        
  719.         (   spkw13_c ( (handle), (body),   (center), (frame),          
  720.                        (first),  (last),   (segid),  (degree),  (n),   
  721.                        CONST_MAT6(states), CONST_VEC(epochs)        )  )
  722.    #define  spkw15_c( handle, body,   center, frame,  first,  last,    
  723.                       segid,  epoch,  tp,     pa,     p,      ecc,     
  724.                       j2flg,  pv,     gm,     j2,     radius         ) 
  725.                                                                        
  726.         (   spkw15_c ( (handle), (body),  (center), (frame),           
  727.                        (first),  (last),  (segid),  (epoch),           
  728.                        CONST_VEC(tp),     CONST_VEC(pa),               
  729.                        (p),      (ecc),   (j2flg),  CONST_VEC(pv),     
  730.                        (gm),     (j2),    (radius)                )   )
  731.    #define  spkw17_c( handle, body,   center, frame,  first,  last,    
  732.                       segid,  epoch,  eqel,   rapol,  decpol       )   
  733.                                                                        
  734.         (   spkw17_c ( (handle), (body),  (center), (frame),           
  735.                        (first),  (last),  (segid),  (epoch),           
  736.                        CONST_VEC(eqel),   (rapol),  (decpol)  )   )
  737.    #define  spkw18_c( handle, subtyp, body,   center, frame,  first,   
  738.                       last,   segid,  degree, n,      packts, epochs ) 
  739.                                                                        
  740.         (   spkw18_c ( (handle), (subtyp), (body),  (center), (frame), 
  741.                        (first),  (last),   (segid), (degree), (n),     
  742.                        CONST_VOID(packts), CONST_VEC(epochs)        )  )
  743.    #define  srfxpt_c( method, target, et,    abcorr, obsrvr, dref,     
  744.                       dvec,   spoint, dist,  trgepc, obspos, found )   
  745.                                                                        
  746.         (   srfxpt_c ( (method), (target),  (et), (abcorr), (obsrvr),  
  747.                        (dref),   CONST_VEC(dvec), (spoint), (dist),    
  748.                        (trgepc), (obspos),        (found)          )   )
  749.    #define  stelab_c( pobj, vobj, appobj )                             
  750.                                                                        
  751.         (   stelab_c ( CONST_VEC(pobj), CONST_VEC(vobj), (appobj)  )   )
  752.    #define  sumad_c( array, n )                                        
  753.                                                                        
  754.         (   sumad_c ( CONST_VEC(array), (n)  )   )
  755.    #define  sumai_c( array, n )                                        
  756.                                                                        
  757.         (   sumai_c ( CONST_IVEC(array), (n)  )   )
  758.    #define  surfnm_c( a, b, c, point, normal )                         
  759.                                                                        
  760.         (   surfnm_c ( (a), (b), (c), CONST_VEC(point), (normal) )   )
  761.    #define  surfpt_c( positn, u, a, b, c, point, found )               
  762.                                                                        
  763.         (   surfpt_c ( CONST_VEC(positn), CONST_VEC(u),                
  764.                        (a),               (b),               (c),      
  765.                        (point),           (found)                 )   )
  766.    #define  swpool_c( agent, nnames, lenvals, names )                  
  767.                                                                        
  768.         (   swpool_c( CONST_STR(agent), (nnames),                      
  769.                       (lenvals),        CONST_VOID(names)         )    )
  770.    #define  trace_c( m1 )                                              
  771.                                                                        
  772.            ( trace_c ( CONST_MAT(m1) ) )
  773.    #define  twovec_c( axdef, indexa, plndef, indexp, mout )            
  774.                                                                        
  775.         (   twovec_c ( CONST_VEC(axdef),  (indexa),                    
  776.                        CONST_VEC(plndef), (indexp), (mout) )   )
  777.    #define  ucrss_c( v1, v2, vout )                                    
  778.                                                                        
  779.         (   ucrss_c ( CONST_VEC(v1), CONST_VEC(v2), (vout) )   )
  780.    #define  unorm_c( v1, vout, vmag )                                  
  781.                                                                        
  782.         (   unorm_c ( CONST_VEC(v1), (vout), (vmag) )   )
  783.    #define  unormg_c( v1, ndim, vout, vmag )                           
  784.                                                                        
  785.         (   unormg_c ( CONST_VEC(v1), (ndim), (vout), (vmag) )   )
  786.    #define  vadd_c( v1, v2, vout )                                     
  787.                                                                        
  788.         (   vadd_c ( CONST_VEC(v1), CONST_VEC(v2), (vout) )   )
  789.    #define  vaddg_c( v1, v2, ndim,vout )                               
  790.                                                                        
  791.         (  vaddg_c ( CONST_VEC(v1), CONST_VEC(v2), (ndim), (vout) ) )
  792.    
  793.    #define  vcrss_c( v1, v2, vout )                                    
  794.                                                                        
  795.         (   vcrss_c ( CONST_VEC(v1), CONST_VEC(v2), (vout) )   )
  796.    #define  vdist_c( v1, v2 )                                          
  797.                                                                        
  798.         (   vdist_c ( CONST_VEC(v1), CONST_VEC(v2) )   )
  799.    #define  vdistg_c( v1, v2, ndim )                                   
  800.                                                                        
  801.         (   vdistg_c ( CONST_VEC(v1), CONST_VEC(v2), (ndim) )   )
  802.    #define  vdot_c( v1, v2 )                                           
  803.                                                                        
  804.         (   vdot_c ( CONST_VEC(v1), CONST_VEC(v2) )   )
  805.    #define  vdotg_c( v1, v2, ndim )                                    
  806.                                                                        
  807.         (   vdotg_c ( CONST_VEC(v1), CONST_VEC(v2), (ndim) )   )
  808.    #define  vequ_c( vin, vout )                                        
  809.                                                                        
  810.         (   vequ_c ( CONST_VEC(vin), (vout) )   )
  811.    #define  vequg_c( vin, ndim, vout )                                 
  812.                                                                        
  813.         (   vequg_c ( CONST_VEC(vin), (ndim), (vout) )   )
  814.    #define  vhat_c( v1, vout )                                         
  815.                                                                        
  816.         (   vhat_c ( CONST_VEC(v1), (vout) )   )
  817.    #define  vhatg_c( v1, ndim, vout )                                  
  818.                                                                        
  819.         (   vhatg_c ( CONST_VEC(v1), (ndim), (vout) )   )
  820.    #define  vlcom3_c( a, v1, b, v2, c, v3, sum )                       
  821.                                                                        
  822.         (   vlcom3_c ( (a), CONST_VEC(v1),                             
  823.                        (b), CONST_VEC(v2),                             
  824.                        (c), CONST_VEC(v3), (sum) )   )
  825.    #define  vlcom_c( a, v1, b, v2, sum )                               
  826.                                                                        
  827.         (   vlcom_c ( (a), CONST_VEC(v1),                              
  828.                       (b), CONST_VEC(v2), (sum) )   )
  829.    #define  vlcomg_c( n, a, v1, b, v2, sum )                           
  830.                                                                        
  831.            ( vlcomg_c ( (n), (a), CONST_VEC(v1),                       
  832.                              (b), CONST_VEC(v2),  (sum) )   )
  833.    #define  vminug_c( v1, ndim, vout )                                 
  834.                                                                        
  835.        (   vminug_c ( CONST_VEC(v1), (ndim), (vout) )   )
  836.            
  837.            
  838.    #define  vminus_c( v1, vout )                                       
  839.                                                                        
  840.         (   vminus_c ( CONST_VEC(v1), (vout) )   )
  841.    #define  vnorm_c( v1 )                                              
  842.                                                                        
  843.         (   vnorm_c ( CONST_VEC(v1) )   )
  844.    #define  vnormg_c( v1, ndim )                                       
  845.                                                                        
  846.         (   vnormg_c ( CONST_VEC(v1), (ndim) )   )
  847.    #define  vperp_c( a, b, p )                                         
  848.                                                                        
  849.         (   vperp_c ( CONST_VEC(a), CONST_VEC(b), (p) )   )
  850.    #define  vprjp_c( vin, plane, vout )                                
  851.                                                                        
  852.         (   vprjp_c ( CONST_VEC(vin), CONST_PLANE(plane), (vout) )   )
  853.    #define  vprjpi_c( vin, projpl, invpl, vout, found )                
  854.                                                                        
  855.         (   vprjpi_c( CONST_VEC(vin),     CONST_PLANE(projpl),         
  856.                       CONST_PLANE(invpl), (vout),           (found) ) )
  857.    #define  vproj_c( a, b, p )                                         
  858.                                                                        
  859.         (   vproj_c ( CONST_VEC(a), CONST_VEC(b), (p) )   )
  860.    #define  vrel_c( v1, v2 )                                           
  861.                                                                        
  862.            ( vrel_c ( CONST_VEC(v1), CONST_VEC(v2) )   )
  863.    
  864.     
  865.    #define  vrelg_c( v1, v2, ndim )                                    
  866.                                                                        
  867.            ( vrelg_c ( CONST_VEC(v1), CONST_VEC(v2), (ndim) )   )
  868.    #define  vrotv_c( v, axis, theta, r )                               
  869.                                                                        
  870.         (   vrotv_c ( CONST_VEC(v), CONST_VEC(axis), (theta), (r) )   )
  871.    #define  vscl_c( s, v1, vout )                                      
  872.                                                                        
  873.         (   vscl_c ( (s), CONST_VEC(v1), (vout) )   )
  874.    #define  vsclg_c( s, v1, ndim, vout )                               
  875.                                                                        
  876.         (   vsclg_c ( (s), CONST_VEC(v1), (ndim), (vout) )   )
  877.    #define  vsep_c( v1, v2 )                                           
  878.                                                                        
  879.         (   vsep_c ( CONST_VEC(v1), CONST_VEC(v2) )   )
  880.    #define  vsepg_c( v1, v2, ndim)                                     
  881.                                                                        
  882.            ( vsepg_c ( CONST_VEC(v1), CONST_VEC(v2), ndim )  )
  883.    
  884.    
  885.    #define  vsub_c( v1, v2, vout )                                     
  886.                                                                        
  887.         (   vsub_c ( CONST_VEC(v1), CONST_VEC(v2), (vout) )   )
  888.    #define  vsubg_c( v1, v2, ndim, vout )                              
  889.                                                                        
  890.         (   vsubg_c ( CONST_VEC(v1), CONST_VEC(v2),                    
  891.                       (ndim),        (vout)            )   )
  892.    #define  vtmv_c( v1, mat, v2 )                                      
  893.                                                                        
  894.         ( vtmv_c ( CONST_VEC(v1), CONST_MAT(mat), CONST_VEC(v2) ) )
  895.    
  896.    
  897.    #define  vtmvg_c( v1, mat, v2, nrow, ncol )                         
  898.                                                                        
  899.         ( vtmvg_c ( CONST_VOID(v1), CONST_VOID(mat), CONST_VOID(v2),   
  900.                    (nrow), (ncol)                                   )  )
  901.    #define  vupack_c( v, x, y, z )                                     
  902.                                                                        
  903.         (   vupack_c ( CONST_VEC(v), (x), (y), (z) )   )
  904.    #define  vzero_c( v1 )                                              
  905.                                                                        
  906.         (   vzero_c ( CONST_VEC(v1) )   )
  907.    #define  vzerog_c( v1, ndim )                                       
  908.                                                                        
  909.            (   vzerog_c ( CONST_VEC(v1), (ndim) )   )
  910.    #define  xf2eul_c( xform, axisa, axisb, axisc, eulang, unique )     
  911.                                                                        
  912.         (   xf2eul_c( CONST_MAT6(xform), (axisa), (axisb), (axisc),    
  913.                       (eulang),          (unique)                  )  )  
  914.    #define  xf2rav_c( xform, rot, av )                                 
  915.                                                                        
  916.         (   xf2rav_c( CONST_MAT6(xform), (rot), (av) )   )  
  917.    #define  xpose6_c( m1, mout )                                       
  918.                                                                        
  919.         (   xpose6_c ( CONST_MAT6(m1), (mout) )   )
  920.    #define  xpose_c( m1, mout )                                        
  921.                                                                        
  922.         (   xpose_c ( CONST_MAT(m1), (mout) )   )
  923.    #define  xposeg_c( matrix, nrow, ncol, mout )                       
  924.                                                                        
  925.         (   xposeg_c ( CONST_VOID(matrix), (nrow), (ncol), (mout) )   )
  926. #endif