Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

cernlib.h

Go to the documentation of this file.
00001 
00017 #ifndef H_CERNLIB
00018 #define H_CERNLIB
00019 #include "jbltools/kinfit/ftypes.h"
00020 extern "C" {
00021  // F010
00022   void reqn_  (FInteger *n, FReal   *a, FInteger *idim, FInteger *ir, FInteger *ifail,
00023                FInteger *k, FReal   *b);   
00024   void deqn_  (FInteger *n, FDouble *a, FInteger *idim, FInteger *ir, FInteger *ifail,
00025                FInteger *k, FDouble *b);   
00026   void rinv_  (FInteger *n, FReal   *a, FInteger *idim, FInteger *ir, FInteger *ifail);   
00027   void dinv_  (FInteger *n, FDouble *a, FInteger *idim, FInteger *ir, FInteger *ifail);   
00028   void reqinv_(FInteger *n, FReal   *a, FInteger *idim, FInteger *ir, FInteger *ifail,
00029                FInteger *k, FReal   *b);   
00030   void deqinv_(FInteger *n, FDouble *a, FInteger *idim, FInteger *ir, FInteger *ifail,
00031                FInteger *k, FDouble *b);   
00032  // F012
00033   void rsinv_  (FInteger *n, FReal   *a, FInteger *idim, FInteger *ifail);   
00034   void dsinv_  (FInteger *n, FDouble *a, FInteger *idim, FInteger *ifail);   
00035   void rseqn_  (FInteger *n, FReal   *a, FInteger *idim, FInteger *ifail,
00036                FInteger *k, FReal   *b);   
00037   void dseqn_  (FInteger *n, FDouble *a, FInteger *idim, FInteger *ifail,
00038                 FInteger *k, FDouble *b);   
00039   void rsfact_ (FInteger *n, FReal   *a, FInteger *idim, FInteger *ifail,
00040                              FReal   *b, FInteger *jfail);   
00041   void dsfact_ (FInteger *n, FDouble *a, FInteger *idim, FInteger *ifail,
00042                              FDouble *b, FInteger *jfail);   
00043   void rsfeqn_ (FInteger *n, FReal   *a, FInteger *idim,
00044                FInteger *k, FReal   *b);   
00045   void dsfeqn_ (FInteger *n, FDouble *a, FInteger *idim,
00046                 FInteger *k, FDouble *b);   
00047   void rsfinv_ (FInteger *n, FReal   *a, FInteger *idim);   
00048   void dsfinv_ (FInteger *n, FDouble *a, FInteger *idim);   
00049   // G100
00050   FReal prob_  (FReal   *x, FInteger *n); 
00051  
00052  
00053   void rannor_ (FReal *a, FReal *b);
00054   
00055   // V113
00056   void ranmar_ (FReal *vec, FInteger *len);
00057   void rmarin_ (FInteger *ijklin, FInteger *ntotin, FInteger *nto2in);
00058   void rmarut_ (FInteger *ijklin, FInteger *ntotin, FInteger *nto2in);
00059   void rmmar_  (FReal *vec, FInteger *len, FInteger *iseq);
00060   //void rmmaq_  (...);
00061   // V115
00062   void ranlux_ (FReal *rvec, FInteger *len);
00063   void rluxgo_ (FInteger *lux, FInteger *int_, FInteger *k1, FInteger *k2);
00064   void rluxat_ (FInteger *lux, FInteger *int_, FInteger *k1, FInteger *k2);
00065   void rluxin_ (FInteger *ivec);
00066   void rluxut_ (FInteger *ivec);
00067   // V120
00068   void rnorml_ (FReal *rvec, FInteger *len);
00069   void rnormx_ (FReal *rvec, FInteger *len, void urng (FReal *, FInteger *));
00070 }
00071 
00072 // F010
00073 inline int  reqn   (FInteger n, FReal   a[], FInteger idim, FInteger ir[], FInteger& ifail,
00074                     FInteger k, FReal   b[])  {
00075   reqn_  (&n, a, &idim, ir, &ifail, &k, b);
00076   return ifail;
00077 }  
00078 inline int  reqn   (FInteger n, FReal   a[], FInteger idim, FInteger ir[],
00079                     FInteger k, FReal   b[])  {
00080   FInteger ifail = 0;
00081   reqn_  (&n, a, &idim, ir, &ifail, &k, b);
00082   return ifail;
00083 }  
00084 inline int  deqn   (FInteger n, FDouble a[], FInteger idim, FInteger ir[], FInteger& ifail,
00085                     FInteger k, FDouble b[]) {
00086   deqn_  (&n, a, &idim, ir, &ifail, &k, b);
00087   return ifail;
00088 }    
00089 inline int  deqn   (FInteger n, FDouble a[], FInteger idim, FInteger ir[], 
00090                     FInteger k, FDouble b[]) {
00091   FInteger ifail = 0;
00092   deqn_  (&n, a, &idim, ir, &ifail, &k, b);
00093   return ifail;
00094 }   
00095  
00096 inline int  rinv   (FInteger n, FReal   a[], FInteger idim, FInteger ir[], FInteger& ifail) {
00097   rinv_  (&n, a, &idim, ir, &ifail);
00098   return ifail;
00099 }
00100 inline int  rinv   (FInteger n, FReal   a[], FInteger idim, FInteger ir[]) {
00101   FInteger ifail = 0;
00102   rinv_  (&n, a, &idim, ir, &ifail);
00103   return ifail;
00104 }
00105 inline int  dinv   (FInteger n, FDouble a[], FInteger idim, FInteger ir[], FInteger& ifail) {
00106   dinv_  (&n, a, &idim, ir, &ifail);
00107   return ifail;
00108 }   
00109 inline int  dinv   (FInteger n, FDouble a[], FInteger idim, FInteger ir[]) {
00110   FInteger ifail = 0;
00111   dinv_  (&n, a, &idim, ir, &ifail);
00112   return ifail;
00113 }
00114 
00115 inline int  reqinv (FInteger n, FReal   a[], FInteger idim, FInteger ir[], FInteger& ifail,
00116                     FInteger k, FReal   b[])  {
00117   reqinv_(&n, a, &idim, ir, &ifail, &k, b);
00118   return ifail;
00119 }  
00120 inline int  reqinv (FInteger n, FReal   a[], FInteger idim, FInteger ir[],
00121                     FInteger k, FReal   b[])  {
00122   FInteger ifail = 0;
00123   reqinv_(&n, a, &idim, ir, &ifail, &k, b);
00124   return ifail;
00125 }  
00126 inline int  deqinv (FInteger n, FDouble a[], FInteger idim, FInteger ir[], FInteger& ifail,
00127                     FInteger k, FDouble b[]) {
00128   deqinv_(&n, a, &idim, ir, &ifail, &k, b);
00129   return ifail;
00130 }    
00131 inline int  deqinv (FInteger n, FDouble a[], FInteger idim, FInteger ir[], 
00132                     FInteger k, FDouble b[]) {
00133   FInteger ifail = 0;
00134   deqinv_(&n, a, &idim, ir, &ifail, &k, b);
00135   return ifail;
00136 }   
00137  
00138 // F012
00139 inline int  rsinv  (FInteger n, FReal   a[], FInteger idim, FInteger& ifail) {
00140   rsinv_  (&n, a, &idim, &ifail);
00141   return ifail;
00142 }
00143 inline int  rsinv  (FInteger n, FReal   a[], FInteger idim) {
00144   FInteger ifail = 0;
00145   rsinv_  (&n, a, &idim, &ifail);
00146   return ifail;
00147 }
00148 inline int  dsinv  (FInteger n, FDouble a[], FInteger idim, FInteger& ifail) {
00149   dsinv_  (&n, a, &idim, &ifail);
00150   return ifail;
00151 }   
00152 inline int  dsinv  (FInteger n, FDouble a[], FInteger idim) {
00153   FInteger ifail = 0;
00154   dsinv_  (&n, a, &idim, &ifail);
00155   return ifail;
00156 }
00157 
00158 inline int  rseqn  (FInteger n, FReal   a[], FInteger idim, FInteger& ifail,
00159                     FInteger k, FReal   b[])  {
00160   rseqn_  (&n, a, &idim, &ifail, &k, b);
00161   return ifail;
00162 }  
00163 inline int  rseqn  (FInteger n, FReal   a[], FInteger idim,
00164                     FInteger k, FReal   b[])  {
00165   FInteger ifail = 0;
00166   rseqn_  (&n, a, &idim, &ifail, &k, b);
00167   return ifail;
00168 }  
00169 inline int  dseqn  (FInteger n, FDouble a[], FInteger idim, FInteger& ifail,
00170                     FInteger k, FDouble b[]) {
00171   dseqn_  (&n, a, &idim, &ifail, &k, b);
00172   return ifail;
00173 }    
00174 inline int  dseqn  (FInteger n, FDouble a[], FInteger idim, 
00175                     FInteger k, FDouble b[]) {
00176   FInteger ifail = 0;
00177   dseqn_  (&n, a, &idim, &ifail, &k, b);
00178   return ifail;
00179 }   
00180  
00181 inline int  rsfact (FInteger n, FReal   a[], FInteger idim, FInteger& ifail,
00182                                 FReal   b[], FInteger& jfail) {
00183   rsfact_  (&n, a, &idim, &ifail, b, &jfail);
00184   return ifail;
00185 }  
00186 inline int  rsfact (FInteger n, FReal   a[], FInteger idim, 
00187                                 FReal   b[], FInteger& jfail) {
00188   FInteger ifail = 0;
00189   rsfact_  (&n, a, &idim, &ifail, b, &jfail);
00190   return ifail;
00191 }  
00192 inline int  dsfact (FInteger n, FDouble a[], FInteger idim, FInteger& ifail,
00193                                 FDouble b[], FInteger& jfail) {
00194   dsfact_  (&n, a, &idim, &ifail, b, &jfail);
00195   return ifail;
00196 }    
00197 inline int  dsfact (FInteger n, FDouble a[], FInteger idim, 
00198                                 FDouble b[], FInteger& jfail) {
00199   FInteger ifail = 0;
00200   dsfact_  (&n, a, &idim, &ifail, b, &jfail);
00201   return ifail;
00202 }    
00203 
00204 inline void rsfeqn (FInteger n, FReal   a[], FInteger idim,
00205                     FInteger k, FReal   b[]) {
00206   rsfeqn_  (&n, a, &idim, &k, b);
00207 }    
00208 inline void dsfeqn (FInteger n, FDouble a[], FInteger idim,
00209                     FInteger k, FDouble b[]) {
00210   dsfeqn_  (&n, a, &idim, &k, b);
00211 }       
00212 inline void rsfinv (FInteger n, FReal   a[], FInteger idim) {
00213   rsfinv_  (&n, a, &idim);
00214 }      
00215 inline void dsfinv (FInteger n, FDouble a[], FInteger idim) {
00216   dsfinv_  (&n, a, &idim);
00217 }
00218          
00219 // G100
00220 inline FReal prob  (FReal   x, FInteger n) {
00221   return prob_ (&x, &n);
00222 }
00223   
00224 
00225 inline void rannor (FReal& a, FReal& b) {
00226   rannor_ (&a, &b);
00227 }
00228   // V113
00229 inline void ranmar (FReal vec[], FInteger len) {
00230   ranmar_ (vec, &len);
00231 }
00232 inline void rmarin (FInteger ijklin, FInteger ntotin, FInteger nto2in) {
00233   rmarin_ (&ijklin, &ntotin, &nto2in);
00234 }
00235 inline void rmarut (FInteger& ijklin, FInteger& ntotin, FInteger& nto2in) {
00236   rmarut_ (&ijklin, &ntotin, &nto2in);
00237 }
00238 inline void rmmar  (FReal vec[], FInteger len, FInteger iseq) {
00239   rmmar_ (vec, &len, &iseq);
00240 }
00241  
00242   // V115
00243 inline void ranlux (FReal rvec[], FInteger len) {
00244   ranlux_ (rvec, &len); 
00245 }
00246 inline void rluxgo (FInteger lux, FInteger int_, FInteger k1, FInteger k2) {
00247   rluxat_ (&lux, &int_, &k1, &k2);
00248 }
00249 inline void rluxat (FInteger& lux, FInteger& int_, FInteger& k1, FInteger& k2) {
00250   rluxat_ (&lux, &int_, &k1, &k2);
00251 }
00252 inline void rluxin (FInteger ivec[25]) {
00253   rluxin_ (ivec);
00254 }
00255 inline void rluxut (FInteger ivec[25]) {
00256   rluxut_ (ivec);
00257 }
00258   // V120
00259 inline void rnorml (FReal rvec[], FInteger len) {
00260   rnorml_ (rvec, &len);
00261 }
00262 
00263 #endif

Generated on Fri Sep 14 17:38:20 2007 for Kinfit by doxygen 1.3.2