Changeset 496 for trunk


Ignore:
Timestamp:
Jul 23, 2006, 12:09:07 PM (18 years ago)
Author:
dkearney
Message:

added getInt and getBool functions to fortran bindings and test programs.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/fortran/RpLibraryFInterface.h

    r125 r496  
    6565
    6666double rp_lib_get_double (  int* handle,
     67                            char* path,
     68                            int path_len);
     69
     70int rp_lib_get_integer (    int* handle,
     71                            char* path,
     72                            int path_len);
     73
     74int rp_lib_get_boolean (    int* handle,
    6775                            char* path,
    6876                            int path_len);
  • trunk/include/fortran/RpLibraryFStubs.h

    r125 r496  
    7474                            int path_len);
    7575
     76int rp_lib_get_integer_ (   int* handle,
     77                            char* path,
     78                            int path_len);
     79
     80int rp_lib_get_boolean_ (   int* handle,
     81                            char* path,
     82                            int path_len);
     83
    7684void rp_lib_put_str_ (      int* handle,
    7785                            char* path,
     
    189197                            int path_len);
    190198
     199int rp_lib_get_integer__ (  int* handle,
     200                            char* path,
     201                            int path_len);
     202
     203int rp_lib_get_boolean__ (  int* handle,
     204                            char* path,
     205                            int path_len);
     206
    191207void rp_lib_put_str__ (     int* handle,
    192208                            char* path,
     
    305321                            int path_len);
    306322
     323int RP_LIB_GET_INTEGER (    int* handle,
     324                            char* path,
     325                            int path_len);
     326
     327int RP_LIB_GET_BOOLEAN (    int* handle,
     328                            char* path,
     329                            int path_len);
     330
    307331void RP_LIB_PUT_STR (       int* handle,
    308332                            char* path,
  • trunk/src/fortran/RpLibraryFInterface.cc

    r165 r496  
    529529        if (lib) {
    530530            retVal = lib->getDouble(inPath);
     531        }
     532    }
     533
     534    return retVal;
     535}
     536
     537
     538/**********************************************************************/
     539// FUNCTION: rp_lib_get_integer()
     540/// Get data located at 'path' and return it as an integer value.
     541/**
     542 */
     543int rp_lib_get_integer( int* handle,   /* integer handle of library */
     544                        char* path,    /* null terminated path */
     545                        int path_len
     546                      )
     547{
     548    int retVal = 0;
     549
     550    RpLibrary* lib = NULL;
     551
     552    std::string inPath = "";
     553
     554    inPath = null_terminate_str(path,path_len);
     555
     556    if ((handle) && (*handle != 0)) {
     557        lib = getObject_Lib(*handle);
     558
     559        if (lib) {
     560            retVal = lib->getInt(inPath);
     561        }
     562    }
     563
     564    return retVal;
     565}
     566
     567
     568/**********************************************************************/
     569// FUNCTION: rp_lib_get_boolean()
     570/// Get data located at 'path' and return it as an integer value.
     571/**
     572 */
     573int rp_lib_get_boolean( int* handle,   /* integer handle of library */
     574                        char* path,    /* null terminated path */
     575                        int path_len
     576                      )
     577{
     578    bool value = false;
     579    int retVal = 0;
     580
     581    RpLibrary* lib = NULL;
     582
     583    std::string inPath = "";
     584
     585    inPath = null_terminate_str(path,path_len);
     586
     587    if ((handle) && (*handle != 0)) {
     588        lib = getObject_Lib(*handle);
     589
     590        if (lib) {
     591            value = lib->getBool(inPath);
     592            if (value == true) {
     593                retVal = 1;
     594            }
     595            else {
     596                retVal = 0;
     597            }
    531598        }
    532599    }
  • trunk/src/fortran/RpLibraryFStubs.c

    r125 r496  
    292292}
    293293
     294int
     295rp_lib_get_integer_ (   int* handle,
     296                        char* path,
     297                        int path_len) {
     298
     299    return rp_lib_get_integer(handle,path,path_len);
     300}
     301
     302int
     303rp_lib_get_integer__ (  int* handle,
     304                        char* path,
     305                        int path_len) {
     306
     307    return rp_lib_get_integer(handle,path,path_len);
     308}
     309
     310int
     311RP_LIB_GET_INTEGER (    int* handle,
     312                        char* path,
     313                        int path_len) {
     314
     315    return rp_lib_get_integer(handle,path,path_len);
     316}
     317
     318int
     319rp_lib_get_boolean_ (   int* handle,
     320                        char* path,
     321                        int path_len) {
     322
     323    return rp_lib_get_boolean(handle,path,path_len);
     324}
     325
     326int
     327rp_lib_get_boolean__ (  int* handle,
     328                        char* path,
     329                        int path_len) {
     330
     331    return rp_lib_get_boolean(handle,path,path_len);
     332}
     333
     334int
     335RP_LIB_GET_BOOLEAN (    int* handle,
     336                        char* path,
     337                        int path_len) {
     338
     339    return rp_lib_get_boolean(handle,path,path_len);
     340}
     341
    294342void
    295343rp_lib_put_str_ (       int* handle,
  • trunk/test/src/RpLibraryF_test.f

    r125 r496  
    6666      END SUBROUTINE  test_get_dbl
    6767
     68      SUBROUTINE  test_get_int(lib,path)
     69        integer lib
     70        integer rslt, rp_lib_get_integer
     71        character*100 path
     72
     73        print *,"TESTING GET INTEGER: path = ",path
     74
     75        rslt = rp_lib_get_integer(lib, path)
     76
     77        print *,"rslt = ",rslt
     78      END SUBROUTINE  test_get_int
     79
     80      SUBROUTINE  test_get_bool(lib,path)
     81        integer lib
     82        integer rslt, rp_lib_get_boolean
     83        character*100 path
     84
     85        print *,"TESTING GET BOOLEAN: path = ",path
     86
     87        rslt = rp_lib_get_boolean(lib, path)
     88
     89        print *,"rslt = ",rslt
     90      END SUBROUTINE  test_get_bool
     91
    6892      program rplib_f_tests
    6993        IMPLICIT NONE
     
    94118        call test_get_dbl(driver, path)
    95119
     120        ! TESTING GET INT
     121        path = "input.integer(try).current"
     122        call rp_lib_put_str(driver, path, "12",0)
     123        call test_get_int(driver, path)
     124        call rp_lib_put_str(driver, path, "15.043",0)
     125        call test_get_int(driver, path)
     126
     127        ! TESTING GET BOOLEAN
     128        path = "input.boolean(b).current"
     129        call rp_lib_put_str(driver, path, "true",0)
     130        call test_get_bool(driver, path)
     131        call rp_lib_put_str(driver, path, "false",0)
     132        call test_get_bool(driver, path)
     133        call rp_lib_put_str(driver, path, "1",0)
     134        call test_get_bool(driver, path)
     135        call rp_lib_put_str(driver, path, "0",0)
     136        call test_get_bool(driver, path)
     137        call rp_lib_put_str(driver, path, "on",0)
     138        call test_get_bool(driver, path)
     139        call rp_lib_put_str(driver, path, "off",0)
     140        call test_get_bool(driver, path)
     141        call rp_lib_put_str(driver, path, "yes",0)
     142        call test_get_bool(driver, path)
     143        call rp_lib_put_str(driver, path, "no",0)
     144        call test_get_bool(driver, path)
     145        call rp_lib_put_str(driver, path, "t",0)
     146        call test_get_bool(driver, path)
     147        call rp_lib_put_str(driver, path, "f",0)
     148        call test_get_bool(driver, path)
     149        call rp_lib_put_str(driver, path, "ye",0)
     150        call test_get_bool(driver, path)
     151        call rp_lib_put_str(driver, path, "n",0)
     152        call test_get_bool(driver, path)
     153        call rp_lib_put_str(driver, path, "tr",0)
     154        call test_get_bool(driver, path)
     155        call rp_lib_put_str(driver, path, "of",0)
     156        call test_get_bool(driver, path)
    96157
    97158        call rp_result(driver)
Note: See TracChangeset for help on using the changeset viewer.