]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
add mutisubst
authorkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 11 Dec 2011 03:01:14 +0000 (03:01 +0000)
committerkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 11 Dec 2011 03:01:14 +0000 (03:01 +0000)
git-svn-id: https://svn.dealii.org/trunk@24813 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/common/dealiitemplates.pm.in

index 7acce371f665e4f402e7b1eaa9e1607de7285f80..a733b3c448053ec2538f209964d0910b15785e63 100644 (file)
@@ -9,7 +9,8 @@ use warnings;
 BEGIN {
     use Exporter();
     our @ISA = qw(Exporter);
-    our @EXPORT = qw(@dimensions @dofhandlers @dofhandler_templates
+    our @EXPORT = qw(&multisubst
+                     @dimensions @codim1_dimensions @dofhandlers @dofhandler_templates
                      @real_scalars @complex_scalars @all_scalars
                      @deal_vector_templates @deal_vectors @deal_real_vectors @deal_complex_vectors
                      @trilinos_vectors @petsc_vectors
@@ -54,13 +55,17 @@ sub multisubst
 {
     my $text = shift;
     my $patterns = shift;
+    
+    my $npat = $#{$patterns}+1;
+    my $nvec = $#_+1;
+    ($nvec == $npat) ||
+       die "multisubst function received $npat replacement patterns, but $nvec vectors\n",
+       "Did you by chance use '\@vec' instead of '\\\@vec?";
+    
     my @sizes = map { $#{$_} } @_;
     my $n = 1;
     grep { $n *= ($_+1); } @sizes;
-    my @index;
-    
-    ($#_ == $#{$patterns}) ||
-       die "multisubst function received $#{$patterns} replacement patterns, but $#_ vectors";
+    my @index = map { 0 } @sizes;
     
     for (my $i=0;$i<$n;++$i)
     {
@@ -93,7 +98,8 @@ sub multisubst
 our $t;
 
 # Dimensions
-our @dimensions = (1,2,3);
+our @dimensions       = (1,2,3);
+our @codim1_dimensions = (1,2);
 
 # DoFHandlers
 our @dofhandler_templates = qw(DoFHandler hp::DoFHandler MGDoFHandler);

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.