changeset 137:723216311cd1 misc

Updates.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 20 Dec 2010 17:34:14 +0000
parents 9a0e08516041
children e001efd8d490
files materials/csv2transtab.pl materials/parsealloys.pl materials/parsematerial.pl
diffstat 3 files changed, 48 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/materials/csv2transtab.pl	Mon Dec 20 17:07:07 2010 +0000
+++ b/materials/csv2transtab.pl	Mon Dec 20 17:34:14 2010 +0000
@@ -28,7 +28,7 @@
   }
 }
 
-print "my %transTable = (\n";
+print "my %matTransTable = (\n";
 
 foreach my $a (sort { $a <=> $b } keys %data) {
   print "  $a => {\n";
--- a/materials/parsealloys.pl	Mon Dec 20 17:07:07 2010 +0000
+++ b/materials/parsealloys.pl	Mon Dec 20 17:34:14 2010 +0000
@@ -142,25 +142,31 @@
   my $total = 0;
   my %tdata = ();
 
-  foreach my $min1 (sort { $a cmp $b } keys %final) {
-    foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}}) {
-      
-      printf "%-35s = ", $min1." + ".$min2;
-      my $n = 0;
-      foreach my $res (sort { $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b} } keys %{$final{$min1}{$min2}}) {
-        print $res."[".$final{$min1}{$min2}{$res}."] ";
-        $n++;
+  foreach my $type (sort { $a cmp $b } keys %{$Materials::matByType}) {
+    my $subtotal = 0;
+    print "\n$type alloys\n".
+    "=========================================================\n";
+
+    foreach my $min1 (@{$$Materials::matByType{$type}}) {
+      if (defined($final{$min1})) {
+      foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}}) {
+        printf "%-35s = ", $min1." + ".$min2;
+        my $n = 0;
+        foreach my $res (sort { $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b} } keys %{$final{$min1}{$min2}}) {
+          print $res."[".$final{$min1}{$min2}{$res}."] ";
+          $n++;
+        }
+        if ($n > 1) { print " (unstable)"; }
+        print "\n";
+        $total++;
+        $subtotal++;
       }
-      if ($n > 1) { print " (unstable)"; }
-      print "\n";
-      $total++;
-#      $subtotal++;
+      }
     }
+    print "\n$subtotal $type alloys.\n\n";
   }
 
 
-#    print "$type alloys\n===================\n";
-#    print "\n$subtotal $type alloys.\n";
   
   print "\n$total alloys total.\n";
 }
--- a/materials/parsematerial.pl	Mon Dec 20 17:07:07 2010 +0000
+++ b/materials/parsematerial.pl	Mon Dec 20 17:34:14 2010 +0000
@@ -16,7 +16,7 @@
 #
 # Data translation table generated with csv2transtab.pl
 #
-my %transTable = (
+my %matTransTable = (
   2 => {
     "very light" => 0,
     "light" => 1,
@@ -526,12 +526,23 @@
   $Data::Dumper::Useqq  = 1; 
   $Data::Dumper::Purity = 1;
 
-  print "package Materials;\nrequire Exporter;\n\@ISA = qw(Exporter);\n\n\@EXPORT = qw(matTable transTable);\n\n";
+  print "package Materials;\nrequire Exporter;\n".
+  "\@ISA = qw(Exporter);\n\n".
+  "\@EXPORT = qw(matTable matTransTable matByType matTypes);\n\n";
+
   my $dumper = Data::Dumper->new([\%data], ["matTable"]);
   print "our ".$dumper->Dump()."\n\n";
 
-  $dumper = Data::Dumper->new([\%transTable], ["transTable"]);
-  print "our ".$dumper->Dump()."\n\n1;\n";
+  $dumper = Data::Dumper->new([\%matTransTable], ["matTransTable"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\%matByType], ["matByType"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\@matTypes], ["matTypes"]);
+  print "our ".$dumper->Dump()."\n\n";
+  
+  print "1;\n";
 }
 
 # Dump PHP data
@@ -542,17 +553,17 @@
     print "\"".$$info{"l"}."\",";
   }
   print ");\n\n".
-  "\$transTable = array(\n";
-  foreach my $i (sort { $a <=> $b } keys %transTable) {
+  "\$matTransTable = array(\n";
+  foreach my $i (sort { $a <=> $b } keys %matTransTable) {
     print "  array(";
-    foreach my $j (keys %{$transTable{$i}}) {
-      if (defined($transTable{$i}{$j})) {
-        print $transTable{$i}{$j};
+    foreach my $j (keys %{$matTransTable{$i}}) {
+      if (defined($matTransTable{$i}{$j})) {
+        print $matTransTable{$i}{$j};
         $j =~ s/very /v./;
         $j =~ s/incredibly /incr./;
         print " => \"$j\","
       } else {
-        print STDERR "$0: Unknown transTable type $i : $j\n";
+        print STDERR "$0: Unknown matTransTable type $i : $j\n";
       }
     }
     print "),\n";
@@ -570,18 +581,18 @@
       if (defined($data{$name}{$arr})) {
         print "array(";
         foreach my $q (sort { $a cmp $b } @{$data{$name}{$arr}}) {
-          if (defined($transTable{$s}{$q})) {
-            print $transTable{$s}{$q}.",";
+          if (defined($matTransTable{$s}{$q})) {
+            print $matTransTable{$s}{$q}.",";
           } else {
-            print STDERR "$0: Unknown transTable type for '$name' : $s :: $q ($idx)\n";
+            print STDERR "$0: Unknown matTransTable type for '$name' : $s :: $q ($idx)\n";
           }
         }
         print "),";
-      } elsif (defined($transTable{$s}{$idx})) {
-        print $transTable{$s}{$idx}.", ";
+      } elsif (defined($matTransTable{$s}{$idx})) {
+        print $matTransTable{$s}{$idx}.", ";
       } else {
         if ($s != 1) {
-          print STDERR "$0: Unknown transTable type for '$name' : $s == $f ($idx)\n";
+          print STDERR "$0: Unknown matTransTable type for '$name' : $s == $f ($idx)\n";
           print "-1,";
         }
       }