Exemplo n.º 1
0
Arquivo: gpp.py Projeto: Dumbear/ADIOS
def get_fortran_groupsize_code (group):
    #print 'Get Fortran Groupsize code for group "'+group.get_name()+'"'
    groupsize_code_string = ''
    groupsize_code_string += 'adios_groupsize = '
    for v in group.get_vars():
        #print '  count variable "'+v.get_fullpath()+'"'
        if (v.is_scalar() ):
            groupsize_code_string += ('%d' % type_mapper.get_size (v.get_type() ) + ' &\n                + ')
        else:
            groupsize_code_string += ('%d * ' % type_mapper.get_size (v.get_type() ) )

            for d in v.get_dimensions():
                #print '  count dim "'+d+'"'
                # need to check whether this is the timestep
                groupsize_code_string += '(' + d + ') * '

            groupsize_code_string = groupsize_code_string.rstrip ('* ')

            groupsize_code_string += (' &\n                + ')

    # remove the final &+
    groupsize_code_string = groupsize_code_string.rstrip('+\n &') 

    groupsize_code_string += '\ncall adios_group_size (adios_handle, adios_groupsize, adios_totalsize, adios_err)'

    #print 'Done Fortran Groupsize'
    return groupsize_code_string;
Exemplo n.º 2
0
def get_fortran_groupsize_code(group):
    #print 'Get Fortran Groupsize code for group "'+group.get_name()+'"'
    groupsize_code_string = ''
    groupsize_code_string += 'adios_groupsize = '
    for v in group.get_vars():
        #print '  count variable "'+v.get_fullpath()+'"'
        if (v.is_scalar()):
            if v.get_type() != 'string':
                groupsize_code_string += (
                    '%d' % type_mapper.get_size(v.get_type()) +
                    ' &\n                + ')
            else:
                groupsize_code_string += ('len_trim(' + v.get_gwrite() + ')' +
                                          ' &\n                + ')
        else:
            groupsize_code_string += ('%d * ' %
                                      type_mapper.get_size(v.get_type()))

            for d in v.get_dimensions():
                #print '  count dim "'+d+'"'
                # need to check whether this is the timestep
                groupsize_code_string += '(' + d + ') * '

            groupsize_code_string = groupsize_code_string.rstrip('* ')

            groupsize_code_string += (' &\n                + ')

    # remove the final &+
    groupsize_code_string = groupsize_code_string.rstrip('+\n &')

    groupsize_code_string += '\ncall adios_group_size (adios_handle, adios_groupsize, adios_totalsize, adios_err)'

    #print 'Done Fortran Groupsize'
    return groupsize_code_string
Exemplo n.º 3
0
Arquivo: gpp.py Projeto: Dumbear/ADIOS
def get_c_groupsize_code (group):
    groupsize_code_string = ''
    groupsize_code_string += 'adios_groupsize = '
    for v in group.get_vars():
        if v.is_scalar():
            if v.get_type() != 'string':
                groupsize_code_string += ('%d' % type_mapper.get_size (v.get_type() ) + ' \\\n                + ')
            else:
                groupsize_code_string += ('strlen(' + v.get_gwrite() + ')' + ' \\\n                + ')
        else:
            groupsize_code_string += ('%d * ' % type_mapper.get_size (v.get_type() ) )

            for d in v.get_dimensions():
                # need to check whether this is the timestep
                groupsize_code_string += '(' + d + ') * '

            groupsize_code_string = groupsize_code_string.rstrip ('* ')

            groupsize_code_string += (' \\\n                + ')

    # remove the final +\, and add the ;
    groupsize_code_string = groupsize_code_string.rstrip('+\\\n ') + ';'

    groupsize_code_string += '\nadios_group_size (adios_handle, adios_groupsize, &adios_totalsize);'

    return groupsize_code_string;
Exemplo n.º 4
0
def get_c_groupsize_code(group):
    groupsize_code_string = ''
    groupsize_code_string += 'adios_groupsize = '
    for v in group.get_vars():
        if v.is_scalar():
            if v.get_type() != 'string':
                groupsize_code_string += (
                    '%d' % type_mapper.get_size(v.get_type()) +
                    ' \\\n                + ')
            else:
                groupsize_code_string += ('strlen(' + v.get_gwrite() + ')' +
                                          ' \\\n                + ')
        else:
            groupsize_code_string += ('%d * ' %
                                      type_mapper.get_size(v.get_type()))

            for d in v.get_dimensions():
                # need to check whether this is the timestep
                groupsize_code_string += '(' + d + ') * '

            groupsize_code_string = groupsize_code_string.rstrip('* ')

            groupsize_code_string += (' \\\n                + ')

    # remove the final +\, and add the ;
    groupsize_code_string = groupsize_code_string.rstrip('+\\\n ') + ';'

    groupsize_code_string += '\nadios_group_size (adios_handle, adios_groupsize, &adios_totalsize);'

    return groupsize_code_string