summaryrefslogtreecommitdiff
path: root/lib/sbin/create_fortran_stuff.pl
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-03-22 19:38:16 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-03-22 19:38:16 +0000
commitd485be790b414aa1dc01d6a55f688349955cabf6 (patch)
tree2bcd1ea2df0d3931ded0b221db05f91fd85282ad /lib/sbin/create_fortran_stuff.pl
parente32a94483b168bf05c57d2a93b674a21f2e5cd74 (diff)
Toms fixes for ordering aliases for parameters
git-svn-id: http://svn.cactuscode.org/flesh/trunk@414 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/sbin/create_fortran_stuff.pl')
-rw-r--r--lib/sbin/create_fortran_stuff.pl26
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/sbin/create_fortran_stuff.pl b/lib/sbin/create_fortran_stuff.pl
index 10790e8a..5f78591e 100644
--- a/lib/sbin/create_fortran_stuff.pl
+++ b/lib/sbin/create_fortran_stuff.pl
@@ -19,7 +19,7 @@ sub CreateFortranThornParameterBindings
local($implementation);
local(@data);
local(@file);
- local(@alias_names);
+ local(%alias_names);
%parameter_database = @rest[0..(2*$n_param_database)-1];
%interface_database = @rest[2*$n_param_database..$#rest];
@@ -67,30 +67,32 @@ sub CreateFortranThornParameterBindings
}
}
+ # Parameters from friends
foreach $friend (split(" ",$parameter_database{"\U$thorn\E FRIEND implementations"}))
{
+ # Determine which thorn provides this friend implementation
$interface_database{"IMPLEMENTATION \U$friend\E THORNS"} =~ m:([^ ]*):;
$friend_thorn = $1;
%these_parameters = &GetThornParameterList($friend_thorn, "PROTECTED", %parameter_database);
- @alias_names = ();
+ %alias_names = ();
foreach $parameter (keys %these_parameters)
{
# Alias the parameter unless it is one we want.
if(($parameter_database{"\U$thorn FRIEND $friend\E variables"} =~ m:( )*$parameter( )*:) && (length($1) > 0)||length($2)>0||$1 eq $parameter_database{"\U$thorn FRIEND $friend\E variables"})
{
- push(@alias_names, $parameter);
+ $alias_names{$parameter} = "$parameter";
}
else
{
- push(@alias_names, "CCTKH".scalar(@alias_names));
+ $alias_names{$parameter} = "CCTKH".scalar(@alias_names);
}
}
- @data = &CreateFortranCommonDeclaration("$friend_thorn"."prot", 1, scalar(keys %these_parameters), %these_parameters, @alias_names, %parameter_database);
+ @data = &CreateFortranCommonDeclaration("$friend_thorn"."prot", 1, scalar(keys %these_parameters), %these_parameters, %alias_names, %parameter_database);
foreach $line (@data)
{
@@ -113,19 +115,19 @@ sub CreateFortranCommonDeclaration
local(%parameters);
local($type, $type_string);
local($definition);
- local(@alias_names);
- local($n);
+ local(%alias_names);
if($aliases == 0)
{
%parameters = @rest[0..2*$n_parameters-1];
+ %alias_names = ();
%parameter_database = @rest[2*$n_parameters..$#rest];
}
else
{
%parameters = @rest[0..2*$n_parameters-1];
- @alias_names = @rest[2*$n_parameters..3*$n_parameters-1];
- %parameter_database = @rest[3*$n_parameters..$#rest];
+ %alias_names = @rest[2*$n_parameters..4*$n_parameters-1];
+ %parameter_database = @rest[4*$n_parameters..$#rest];
}
# Create the data
@@ -134,7 +136,6 @@ sub CreateFortranCommonDeclaration
$sepchar = "";
- $n = 0;
foreach $parameter (order_params(scalar(keys %parameters), %parameters,%parameter_database))
{
$type = $parameter_database{"\U$parameters{$parameter} $parameter\E type"};
@@ -147,7 +148,7 @@ sub CreateFortranCommonDeclaration
}
else
{
- $line = "$type_string $alias_names[$n]";
+ $line = "$type_string $alias_names{$parameter}";
}
push(@data, $line);
@@ -158,12 +159,11 @@ sub CreateFortranCommonDeclaration
}
else
{
- $definition .= "$sepchar$alias_names[$n]";
+ $definition .= "$sepchar$alias_names{$parameter}";
}
$sepchar = ",";
- $n++;
}
push(@data, $definition);