FlexRaw.pm (PDL-2.075) | : | FlexRaw.pm (PDL-2.076) | ||
---|---|---|---|---|
skipping to change at line 346 | skipping to change at line 346 | |||
use warnings; | use warnings; | |||
use PDL; | use PDL; | |||
use Exporter; | use Exporter; | |||
use PDL::Types ':All'; | use PDL::Types ':All'; | |||
use PDL::IO::Misc qw(bswap4); | use PDL::IO::Misc qw(bswap4); | |||
our @ISA = qw/Exporter/; | our @ISA = qw/Exporter/; | |||
our @EXPORT = qw/writeflex writeflexhdr readflex mapflex/; | our @EXPORT = qw/writeflex writeflexhdr readflex mapflex/; | |||
# Cast type numbers in concrete, for external file's sake... | # Cast type numbers in concrete, for external file's sake... | |||
my %flexnames = ( map {(typefld($_,'numval') => typefld($_,'ioname'))} | my %flexnames = map +($_->enum => $_->ioname), types(); | |||
typesrtkeys()); | my %flextypes = map +($_->ioname => $_->enum, | |||
my %flextypes = ( map {(typefld($_,'ioname') => typefld($_,'numval'), | $_->enum => $_->enum, | |||
typefld($_,'numval') => typefld($_,'numval'), | $_->ppsym => $_->enum, | |||
lc typefld($_,'ppsym') => typefld($_,'numval'), | ), types(); | |||
)} | my %flexswap = map { | |||
typesrtkeys()); | my $nb = PDL::Core::howbig(my $val = $_->enum); | |||
my %flexswap = ( map {my $val = typefld($_,'numval'); | ||||
my $nb = PDL::Core::howbig($val); | ||||
($val => $nb > 1 ? "bswap$nb" : undef)} | ($val => $nb > 1 ? "bswap$nb" : undef)} | |||
typesrtkeys()); | types(); | |||
our $verbose = 0; | our $verbose = 0; | |||
our $writeflexhdr //= 0; | our $writeflexhdr //= 0; | |||
sub _read_flexhdr { | sub _read_flexhdr { | |||
my ($hname) = @_; | my ($hname) = @_; | |||
open my $hfile, $hname | open my $hfile, $hname | |||
or barf "Couldn't open '$hname' for reading: $!"; | or barf "Couldn't open '$hname' for reading: $!"; | |||
binmode $hfile; | binmode $hfile; | |||
my ($newfile) = 1; | my ($newfile) = 1; | |||
End of changes. 2 change blocks. | ||||
10 lines changed or deleted | 8 lines changed or added |