#include "fpapi_test.h"
program zero
integer*8 values(10)
integer es, event
integer*8 uso, usn, cyco, cycn
integer domain, granularity
character*(PAPI_MAX_STR_LEN) domainstr, grnstr
character*(PAPI_MAX_STR_LEN) name
integer retval
Integer last_char, n
External last_char
integer tests_quiet, get_quiet
external get_quiet
tests_quiet = get_quiet()
es = PAPI_NULL
retval = PAPI_VER_CURRENT
call PAPIf_library_init(retval)
if ( retval.NE.PAPI_VER_CURRENT) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPI_library_init', retval)
end if
call PAPIf_query_event(PAPI_FP_INS, retval)
if (retval .NE. PAPI_OK) then
event = PAPI_TOT_INS
else
event = PAPI_FP_INS
end if
call PAPIf_create_eventset(es, retval)
if ( retval.NE.PAPI_OK) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_create_eventset',
* retval)
end if
call PAPIf_add_event( es, event, retval )
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_add_event', retval)
end if
call PAPIf_add_event( es, PAPI_TOT_CYC, retval )
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_add_event', retval)
end if
call PAPIf_get_real_usec(uso)
call PAPIf_get_real_cyc(cyco)
call PAPIf_start(es, retval)
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_start', retval)
end if
call fdo_flops(NUM_FLOPS)
call PAPIf_stop(es, values(1), retval)
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_stop', retval)
end if
call PAPIf_get_real_usec(usn)
call PAPIf_get_real_cyc(cycn)
if (tests_quiet .EQ. 0) then
print *, "Test case 0: start, stop."
print *, "-----------------------------------------------",
* "--------------------------"
end if
call PAPIf_get_domain(es, domain, PAPI_DEFDOM, retval)
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_get_domain', retval)
end if
call stringify_domain(domain, domainstr)
if (tests_quiet .EQ. 0) then
write (*,800) "Default domain is :", domain, domainstr
end if
call PAPIf_get_granularity(es, granularity, PAPI_DEFGRN,
* retval)
if ( retval .NE. PAPI_OK ) then
call ftest_fail(__FILE__, __LINE__,
. 'PAPIf_get_granularity',
* retval)
end if
call stringify_granularity(granularity, grnstr)
if (tests_quiet .EQ. 0) then
call PAPIf_event_code_to_name (event, name, retval)
if ( retval.NE.PAPI_OK) then
call ftest_fail(__FILE__, __LINE__,
* 'PAPIf_event_code_to_name', retval)
end if
n=last_char(name)
write (*,800) "Default granularity is:", granularity, grnstr
800 format(a25, i3, " ", a70)
write (*,810) "Using", NUM_FLOPS,
$ " iterations of c = c + a * b"
810 format(a7, i9, a)
print *, "-----------------------------------------------",
* "--------------------------"
write (*,100) "Test type", 1
write (*,100) name(1:n), values(1)
write (*,100) "PAPI_TOT_CYC", values(2)
write (*,100) "Real usec", usn-uso
write (*,100) "Real cycles", cycn-cyco
100 format(a13, ":", i12)
print *, "-----------------------------------------------",
* "--------------------------"
print *, "Verification: none"
endif
call ftests_pass(__FILE__)
end