00001 #ifndef _EBARITHF_F_H_
00002 #define _EBARITHF_F_H_
00003
00004 #include "FORT_PROTO.H"
00005 #include "CH_Timer.H"
00006 #include "REAL.H"
00007
00008 extern "C"
00009 {
00010
00011 #ifndef GUARDVOLWGTSUM
00012 #define GUARDVOLWGTSUM
00013
00014
00015 void FORTRAN_NAME( VOLWGTSUM ,volwgtsum )(
00016 CHFp_CONST_FRA(src)
00017 ,CHFp_CONST_FRA(volfrac)
00018 ,CHFp_CONST_REAL(norm)
00019 ,CHFp_CONST_REAL(volume)
00020 ,CHFp_CONST_INT(comp)
00021 ,CHFp_CONST_INT(pval)
00022 ,CHFp_CONST_INT(idoreg)
00023 ,CHFp_CONST_INT(idoirr)
00024 ,CHFp_BOX(region) );
00025
00026 #define FORT_VOLWGTSUM FORTRAN_NAME( inlineVOLWGTSUM, inlineVOLWGTSUM)
00027 #define FORTNT_VOLWGTSUM FORTRAN_NAME( VOLWGTSUM, volwgtsum)
00028
00029 inline void FORTRAN_NAME(inlineVOLWGTSUM, inlineVOLWGTSUM)(
00030 CHFp_CONST_FRA(src)
00031 ,CHFp_CONST_FRA(volfrac)
00032 ,CHFp_CONST_REAL(norm)
00033 ,CHFp_CONST_REAL(volume)
00034 ,CHFp_CONST_INT(comp)
00035 ,CHFp_CONST_INT(pval)
00036 ,CHFp_CONST_INT(idoreg)
00037 ,CHFp_CONST_INT(idoirr)
00038 ,CHFp_BOX(region) )
00039 {
00040 CH_TIMELEAF("FORT_VOLWGTSUM");
00041 FORTRAN_NAME( VOLWGTSUM ,volwgtsum )(
00042 CHFt_CONST_FRA(src)
00043 ,CHFt_CONST_FRA(volfrac)
00044 ,CHFt_CONST_REAL(norm)
00045 ,CHFt_CONST_REAL(volume)
00046 ,CHFt_CONST_INT(comp)
00047 ,CHFt_CONST_INT(pval)
00048 ,CHFt_CONST_INT(idoreg)
00049 ,CHFt_CONST_INT(idoirr)
00050 ,CHFt_BOX(region) );
00051 }
00052 #endif // GUARDVOLWGTSUM
00053
00054 #ifndef GUARDADDTWOFAB
00055 #define GUARDADDTWOFAB
00056
00057
00058 void FORTRAN_NAME( ADDTWOFAB ,addtwofab )(
00059 CHFp_FRA(dst)
00060 ,CHFp_CONST_FRA(src)
00061 ,CHFp_BOX(region)
00062 ,CHFp_INT(srccomp)
00063 ,CHFp_INT(destcomp)
00064 ,CHFp_INT(numcomp) );
00065
00066 #define FORT_ADDTWOFAB FORTRAN_NAME( inlineADDTWOFAB, inlineADDTWOFAB)
00067 #define FORTNT_ADDTWOFAB FORTRAN_NAME( ADDTWOFAB, addtwofab)
00068
00069 inline void FORTRAN_NAME(inlineADDTWOFAB, inlineADDTWOFAB)(
00070 CHFp_FRA(dst)
00071 ,CHFp_CONST_FRA(src)
00072 ,CHFp_BOX(region)
00073 ,CHFp_INT(srccomp)
00074 ,CHFp_INT(destcomp)
00075 ,CHFp_INT(numcomp) )
00076 {
00077 CH_TIMELEAF("FORT_ADDTWOFAB");
00078 FORTRAN_NAME( ADDTWOFAB ,addtwofab )(
00079 CHFt_FRA(dst)
00080 ,CHFt_CONST_FRA(src)
00081 ,CHFt_BOX(region)
00082 ,CHFt_INT(srccomp)
00083 ,CHFt_INT(destcomp)
00084 ,CHFt_INT(numcomp) );
00085 }
00086 #endif // GUARDADDTWOFAB
00087
00088 #ifndef GUARDSCALEADDTWOFAB
00089 #define GUARDSCALEADDTWOFAB
00090
00091
00092 void FORTRAN_NAME( SCALEADDTWOFAB ,scaleaddtwofab )(
00093 CHFp_FRA(dst)
00094 ,CHFp_CONST_FRA(src)
00095 ,CHFp_CONST_REAL(scale)
00096 ,CHFp_BOX(region)
00097 ,CHFp_INT(srccomp)
00098 ,CHFp_INT(destcomp)
00099 ,CHFp_INT(numcomp) );
00100
00101 #define FORT_SCALEADDTWOFAB FORTRAN_NAME( inlineSCALEADDTWOFAB, inlineSCALEADDTWOFAB)
00102 #define FORTNT_SCALEADDTWOFAB FORTRAN_NAME( SCALEADDTWOFAB, scaleaddtwofab)
00103
00104 inline void FORTRAN_NAME(inlineSCALEADDTWOFAB, inlineSCALEADDTWOFAB)(
00105 CHFp_FRA(dst)
00106 ,CHFp_CONST_FRA(src)
00107 ,CHFp_CONST_REAL(scale)
00108 ,CHFp_BOX(region)
00109 ,CHFp_INT(srccomp)
00110 ,CHFp_INT(destcomp)
00111 ,CHFp_INT(numcomp) )
00112 {
00113 CH_TIMELEAF("FORT_SCALEADDTWOFAB");
00114 FORTRAN_NAME( SCALEADDTWOFAB ,scaleaddtwofab )(
00115 CHFt_FRA(dst)
00116 ,CHFt_CONST_FRA(src)
00117 ,CHFt_CONST_REAL(scale)
00118 ,CHFt_BOX(region)
00119 ,CHFt_INT(srccomp)
00120 ,CHFt_INT(destcomp)
00121 ,CHFt_INT(numcomp) );
00122 }
00123 #endif // GUARDSCALEADDTWOFAB
00124
00125 #ifndef GUARDAXBYFAB
00126 #define GUARDAXBYFAB
00127
00128
00129 void FORTRAN_NAME( AXBYFAB ,axbyfab )(
00130 CHFp_FRA(dst)
00131 ,CHFp_CONST_FRA(x)
00132 ,CHFp_CONST_FRA(y)
00133 ,CHFp_CONST_REAL(a)
00134 ,CHFp_CONST_REAL(b)
00135 ,CHFp_BOX(region)
00136 ,CHFp_INT(srccomp)
00137 ,CHFp_INT(destcomp)
00138 ,CHFp_INT(numcomp) );
00139
00140 #define FORT_AXBYFAB FORTRAN_NAME( inlineAXBYFAB, inlineAXBYFAB)
00141 #define FORTNT_AXBYFAB FORTRAN_NAME( AXBYFAB, axbyfab)
00142
00143 inline void FORTRAN_NAME(inlineAXBYFAB, inlineAXBYFAB)(
00144 CHFp_FRA(dst)
00145 ,CHFp_CONST_FRA(x)
00146 ,CHFp_CONST_FRA(y)
00147 ,CHFp_CONST_REAL(a)
00148 ,CHFp_CONST_REAL(b)
00149 ,CHFp_BOX(region)
00150 ,CHFp_INT(srccomp)
00151 ,CHFp_INT(destcomp)
00152 ,CHFp_INT(numcomp) )
00153 {
00154 CH_TIMELEAF("FORT_AXBYFAB");
00155 FORTRAN_NAME( AXBYFAB ,axbyfab )(
00156 CHFt_FRA(dst)
00157 ,CHFt_CONST_FRA(x)
00158 ,CHFt_CONST_FRA(y)
00159 ,CHFt_CONST_REAL(a)
00160 ,CHFt_CONST_REAL(b)
00161 ,CHFt_BOX(region)
00162 ,CHFt_INT(srccomp)
00163 ,CHFt_INT(destcomp)
00164 ,CHFt_INT(numcomp) );
00165 }
00166 #endif // GUARDAXBYFAB
00167
00168 #ifndef GUARDAXBYFABCOMP
00169 #define GUARDAXBYFABCOMP
00170
00171
00172 void FORTRAN_NAME( AXBYFABCOMP ,axbyfabcomp )(
00173 CHFp_FRA(dst)
00174 ,CHFp_CONST_FRA(x)
00175 ,CHFp_CONST_FRA(y)
00176 ,CHFp_CONST_REAL(a)
00177 ,CHFp_CONST_REAL(b)
00178 ,CHFp_CONST_INT(destcomp)
00179 ,CHFp_CONST_INT(xcomp)
00180 ,CHFp_CONST_INT(ycomp)
00181 ,CHFp_BOX(region) );
00182
00183 #define FORT_AXBYFABCOMP FORTRAN_NAME( inlineAXBYFABCOMP, inlineAXBYFABCOMP)
00184 #define FORTNT_AXBYFABCOMP FORTRAN_NAME( AXBYFABCOMP, axbyfabcomp)
00185
00186 inline void FORTRAN_NAME(inlineAXBYFABCOMP, inlineAXBYFABCOMP)(
00187 CHFp_FRA(dst)
00188 ,CHFp_CONST_FRA(x)
00189 ,CHFp_CONST_FRA(y)
00190 ,CHFp_CONST_REAL(a)
00191 ,CHFp_CONST_REAL(b)
00192 ,CHFp_CONST_INT(destcomp)
00193 ,CHFp_CONST_INT(xcomp)
00194 ,CHFp_CONST_INT(ycomp)
00195 ,CHFp_BOX(region) )
00196 {
00197 CH_TIMELEAF("FORT_AXBYFABCOMP");
00198 FORTRAN_NAME( AXBYFABCOMP ,axbyfabcomp )(
00199 CHFt_FRA(dst)
00200 ,CHFt_CONST_FRA(x)
00201 ,CHFt_CONST_FRA(y)
00202 ,CHFt_CONST_REAL(a)
00203 ,CHFt_CONST_REAL(b)
00204 ,CHFt_CONST_INT(destcomp)
00205 ,CHFt_CONST_INT(xcomp)
00206 ,CHFt_CONST_INT(ycomp)
00207 ,CHFt_BOX(region) );
00208 }
00209 #endif // GUARDAXBYFABCOMP
00210
00211 #ifndef GUARDSUBTRACTTWOFAB
00212 #define GUARDSUBTRACTTWOFAB
00213
00214
00215 void FORTRAN_NAME( SUBTRACTTWOFAB ,subtracttwofab )(
00216 CHFp_FRA(dst)
00217 ,CHFp_CONST_FRA(src)
00218 ,CHFp_BOX(region)
00219 ,CHFp_INT(srccomp)
00220 ,CHFp_INT(destcomp)
00221 ,CHFp_INT(numcomp) );
00222
00223 #define FORT_SUBTRACTTWOFAB FORTRAN_NAME( inlineSUBTRACTTWOFAB, inlineSUBTRACTTWOFAB)
00224 #define FORTNT_SUBTRACTTWOFAB FORTRAN_NAME( SUBTRACTTWOFAB, subtracttwofab)
00225
00226 inline void FORTRAN_NAME(inlineSUBTRACTTWOFAB, inlineSUBTRACTTWOFAB)(
00227 CHFp_FRA(dst)
00228 ,CHFp_CONST_FRA(src)
00229 ,CHFp_BOX(region)
00230 ,CHFp_INT(srccomp)
00231 ,CHFp_INT(destcomp)
00232 ,CHFp_INT(numcomp) )
00233 {
00234 CH_TIMELEAF("FORT_SUBTRACTTWOFAB");
00235 FORTRAN_NAME( SUBTRACTTWOFAB ,subtracttwofab )(
00236 CHFt_FRA(dst)
00237 ,CHFt_CONST_FRA(src)
00238 ,CHFt_BOX(region)
00239 ,CHFt_INT(srccomp)
00240 ,CHFt_INT(destcomp)
00241 ,CHFt_INT(numcomp) );
00242 }
00243 #endif // GUARDSUBTRACTTWOFAB
00244
00245 #ifndef GUARDMULTIPLYTWOFAB
00246 #define GUARDMULTIPLYTWOFAB
00247
00248
00249 void FORTRAN_NAME( MULTIPLYTWOFAB ,multiplytwofab )(
00250 CHFp_FRA(dst)
00251 ,CHFp_CONST_FRA(src)
00252 ,CHFp_BOX(region)
00253 ,CHFp_INT(srccomp)
00254 ,CHFp_INT(destcomp)
00255 ,CHFp_INT(numcomp) );
00256
00257 #define FORT_MULTIPLYTWOFAB FORTRAN_NAME( inlineMULTIPLYTWOFAB, inlineMULTIPLYTWOFAB)
00258 #define FORTNT_MULTIPLYTWOFAB FORTRAN_NAME( MULTIPLYTWOFAB, multiplytwofab)
00259
00260 inline void FORTRAN_NAME(inlineMULTIPLYTWOFAB, inlineMULTIPLYTWOFAB)(
00261 CHFp_FRA(dst)
00262 ,CHFp_CONST_FRA(src)
00263 ,CHFp_BOX(region)
00264 ,CHFp_INT(srccomp)
00265 ,CHFp_INT(destcomp)
00266 ,CHFp_INT(numcomp) )
00267 {
00268 CH_TIMELEAF("FORT_MULTIPLYTWOFAB");
00269 FORTRAN_NAME( MULTIPLYTWOFAB ,multiplytwofab )(
00270 CHFt_FRA(dst)
00271 ,CHFt_CONST_FRA(src)
00272 ,CHFt_BOX(region)
00273 ,CHFt_INT(srccomp)
00274 ,CHFt_INT(destcomp)
00275 ,CHFt_INT(numcomp) );
00276 }
00277 #endif // GUARDMULTIPLYTWOFAB
00278
00279 #ifndef GUARDDIVIDETWOFAB
00280 #define GUARDDIVIDETWOFAB
00281
00282
00283 void FORTRAN_NAME( DIVIDETWOFAB ,dividetwofab )(
00284 CHFp_FRA(dst)
00285 ,CHFp_CONST_FRA(src)
00286 ,CHFp_BOX(region)
00287 ,CHFp_INT(srccomp)
00288 ,CHFp_INT(destcomp)
00289 ,CHFp_INT(numcomp) );
00290
00291 #define FORT_DIVIDETWOFAB FORTRAN_NAME( inlineDIVIDETWOFAB, inlineDIVIDETWOFAB)
00292 #define FORTNT_DIVIDETWOFAB FORTRAN_NAME( DIVIDETWOFAB, dividetwofab)
00293
00294 inline void FORTRAN_NAME(inlineDIVIDETWOFAB, inlineDIVIDETWOFAB)(
00295 CHFp_FRA(dst)
00296 ,CHFp_CONST_FRA(src)
00297 ,CHFp_BOX(region)
00298 ,CHFp_INT(srccomp)
00299 ,CHFp_INT(destcomp)
00300 ,CHFp_INT(numcomp) )
00301 {
00302 CH_TIMELEAF("FORT_DIVIDETWOFAB");
00303 FORTRAN_NAME( DIVIDETWOFAB ,dividetwofab )(
00304 CHFt_FRA(dst)
00305 ,CHFt_CONST_FRA(src)
00306 ,CHFt_BOX(region)
00307 ,CHFt_INT(srccomp)
00308 ,CHFt_INT(destcomp)
00309 ,CHFt_INT(numcomp) );
00310 }
00311 #endif // GUARDDIVIDETWOFAB
00312
00313 #ifndef GUARDSUBTRACTFABR
00314 #define GUARDSUBTRACTFABR
00315
00316
00317 void FORTRAN_NAME( SUBTRACTFABR ,subtractfabr )(
00318 CHFp_FRA(dst)
00319 ,CHFp_CONST_REAL(src)
00320 ,CHFp_BOX(region) );
00321
00322 #define FORT_SUBTRACTFABR FORTRAN_NAME( inlineSUBTRACTFABR, inlineSUBTRACTFABR)
00323 #define FORTNT_SUBTRACTFABR FORTRAN_NAME( SUBTRACTFABR, subtractfabr)
00324
00325 inline void FORTRAN_NAME(inlineSUBTRACTFABR, inlineSUBTRACTFABR)(
00326 CHFp_FRA(dst)
00327 ,CHFp_CONST_REAL(src)
00328 ,CHFp_BOX(region) )
00329 {
00330 CH_TIMELEAF("FORT_SUBTRACTFABR");
00331 FORTRAN_NAME( SUBTRACTFABR ,subtractfabr )(
00332 CHFt_FRA(dst)
00333 ,CHFt_CONST_REAL(src)
00334 ,CHFt_BOX(region) );
00335 }
00336 #endif // GUARDSUBTRACTFABR
00337
00338 #ifndef GUARDADDFABR
00339 #define GUARDADDFABR
00340
00341
00342 void FORTRAN_NAME( ADDFABR ,addfabr )(
00343 CHFp_FRA(dst)
00344 ,CHFp_CONST_REAL(src)
00345 ,CHFp_BOX(region) );
00346
00347 #define FORT_ADDFABR FORTRAN_NAME( inlineADDFABR, inlineADDFABR)
00348 #define FORTNT_ADDFABR FORTRAN_NAME( ADDFABR, addfabr)
00349
00350 inline void FORTRAN_NAME(inlineADDFABR, inlineADDFABR)(
00351 CHFp_FRA(dst)
00352 ,CHFp_CONST_REAL(src)
00353 ,CHFp_BOX(region) )
00354 {
00355 CH_TIMELEAF("FORT_ADDFABR");
00356 FORTRAN_NAME( ADDFABR ,addfabr )(
00357 CHFt_FRA(dst)
00358 ,CHFt_CONST_REAL(src)
00359 ,CHFt_BOX(region) );
00360 }
00361 #endif // GUARDADDFABR
00362
00363 #ifndef GUARDMULTIPLYFABR
00364 #define GUARDMULTIPLYFABR
00365
00366
00367 void FORTRAN_NAME( MULTIPLYFABR ,multiplyfabr )(
00368 CHFp_FRA(dst)
00369 ,CHFp_CONST_REAL(src)
00370 ,CHFp_BOX(region) );
00371
00372 #define FORT_MULTIPLYFABR FORTRAN_NAME( inlineMULTIPLYFABR, inlineMULTIPLYFABR)
00373 #define FORTNT_MULTIPLYFABR FORTRAN_NAME( MULTIPLYFABR, multiplyfabr)
00374
00375 inline void FORTRAN_NAME(inlineMULTIPLYFABR, inlineMULTIPLYFABR)(
00376 CHFp_FRA(dst)
00377 ,CHFp_CONST_REAL(src)
00378 ,CHFp_BOX(region) )
00379 {
00380 CH_TIMELEAF("FORT_MULTIPLYFABR");
00381 FORTRAN_NAME( MULTIPLYFABR ,multiplyfabr )(
00382 CHFt_FRA(dst)
00383 ,CHFt_CONST_REAL(src)
00384 ,CHFt_BOX(region) );
00385 }
00386 #endif // GUARDMULTIPLYFABR
00387
00388 #ifndef GUARDDIVIDEFABR
00389 #define GUARDDIVIDEFABR
00390
00391
00392 void FORTRAN_NAME( DIVIDEFABR ,dividefabr )(
00393 CHFp_FRA(dst)
00394 ,CHFp_CONST_REAL(src)
00395 ,CHFp_BOX(region) );
00396
00397 #define FORT_DIVIDEFABR FORTRAN_NAME( inlineDIVIDEFABR, inlineDIVIDEFABR)
00398 #define FORTNT_DIVIDEFABR FORTRAN_NAME( DIVIDEFABR, dividefabr)
00399
00400 inline void FORTRAN_NAME(inlineDIVIDEFABR, inlineDIVIDEFABR)(
00401 CHFp_FRA(dst)
00402 ,CHFp_CONST_REAL(src)
00403 ,CHFp_BOX(region) )
00404 {
00405 CH_TIMELEAF("FORT_DIVIDEFABR");
00406 FORTRAN_NAME( DIVIDEFABR ,dividefabr )(
00407 CHFt_FRA(dst)
00408 ,CHFt_CONST_REAL(src)
00409 ,CHFt_BOX(region) );
00410 }
00411 #endif // GUARDDIVIDEFABR
00412
00413 #ifndef GUARDEBDOTPRODUCT
00414 #define GUARDEBDOTPRODUCT
00415
00416
00417 void FORTRAN_NAME( EBDOTPRODUCT ,ebdotproduct )(
00418 CHFp_REAL(dotprodout)
00419 ,CHFp_CONST_FRA(afab)
00420 ,CHFp_CONST_FRA(bfab)
00421 ,CHFp_CONST_FRA(volfrac)
00422 ,CHFp_BOX(region)
00423 ,CHFp_CONST_INT(icomp) );
00424
00425 #define FORT_EBDOTPRODUCT FORTRAN_NAME( inlineEBDOTPRODUCT, inlineEBDOTPRODUCT)
00426 #define FORTNT_EBDOTPRODUCT FORTRAN_NAME( EBDOTPRODUCT, ebdotproduct)
00427
00428 inline void FORTRAN_NAME(inlineEBDOTPRODUCT, inlineEBDOTPRODUCT)(
00429 CHFp_REAL(dotprodout)
00430 ,CHFp_CONST_FRA(afab)
00431 ,CHFp_CONST_FRA(bfab)
00432 ,CHFp_CONST_FRA(volfrac)
00433 ,CHFp_BOX(region)
00434 ,CHFp_CONST_INT(icomp) )
00435 {
00436 CH_TIMELEAF("FORT_EBDOTPRODUCT");
00437 FORTRAN_NAME( EBDOTPRODUCT ,ebdotproduct )(
00438 CHFt_REAL(dotprodout)
00439 ,CHFt_CONST_FRA(afab)
00440 ,CHFt_CONST_FRA(bfab)
00441 ,CHFt_CONST_FRA(volfrac)
00442 ,CHFt_BOX(region)
00443 ,CHFt_CONST_INT(icomp) );
00444 }
00445 #endif // GUARDEBDOTPRODUCT
00446
00447 #ifndef GUARDMAXFAB
00448 #define GUARDMAXFAB
00449
00450
00451 void FORTRAN_NAME( MAXFAB ,maxfab )(
00452 CHFp_REAL(aval)
00453 ,CHFp_CONST_FRA(afab)
00454 ,CHFp_BOX(region)
00455 ,CHFp_CONST_INT(acomp) );
00456
00457 #define FORT_MAXFAB FORTRAN_NAME( inlineMAXFAB, inlineMAXFAB)
00458 #define FORTNT_MAXFAB FORTRAN_NAME( MAXFAB, maxfab)
00459
00460 inline void FORTRAN_NAME(inlineMAXFAB, inlineMAXFAB)(
00461 CHFp_REAL(aval)
00462 ,CHFp_CONST_FRA(afab)
00463 ,CHFp_BOX(region)
00464 ,CHFp_CONST_INT(acomp) )
00465 {
00466 CH_TIMELEAF("FORT_MAXFAB");
00467 FORTRAN_NAME( MAXFAB ,maxfab )(
00468 CHFt_REAL(aval)
00469 ,CHFt_CONST_FRA(afab)
00470 ,CHFt_BOX(region)
00471 ,CHFt_CONST_INT(acomp) );
00472 }
00473 #endif // GUARDMAXFAB
00474
00475 #ifndef GUARDMINFAB
00476 #define GUARDMINFAB
00477
00478
00479 void FORTRAN_NAME( MINFAB ,minfab )(
00480 CHFp_REAL(aval)
00481 ,CHFp_CONST_FRA(afab)
00482 ,CHFp_BOX(region)
00483 ,CHFp_CONST_INT(acomp) );
00484
00485 #define FORT_MINFAB FORTRAN_NAME( inlineMINFAB, inlineMINFAB)
00486 #define FORTNT_MINFAB FORTRAN_NAME( MINFAB, minfab)
00487
00488 inline void FORTRAN_NAME(inlineMINFAB, inlineMINFAB)(
00489 CHFp_REAL(aval)
00490 ,CHFp_CONST_FRA(afab)
00491 ,CHFp_BOX(region)
00492 ,CHFp_CONST_INT(acomp) )
00493 {
00494 CH_TIMELEAF("FORT_MINFAB");
00495 FORTRAN_NAME( MINFAB ,minfab )(
00496 CHFt_REAL(aval)
00497 ,CHFt_CONST_FRA(afab)
00498 ,CHFt_BOX(region)
00499 ,CHFt_CONST_INT(acomp) );
00500 }
00501 #endif // GUARDMINFAB
00502
00503 }
00504
00505 #endif