From 18199543e4859b4b4ee09f7c3315b88a1f9ffeca Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 17 May 2016 20:48:04 +0200 Subject: [PATCH] Change L to L1 in format --- src/f_types.py | 2 +- src/groups.py | 1 - src/groups_templates.py | 45 ++++++++++++++++------------------------- src/libezfio_file.irp.f | 10 ++++----- 4 files changed, 23 insertions(+), 35 deletions(-) diff --git a/src/f_types.py b/src/f_types.py index d1c5d43..b70bfd2 100644 --- a/src/f_types.py +++ b/src/f_types.py @@ -27,7 +27,7 @@ format= { 'integer' : ["'(I20)'", "%20d"], 'real' : ["'(E24.15)'","%24.15E"], 'double precision': ["'(E24.15)'","%24.15E"], - 'logical' : ["'(L)'","%c"], + 'logical' : ["'(L1)'","%c"], 'character*(*)' : ["'(A)'","%s"] } diff --git a/src/groups.py b/src/groups.py index 7d632b8..27f69c8 100644 --- a/src/groups.py +++ b/src/groups.py @@ -94,7 +94,6 @@ for group in groups.keys(): buffer = re.sub(r"at\((.*),(.*)\)",r'\1(\2)',buffer) print buffer print >>file_py, calculated_py%d - print >>file_c, calculated_c%d elif type == "buffered": d = { 'group': group, 'var': var, diff --git a/src/groups_templates.py b/src/groups_templates.py index 489e3e9..1150088 100644 --- a/src/groups_templates.py +++ b/src/groups_templates.py @@ -249,7 +249,7 @@ void ezfio_get_%(group)s_%(var)s(%(ctype)s *%(var)s) ezfio_get_%(group)s_%(var)s_(%(var)s); } -bool ezfio_has_%(group)s_%(var)s() +int ezfio_has_%(group)s_%(var)s() { ezfio_has_%(group)s_%(var)s_(); } @@ -258,15 +258,15 @@ bool ezfio_has_%(group)s_%(var)s() attributes_arr_c = """ void ezfio_set_%(group)s_%(var)s(%(ctype)s %(var)s) { - ezfio_set_%(group)s_%(var)s_(&%(var)s, 1); + ezfio_set_%(group)s_%(var)s_(&%(var)s); } void ezfio_get_%(group)s_%(var)s(%(ctype)s *%(var)s) { - ezfio_get_%(group)s_%(var)s_(%(var)s, 1); + ezfio_get_%(group)s_%(var)s_(%(var)s); } -bool ezfio_has_%(group)s_%(var)s() +int ezfio_has_%(group)s_%(var)s() { ezfio_has_%(group)s_%(var)s_(); } @@ -274,32 +274,13 @@ bool ezfio_has_%(group)s_%(var)s() calculated_c = attributes_c -c_header = """ -#ifndef EZFIO_H -#define EZFIO_H +c_header = """#ifndef EZFIO_H\n#define EZFIO_H + +#include #ifdef __cplusplus extern "C" { #endif -""" - -c_footer = """ -#ifdef __cplusplus -} -#endif -#endif -""" - - -file_h = [c_header] -file_h +=[ """ -void ezfio_set_file_(char* filename, long filename_size); - -void ezfio_read_buffer_(int* indices,double* values, int* isize); -void ezfio_write_buffer_(int* indices,double* values, int* isize); -"""] - -file_c = [ """ typedef struct { @@ -311,7 +292,7 @@ void ezfio_set_file(char* filename) { long len; len = strlen(filename); - ezfio_set_file_(filename,mlen); + ezfio_set_file_(filename,len); } sparse ezfio_read_buffer(int isize) @@ -326,7 +307,15 @@ void ezfio_write_buffer(sparse data, int isize) ezfio_write_buffer_(data.indices,data.values,&isize); } -""" ] +""" + +c_footer = """ +#ifdef __cplusplus +} +#endif +#endif +""" + diff --git a/src/libezfio_file.irp.f b/src/libezfio_file.irp.f index 860eb8e..9334a2a 100644 --- a/src/libezfio_file.irp.f +++ b/src/libezfio_file.irp.f @@ -128,16 +128,16 @@ logical function exists(path) character*(*) :: path character*(32) :: V inquire(file=trim(path)//'/.version',exist=exists) - if (exists) then - open(libezfio_iunit,file=trim(path)//'/.version') - read(libezfio_iunit,*) V - close(libezfio_iunit) +! if (exists) then +! open(libezfio_iunit,file=trim(path)//'/.version') +! read(libezfio_iunit,*) V +! close(libezfio_iunit) ! integer :: char_to_version ! if (char_to_version(V) > char_to_version(libezfio_version)) then ! call ezfio_error(irp_here, 'This file was generated with version '//trim(V)//& ! ' but the current installed version is '//trim(libezfio_version)//'') ! endif - endif +! endif end function subroutine ezfio_set_file(filename_in)