def _ctypes_assign(parameter):
    """Returns the Fortran code lines to allocate and assign values to the *original*
    parameter ValueElement that exists now only as a local variable so that the
    signatures match for the compiler.
    """
    #If the array is set to only have intent(out), we don't want to allocate or assign
    #a value to it; otherwise we do.
    if (parameter.direction != "(out)" and ("allocate" in parameter.modifiers
                                            or "pointer" in parameter.modifiers
                                            or "target" in parameter.modifiers)):
        if "in" in parameter.direction:
            splice = _ctypes_splice(parameter)
            result = []
            result.append("    allocate({}({}))".format(parameter.name, splice))
            result.append("    {0} = {0}_c".format(parameter.name))
            return ('\n'.join(result), True)
    elif parameter.dtype == "logical" and "in" in parameter.direction:
        return ("    {0} = {0}_c".format(parameter.name), False)
def _ctypes_assign ( parameter ) : if ( parameter . direction != "(out)" and ( "allocate" in parameter . modifiers or "pointer" in parameter . modifiers or "target" in parameter . modifiers ) ) : if "in" in parameter . direction : splice = _ctypes_splice ( parameter ) result = [ ] result . append ( "    allocate({}({}))" . format ( parameter . name , splice ) ) result . append ( "    {0} = {0}_c" . format ( parameter . name ) ) return ( '\n' . join ( result ) , True ) elif parameter . dtype == "logical" and "in" in parameter . direction : return ( "    {0} = {0}_c" . format ( parameter . name ) , False )
Returns the Fortran code lines to allocate and assign values to the *original*
    parameter ValueElement that exists now only as a local variable so that the
    signatures match for the compiler.