File: timeEvolution1.pl

package info (click to toggle)
dmrgpp 6.06-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 113,900 kB
  • sloc: cpp: 80,986; perl: 14,772; ansic: 2,923; makefile: 83; sh: 17
file content (70 lines) | stat: -rw-r--r-- 1,129 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/perl -w

use strict;
use warnings;

my ($obs,$useFlag)=@ARGV;

defined($useFlag) or die "USAGE: $0 observable useFlag\n";

print STDERR "$0: command line: $obs $useFlag\n";

my $nsites=0;
my $flag=0;
my $biggestTimeSeen = 0;

while(<STDIN>) {
	my $line = $_;
	$flag = 1 if (/^ALL/);
	next unless (/\Q$obs/);
	next if ($flag==0 and $useFlag==1);

	my @temp=split;
	next if (!isAnInteger($temp[0]));

	print $line;

	my $time = $temp[2];
	my $site = $temp[0];
	if ($biggestTimeSeen > $time) {
		die "$0: Error at $. for time=$time\n$_\n";
	}

	$biggestTimeSeen = $time if ($biggestTimeSeen < $time);

	$nsites = $site if ($nsites < $site);
}

$nsites++;

print STDERR "$0: Largest site seen = $nsites\n";
print STDERR "$0: Largest time seen = $biggestTimeSeen\n";

sub realPart
{
	my ($t)=@_;
	$_=$t;
	return "-1" if (!defined($_));
	s/\(//;
	s/\,.*$//;
	return $_;
}

sub imagPart
{
        my ($t)=@_;
        $_=$t;
        return "-1" if (!defined($_));
        s/\)//;
        s/^.*\,//;
        return $_;
}

sub isAnInteger
{
	my ($t)=@_;
	return 0 if (!defined($t));
	return 1 if ($t=~/^[0-9]+$/);
	return 0;
}