329 #define APBS_TIMER_WALL_CLOCK 26 335 #define APBS_TIMER_SETUP 27 341 #define APBS_TIMER_SOLVER 28 347 #define APBS_TIMER_ENERGY 29 353 #define APBS_TIMER_FORCE 30 359 #define APBS_TIMER_TEMP1 31 365 #define APBS_TIMER_TEMP2 32 392 #define VREDFRAC 0.25 408 #define VAPBS_RIGHT 0 414 #define VAPBS_FRONT 1 444 #define VPMGSMALL 1e-12 450 #define SINH_MIN -85.0 456 #define SINH_MAX 85.0 458 #define MAX_HASH_DIM 75 461 # if !defined(APBS_NOINLINE) 462 # define APBS_NOINLINE 1 466 #if !defined(APBS_NOINLINE) 471 # define VINLINE_VACC 476 # define VINLINE_VATOM 481 # define VINLINE_VCSM 486 # define VINLINE_VPBE 491 # define VINLINE_VPEE 496 # define VINLINE_VGREEN 501 # define VINLINE_VFETK 506 # define VINLINE_VPMG 515 #if defined(VF77_UPPERCASE) 516 # if defined(VF77_NOUNDERSCORE) 517 # define VF77_MANGLE(name,NAME) NAME 518 # elif defined(VF77_ONEUNDERSCORE) 519 # define VF77_MANGLE(name,NAME) NAME ## _ 521 # define VF77_MANGLE(name,NAME) name 524 # if defined(VF77_NOUNDERSCORE) 525 # define VF77_MANGLE(name,NAME) name 526 # elif defined(VF77_ONEUNDERSCORE) 527 # define VF77_MANGLE(name,NAME) name ## _ 532 # define VF77_MANGLE(name,NAME) name 537 #if defined(FLOAT_EPSILON) 538 # define VFLOOR(value) \ 539 ((floor(value) != floor(value + FLOAT_EPSILON)) ? \ 540 floor(value + FLOAT_EPSILON) : floor(value)) 547 # define VFLOOR(value) floor(value) 551 #if defined(HAVE_EMBED) 556 # define VEMBED(rctag) \ 557 VPRIVATE const char* rctag; \ 558 static void* use_rcsid=(0 ? &use_rcsid : (void**)&rcsid); 564 # define VEMBED(rctag) 570 #if !defined(_WIN32) || defined(__MINGW32__) 571 #define PRINT_FUNC __PRETTY_FUNCTION__ 572 #define OS_SEP_STR "/" 573 #define OS_SEP_CHAR '/' 575 #define OS_SEP_STR "\\" 576 #define OS_SEP_CHAR '\\' 577 #define PRINT_FUNC __FUNCSIG__ 578 #define snprintf sprintf_s 581 #ifdef VERGBOSE_DEBUG 582 #define ANNOUNCE_FUNCTION \ 584 Vnm_prrint(2, "%s() [%s:%d]\n", \ 585 PRINT_FUNC, __FILE__, __LINE__ ); \ 588 #define WARN_UNTESTED \ 590 Vnm_print(2, "%s() [%s:%d]: Untested Translation!\n", \ 591 __FUNCTION__, __FILE__, __LINE__); \ 594 #define WARN_PARTTESTED \ 596 Vnm_print(2, "%s() [%s:%d]: Partially Tested Translation.\n", \ 597 __FUNCTION__, __FILE__, __LINE__); \ 600 #define ANNOUNCE_FUNCTION 601 #define WARN_UNTESTED 602 #define WARN_PARTTESTED 609 #define VCHANNELEDMESSAGE0(channel, msg) \ 611 Vnm_print(channel, "%s:%d [%s()]: MESSAGE:\n" \ 613 __FILE__, __LINE__, __FUNCTION__, msg); \ 616 #define VCHANNELEDMESSAGE1(channel, msg, arg) \ 619 snprintf( buff, 1000, msg, arg ); \ 620 Vnm_print(channel, "%s:%d [%s()]: MESSAGE:\n" \ 622 __FILE__, __LINE__, __FUNCTION__, buff); \ 625 #define VCHANNELEDMESSAGE2(channel, msg, arg0, arg1) \ 628 snprintf( buff, 1000, msg, arg0, arg1 ); \ 629 Vnm_print(channel, "%s:%d [%s()]: MESSAGE:\n" \ 631 __FILE__, __LINE__, __FUNCTION__, buff); \ 634 #define VCHANNELEDMESSAGE3(channel, msg, arg0, arg1, arg2) \ 637 snprintf(buff, 1000, msg, arg0, arg1, arg2); \ 638 Vnm_print(channel, "%s:%d [%s()]: MESSAGE:\n" \ 640 __FILE__, __LINE__, __FUNCTION__, buff); \ 643 #define VMESSAGE0(msg) VCHANNELEDMESSAGE0(2, msg) 644 #define VMESSAGE1(msg, arg0) VCHANNELEDMESSAGE1(2, msg, arg0) 645 #define VMESSAGE2(msg, arg0, arg1) VCHANNELEDMESSAGE2(2, msg, arg0, arg1) 646 #define VMESSAGE3(msg, arg0, arg1, arg2) VCHANNELEDMESSAGE3(2, msg, arg0, arg1, arg2) 648 #define VERRMSG0(msg) VMESSAGE0(msg) 649 #define VERRMSG1(msg, arg0) VMESSAGE1(msg, arg0) 650 #define VERRMSG2(msg, arg0, arg1) VMESSAGE2(msg, arg0, arg1) 651 #define VERRMSG3(msg, arg0, arg1, arg2) VMESSAGE3(msg, arg0, arg1, arg2) 653 #define VCHANNELEDMESSAGE0(channel, msg) \ 655 Vnm_print(channel, "%s: %s\n", __FUNCTION__, msg); \ 658 #define VCHANNELEDMESSAGE1(channel, msg, arg0) \ 661 snprintf( buff, 1000, msg, arg0 ); \ 662 Vnm_print(channel, "%s: %s\n", __FUNCTION__, buff); \ 665 #define VCHANNELEDMESSAGE2(channel, msg, arg0, arg1) \ 668 snprintf( buff, 1000, msg, arg0, arg1 ); \ 669 Vnm_print(channel, "%s: %s\n", __FUNCTION__, buff); \ 672 #define VCHANNELEDMESSAGE3(channel, msg, arg0, arg1, arg2) \ 675 snprintf(buff, 1000, msg, arg0, arg1, arg2); \ 676 Vnm_print(channel, "%s: %s\n", __FUNCTION__, buff); \ 679 #define VMESSAGE0(msg) VCHANNELEDMESSAGE0(0, msg) 680 #define VMESSAGE1(msg, arg0) VCHANNELEDMESSAGE1(0, msg, arg0) 681 #define VMESSAGE2(msg, arg0, arg1) VCHANNELEDMESSAGE2(0, msg, arg0, arg1) 682 #define VMESSAGE3(msg, arg0, arg1, arg2) VCHANNELEDMESSAGE3(0, msg, arg0, arg1, arg2) 684 #define VERRMSG0(msg) VCHANNELEDMESSAGE0(2, msg) 685 #define VERRMSG1(msg, arg0) VCHANNELEDMESSAGE1(2, msg, arg0) 686 #define VERRMSG2(msg, arg0, arg1) VCHANNELEDMESSAGE2(2, msg, arg0, arg1) 687 #define VERRMSG3(msg, arg0, arg1, arg2) VCHANNELEDMESSAGE3(2, msg, arg0, arg1, arg2) 697 #define VASSERT_MSG0(cnd, msg) \ 700 Vnm_print(2, "%s:%d [%s()]: ERROR:\n" \ 701 " Assertion Failed (%s): %s\n\n", \ 702 __FILE__, __LINE__, __FUNCTION__, #cnd, msg); \ 707 #define VASSERT_MSG1(cnd, msg, arg) \ 711 snprintf( buff, 1000, msg, arg ); \ 712 Vnm_print(2, "%s:%d [%s()]: ERROR:\n" \ 713 " Assertion Failed (%s): %s\n\n", \ 714 __FILE__, __LINE__, __FUNCTION__, #cnd, buff); \ 719 #define VASSERT_MSG2(cnd, msg, arg0, arg1) \ 723 snprintf( buff, 1000, msg, arg0, arg1 ); \ 724 Vnm_print(2, "%s:%d [%s()]: ERROR:\n" \ 725 " Assertion Failed (%s): %s\n\n", \ 726 __FILE__, __LINE__, __FUNCTION__, #cnd, buff); \ 731 #define VASSERT_MSG0(cnd, msg) \ 734 Vnm_print(2, "%[%s()]: ERROR:\n" \ 735 " Assertion Failed (%s): %s\n\n", \ 736 __FUNCTION__, #cnd, msg); \ 741 #define VASSERT_MSG1(cnd, msg, arg) \ 745 snprintf( buff, 1000, msg, arg ); \ 746 Vnm_print(2, "[%s()]: ERROR:\n" \ 747 " Assertion Failed (%s): %s\n\n", \ 748 __FUNCTION__, #cnd, buff); \ 753 #define VASSERT_MSG2(cnd, msg, arg0, arg1) \ 757 snprintf( buff, 1000, msg, arg0, arg1 ); \ 758 Vnm_print(2, "[%s()]: ERROR:\n" \ 759 " Assertion Failed (%s): %s\n\n", \ 760 __FUNCTION__, #cnd, buff); \ 773 #define VWARN_MSG0(cnd, msg) \ 778 "%s:%d [%s()]: WARNING:\n" \ 779 " Condition Failed (%s):\n %s\n\n", \ 789 #define VWARN_MSG1(cnd, msg, arg0) \ 793 snprintf(buff, 1000, msg, arg0); \ 796 "%s:%d [%s()]: WARNING:\n" \ 797 " Condition Failed (%s):\n %s\n\n", \ 807 #define VWARN_MSG2(cnd, msg, arg0, arg1) \ 811 snprintf(buff, 1000, msg, arg0, arg1); \ 814 "%s:%d [%s()]: WARNING:\n" \ 815 " Condition Failed (%s):\n %s\n\n", \ 825 #define VWARN_MSG0(cnd, msg) \ 830 "[%s()]: WARNING:\n" \ 838 #define VWARN_MSG1(cnd, msg, arg0) \ 842 snprintf(buff, 1000, msg, arg0); \ 845 "[%s()]: WARNING:\n" \ 853 #define VWARN_MSG2(cnd, msg, arg0, arg1) \ 857 snprintf(buff, 1000, msg, arg0, arg1); \ 860 "[%s()]: WARNING:\n" \ 871 #define VABORT_MSG0(msg) \ 873 Vnm_print(2, "%s:%d [%s()]: ABORTING:\n" \ 875 __FILE__, __LINE__, __FUNCTION__, msg); \ 879 #define VABORT_MSG1(msg, arg) \ 882 snprintf( buff, 1000, msg, arg ); \ 883 Vnm_print(2, "%s:%d [%s()]: ABORTING:\n" \ 885 __FILE__, __LINE__, __FUNCTION__, buff); \ 889 #define VABORT_MSG2(msg, arg0, arg1) \ 892 snprintf( buff, 1000, msg, arg0, arg1); \ 893 Vnm_print(2, "%s:%d [%s()]: ABORTING:\n" \ 895 __FILE__, __LINE__, __FUNCTION__, buff); \ 899 #define VABORT_MSG0(msg) \ 901 Vnm_print(2, "%[%s()]: ABORTING:\n" \ 903 __FUNCTION__, msg); \ 907 #define VABORT_MSG1(msg, arg) \ 910 snprintf( buff, 1000, msg, arg ); \ 911 Vnm_print(2, "[%s()]: ABORTING:\n" \ 913 __FUNCTION__, buff); \ 917 #define VABORT_MSG2(msg, arg0, arg1) \ 920 snprintf( buff, 1000, msg, arg0, arg1); \ 921 Vnm_print(2, "[%s()]: ABORTING:\n" \ 923 __FUNCTION__, buff); \ 932 #define PRINT_INT(expr) \ 934 Vnm_print(2, "%s:%d [%s()]: %s == %d\n", \ 935 __FILE__, __LINE__, __FUNCTION__, #expr, expr); \ 938 #define PRINT_DBL(expr) \ 940 Vnm_print(2, "%s:%d [%s()]: %s == %f\n\n", \ 941 __FILE__, __LINE__, __FUNCTION__, #expr, expr); \ 944 #define PRINT_INT(expr) 945 #define PRINT_DBL(expr) 948 #define VMALLOC(vmem, n, type) ((type*)Vmem_malloc(vmem, n, sizeof(type))) 950 #define VFREE(vmem, n, type, ptr) (Vmem_free(vmem, n, sizeof(type), (void **)&(ptr))) 952 #define VFILL(vec, n, val) \ 955 for (fill_idx = 0; fill_idx < n; fill_idx++) \ 956 vec[fill_idx] = val; \ 959 #define VCOPY(srcvec, dstvec, i, n) \ 961 for (i = 0; i < n; i++) \ 962 dstvec[i] = srcvec[i]; \ 966 char* wrap_text(
char* str,
int right_margin,
int left_padding );
968 #define VAT(array, i) ((array)[(i) - 1]) 969 #define RAT(array, i) ((array) + i - 1) enum eVchrg_Src Vchrg_Src
Declaration of the Vchrg_Src type as the Vchrg_Meth enum.
eVhal_PBEType
Version of PBE to solve.
enum eVdata_Format Vdata_Format
Declaration of the Vdata_Format type as the Vdata_Format enum.
enum eVoutput_Format Voutput_Format
Declaration of the Voutput_Format type as the VOutput_Format enum.
enum eVsurf_Meth Vsurf_Meth
Declaration of the Vsurf_Meth type as the Vsurf_Meth enum.
enum eVhal_IPKEYType Vhal_IPKEYType
Declaration of the Vhal_IPKEYType type as the Vhal_IPKEYType enum.
eVsurf_Meth
Types of molecular surface definitions.
enum eVbcfl Vbcfl
Declare Vbcfl type.
enum eVhal_PBEType Vhal_PBEType
Declaration of the Vhal_PBEType type as the Vhal_PBEType enum.
eVdata_Format
Format of data for APBS I/O.
eVbcfl
Types of boundary conditions.
eVrc_Codes
Return code enumerations.
eVsol_Meth
Solution Method enumerations.
eVoutput_Format
Output file format.
enum eVdata_Type Vdata_Type
Declaration of the Vdata_Type type as the Vdata_Type enum.
eVhal_NONLINType
Type of nonlinear to use for MG methods.
enum eVhal_NONLINType Vhal_NONLINType
Declaration of the Vhal_NONLINType type as the Vhal_NONLINType enum.
eVchrg_Meth
Types of charge discretization methods.
eVhal_IPKEYType
Type of ipkey to use for MG methods.
enum eVchrg_Meth Vchrg_Meth
Declaration of the Vchrg_Meth type as the Vchrg_Meth enum.
eVdata_Type
Types of (scalar) data that can be written out of APBS.