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

OpenGL

开发平台:

Visual C++

  1. /*
  2. -Header_File f2cMang.h ( f2c external symbol mangling )
  3. -Abstract
  4.    Define macros that mangle the external symbols in the f2c F77 and I77
  5.    libraries.
  6.       
  7. -Disclaimer
  8.    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
  9.    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
  10.    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
  11.    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
  12.    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
  13.    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
  14.    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
  15.    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
  16.    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
  17.    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
  18.    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
  19.    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
  20.    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  21.    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
  22.    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
  23.    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
  24.    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
  25.    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
  26.    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
  27.    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
  28. -Required_Reading
  29.    None.
  30.    
  31. -Particulars
  32.    This header supports linking CSPICE into executables that
  33.    also link in objects compiled from Fortran, in particular
  34.    ones that perform Fortran I/O.  To enable this odd mix,
  35.    one defines the  preprocessor flag
  36.       MIX_C_AND_FORTRAN
  37.    This macro is undefined by default, since the action it invokes
  38.    is usually not desirable.  When the flag is defined, this header
  39.    defines macros that mangle the f2c library external symbols:
  40.    the symbol
  41.       xxx
  42.    gets mapped to 
  43.       xxx_f2c
  44.    This mangling prevents name collisions between the f2c 
  45.    implementations of the F77 and I77 library routines and those 
  46.    in the corresponding Fortran libraries on a host system.
  47.    
  48.    The set of external symbols defined in the f2c libraries can
  49.    be determined by combining objects from both F77 and I77 into
  50.    a single Unix archive libarary, then running the Unix utility
  51.    nm on the that archive.  If available, an nm option that selects
  52.    only external symbols should be invoked.
  53. -Literature_References
  54.    None.
  55. -Author_and_Institution
  56.    N.J. Bachman       (JPL)
  57.    
  58. -Restrictions
  59.    1) It is recommended that use of the features implemented by this
  60.       header be avoided if at all possible.  There are robustness and
  61.       portability problems associated with linking Fortran and C objects
  62.       together in one executable.
  63.    2) When f2c external symbol name mangling is invoked, objects
  64.       derived from C code translated from Fortran by f2c won't
  65.       link against CSPICE any longer, if these objects reference
  66.       the standard f2c external symbols.
  67.    3) The features implemented by this header have been tested only
  68.       under the Sun Solaris GCC and Sun Solaris native ANSI C
  69.       environments.
  70. -Version
  71.    -CSPICE Version 2.0.0, 19-DEC-2001 (NJB)
  72. */
  73.    /*
  74.    Define masking macros for f2c external symbols.
  75.    */
  76.    #ifdef  MIX_C_AND_FORTRAN
  77.       /*
  78.       Define the macros only once, if they need to be defined.
  79.       */
  80.       #ifndef F2C_MANGLING_DONE
  81.          #define F77_aloc  F77_aloc_f2c 
  82.          #define F_err  F_err_f2c 
  83.          #define L_len  L_len_f2c 
  84.          #define abort_  abort__f2c 
  85.          #define b_char  b_char_f2c 
  86.          #define c_abs  c_abs_f2c 
  87.          #define c_cos  c_cos_f2c 
  88.          #define c_dfe  c_dfe_f2c 
  89.          #define c_div  c_div_f2c 
  90.          #define c_due  c_due_f2c 
  91.          #define c_exp  c_exp_f2c 
  92.          #define c_le  c_le_f2c 
  93.          #define c_log  c_log_f2c 
  94.          #define c_sfe  c_sfe_f2c 
  95.          #define c_si  c_si_f2c 
  96.          #define c_sin  c_sin_f2c 
  97.          #define c_sqrt  c_sqrt_f2c 
  98.          #define c_sue  c_sue_f2c 
  99.          #define d_abs  d_abs_f2c 
  100.          #define d_acos  d_acos_f2c 
  101.          #define d_asin  d_asin_f2c 
  102.          #define d_atan  d_atan_f2c 
  103.          #define d_atn2  d_atn2_f2c 
  104.          #define d_cnjg  d_cnjg_f2c 
  105.          #define d_cos  d_cos_f2c 
  106.          #define d_cosh  d_cosh_f2c 
  107.          #define d_dim  d_dim_f2c 
  108.          #define d_exp  d_exp_f2c 
  109.          #define d_imag  d_imag_f2c 
  110.          #define d_int  d_int_f2c 
  111.          #define d_lg10  d_lg10_f2c 
  112.          #define d_log  d_log_f2c 
  113.          #define d_mod  d_mod_f2c 
  114.          #define d_nint  d_nint_f2c 
  115.          #define d_prod  d_prod_f2c 
  116.          #define d_sign  d_sign_f2c 
  117.          #define d_sin  d_sin_f2c 
  118.          #define d_sinh  d_sinh_f2c 
  119.          #define d_sqrt  d_sqrt_f2c 
  120.          #define d_tan  d_tan_f2c 
  121.          #define d_tanh  d_tanh_f2c 
  122.          #define derf_  derf__f2c 
  123.          #define derfc_  derfc__f2c 
  124.          #define do_fio  do_fio_f2c 
  125.          #define do_lio  do_lio_f2c 
  126.          #define do_ud  do_ud_f2c 
  127.          #define do_uio  do_uio_f2c 
  128.          #define do_us  do_us_f2c 
  129.          #define dtime_  dtime__f2c 
  130.          #define e_rdfe  e_rdfe_f2c 
  131.          #define e_rdue  e_rdue_f2c 
  132.          #define e_rsfe  e_rsfe_f2c 
  133.          #define e_rsfi  e_rsfi_f2c 
  134.          #define e_rsle  e_rsle_f2c 
  135.          #define e_rsli  e_rsli_f2c 
  136.          #define e_rsue  e_rsue_f2c 
  137.          #define e_wdfe  e_wdfe_f2c 
  138.          #define e_wdue  e_wdue_f2c 
  139.          #define e_wsfe  e_wsfe_f2c 
  140.          #define e_wsfi  e_wsfi_f2c 
  141.          #define e_wsle  e_wsle_f2c 
  142.          #define e_wsli  e_wsli_f2c 
  143.          #define e_wsue  e_wsue_f2c 
  144.          #define ef1asc_  ef1asc__f2c 
  145.          #define ef1cmc_  ef1cmc__f2c 
  146.          #define en_fio  en_fio_f2c 
  147.          #define erf_  erf__f2c 
  148.          #define erfc_  erfc__f2c 
  149.          #define err__fl  err__fl_f2c 
  150.          #define etime_  etime__f2c 
  151.          #define exit_  exit__f2c 
  152.          #define f__Aquote  f__Aquote_f2c 
  153.          #define f__buflen  f__buflen_f2c 
  154.          #define f__cabs  f__cabs_f2c 
  155.          #define f__canseek  f__canseek_f2c 
  156.          #define f__cblank  f__cblank_f2c 
  157.          #define f__cf  f__cf_f2c 
  158.          #define f__cnt  f__cnt_f2c 
  159.          #define f__cp  f__cp_f2c 
  160.          #define f__cplus  f__cplus_f2c 
  161.          #define f__cursor  f__cursor_f2c 
  162.          #define f__curunit  f__curunit_f2c 
  163.          #define f__doed  f__doed_f2c 
  164.          #define f__doend  f__doend_f2c 
  165.          #define f__doned  f__doned_f2c 
  166.          #define f__donewrec  f__donewrec_f2c 
  167.          #define f__dorevert  f__dorevert_f2c 
  168.          #define f__elist  f__elist_f2c 
  169.          #define f__external  f__external_f2c 
  170.          #define f__fatal  f__fatal_f2c 
  171.          #define f__fmtbuf  f__fmtbuf_f2c 
  172.          #define f__formatted  f__formatted_f2c 
  173.          #define f__getn  f__getn_f2c 
  174.          #define f__hiwater  f__hiwater_f2c 
  175.          #define f__icend  f__icend_f2c 
  176.          #define f__icnum  f__icnum_f2c 
  177.          #define f__icptr  f__icptr_f2c 
  178.          #define f__icvt  f__icvt_f2c 
  179.          #define f__init  f__init_f2c 
  180.          #define f__inode  f__inode_f2c 
  181.          #define f__lchar  f__lchar_f2c 
  182.          #define f__lcount  f__lcount_f2c 
  183.          #define f__lioproc  f__lioproc_f2c 
  184.          #define f__lquit  f__lquit_f2c 
  185.          #define f__ltab  f__ltab_f2c 
  186.          #define f__ltype  f__ltype_f2c 
  187.          #define f__lx  f__lx_f2c 
  188.          #define f__ly  f__ly_f2c 
  189.          #define f__nonl  f__nonl_f2c 
  190.          #define f__nowreading  f__nowreading_f2c 
  191.          #define f__nowwriting  f__nowwriting_f2c 
  192.          #define f__parenlvl  f__parenlvl_f2c 
  193.          #define f__pc  f__pc_f2c 
  194.          #define f__putbuf  f__putbuf_f2c 
  195.          #define f__putn  f__putn_f2c 
  196.          #define f__r_mode  f__r_mode_f2c 
  197.          #define f__reading  f__reading_f2c 
  198.          #define f__reclen  f__reclen_f2c 
  199.          #define f__recloc  f__recloc_f2c 
  200.          #define f__recpos  f__recpos_f2c 
  201.          #define f__ret  f__ret_f2c 
  202.          #define f__revloc  f__revloc_f2c 
  203.          #define f__rp  f__rp_f2c 
  204.          #define f__scale  f__scale_f2c 
  205.          #define f__sequential  f__sequential_f2c 
  206.          #define f__svic  f__svic_f2c 
  207.          #define f__typesize  f__typesize_f2c 
  208.          #define f__units  f__units_f2c 
  209.          #define f__w_mode  f__w_mode_f2c 
  210.          #define f__workdone  f__workdone_f2c 
  211.          #define f_back  f_back_f2c 
  212.          #define f_clos  f_clos_f2c 
  213.          #define f_end  f_end_f2c 
  214.          #define f_exit  f_exit_f2c 
  215.          #define f_init  f_init_f2c 
  216.          #define f_inqu  f_inqu_f2c 
  217.          #define f_open  f_open_f2c 
  218.          #define f_rew  f_rew_f2c 
  219.          #define fk_open  fk_open_f2c 
  220.          #define flush_  flush__f2c 
  221.          #define fmt_bg  fmt_bg_f2c 
  222.          #define fseek_  fseek__f2c 
  223.          #define ftell_  ftell__f2c 
  224.          #define g_char  g_char_f2c 
  225.          #define getenv_  getenv__f2c 
  226.          #define h_abs  h_abs_f2c 
  227.          #define h_dim  h_dim_f2c 
  228.          #define h_dnnt  h_dnnt_f2c 
  229.          #define h_indx  h_indx_f2c 
  230.          #define h_len  h_len_f2c 
  231.          #define h_mod  h_mod_f2c 
  232.          #define h_nint  h_nint_f2c 
  233.          #define h_sign  h_sign_f2c 
  234.          #define hl_ge  hl_ge_f2c 
  235.          #define hl_gt  hl_gt_f2c 
  236.          #define hl_le  hl_le_f2c 
  237.          #define hl_lt  hl_lt_f2c 
  238.          #define i_abs  i_abs_f2c 
  239.          #define i_dim  i_dim_f2c 
  240.          #define i_dnnt  i_dnnt_f2c 
  241.          #define i_indx  i_indx_f2c 
  242.          #define i_len  i_len_f2c 
  243.          #define i_mod  i_mod_f2c 
  244.          #define i_nint  i_nint_f2c 
  245.          #define i_sign  i_sign_f2c 
  246.          #define iw_rev  iw_rev_f2c 
  247.          #define l_eof  l_eof_f2c 
  248.          #define l_ge  l_ge_f2c 
  249.          #define l_getc  l_getc_f2c 
  250.          #define l_gt  l_gt_f2c 
  251.          #define l_le  l_le_f2c 
  252.          #define l_lt  l_lt_f2c 
  253.          #define l_read  l_read_f2c 
  254.          #define l_ungetc  l_ungetc_f2c 
  255.          #define l_write  l_write_f2c 
  256.          #define lbit_bits  lbit_bits_f2c 
  257.          #define lbit_cshift  lbit_cshift_f2c 
  258.          #define lbit_shift  lbit_shift_f2c 
  259.          #define mk_hashtab  mk_hashtab_f2c 
  260.          #define nml_read  nml_read_f2c 
  261.          #define pars_f  pars_f_f2c 
  262.          #define pow_ci  pow_ci_f2c 
  263.          #define pow_dd  pow_dd_f2c 
  264.          #define pow_di  pow_di_f2c 
  265.          #define pow_hh  pow_hh_f2c 
  266.          #define pow_ii  pow_ii_f2c 
  267.          #define pow_ri  pow_ri_f2c 
  268.          #define pow_zi  pow_zi_f2c 
  269.          #define pow_zz  pow_zz_f2c 
  270.          #define r_abs  r_abs_f2c 
  271.          #define r_acos  r_acos_f2c 
  272.          #define r_asin  r_asin_f2c 
  273.          #define r_atan  r_atan_f2c 
  274.          #define r_atn2  r_atn2_f2c 
  275.          #define r_cnjg  r_cnjg_f2c 
  276.          #define r_cos  r_cos_f2c 
  277.          #define r_cosh  r_cosh_f2c 
  278.          #define r_dim  r_dim_f2c 
  279.          #define r_exp  r_exp_f2c 
  280.          #define r_imag  r_imag_f2c 
  281.          #define r_int  r_int_f2c 
  282.          #define r_lg10  r_lg10_f2c 
  283.          #define r_log  r_log_f2c 
  284.          #define r_mod  r_mod_f2c 
  285.          #define r_nint  r_nint_f2c 
  286.          #define r_sign  r_sign_f2c 
  287.          #define r_sin  r_sin_f2c 
  288.          #define r_sinh  r_sinh_f2c 
  289.          #define r_sqrt  r_sqrt_f2c 
  290.          #define r_tan  r_tan_f2c 
  291.          #define r_tanh  r_tanh_f2c 
  292.          #define rd_ed  rd_ed_f2c 
  293.          #define rd_ned  rd_ned_f2c 
  294.          #define s_cat  s_cat_f2c 
  295.          #define s_cmp  s_cmp_f2c 
  296.          #define s_copy  s_copy_f2c 
  297.          #define s_paus  s_paus_f2c 
  298.          #define s_rdfe  s_rdfe_f2c 
  299.          #define s_rdue  s_rdue_f2c 
  300.          #define s_rnge  s_rnge_f2c 
  301.          #define s_rsfe  s_rsfe_f2c 
  302.          #define s_rsfi  s_rsfi_f2c 
  303.          #define s_rsle  s_rsle_f2c 
  304.          #define s_rsli  s_rsli_f2c 
  305.          #define s_rsne  s_rsne_f2c 
  306.          #define s_rsni  s_rsni_f2c 
  307.          #define s_rsue  s_rsue_f2c 
  308.          #define s_stop  s_stop_f2c 
  309.          #define s_wdfe  s_wdfe_f2c 
  310.          #define s_wdue  s_wdue_f2c 
  311.          #define s_wsfe  s_wsfe_f2c 
  312.          #define s_wsfi  s_wsfi_f2c 
  313.          #define s_wsle  s_wsle_f2c 
  314.          #define s_wsli  s_wsli_f2c 
  315.          #define s_wsne  s_wsne_f2c 
  316.          #define s_wsni  s_wsni_f2c 
  317.          #define s_wsue  s_wsue_f2c 
  318.          #define sig_die  sig_die_f2c 
  319.          #define signal_  signal__f2c 
  320.          #define system_  system__f2c 
  321.          #define t_getc  t_getc_f2c 
  322.          #define t_runc  t_runc_f2c 
  323.          #define w_ed  w_ed_f2c 
  324.          #define w_ned  w_ned_f2c 
  325.          #define wrt_E  wrt_E_f2c 
  326.          #define wrt_F  wrt_F_f2c 
  327.          #define wrt_L  wrt_L_f2c 
  328.          #define x_endp  x_endp_f2c 
  329.          #define x_getc  x_getc_f2c 
  330.          #define x_putc  x_putc_f2c 
  331.          #define x_rev  x_rev_f2c 
  332.          #define x_rsne  x_rsne_f2c 
  333.          #define x_wSL  x_wSL_f2c 
  334.          #define x_wsne  x_wsne_f2c 
  335.          #define xrd_SL  xrd_SL_f2c 
  336.          #define y_getc  y_getc_f2c 
  337.          #define y_rsk  y_rsk_f2c 
  338.          #define z_abs  z_abs_f2c 
  339.          #define z_cos  z_cos_f2c 
  340.          #define z_div  z_div_f2c 
  341.          #define z_exp  z_exp_f2c 
  342.          #define z_getc  z_getc_f2c 
  343.          #define z_log  z_log_f2c 
  344.          #define z_putc  z_putc_f2c 
  345.          #define z_rnew  z_rnew_f2c 
  346.          #define z_sin  z_sin_f2c 
  347.          #define z_sqrt  z_sqrt_f2c 
  348.          #define z_wnew  z_wnew_f2c 
  349.          #define F2C_MANGLING_DONE
  350.       #endif
  351.    #endif