Lines Matching refs:self

56     my $self = {@_};
58 croak "BITS unspecified" unless exists $self->{BITS};
60 unless ref($self->{BITS}) eq 'ARRAY';
61 croak "MAX unspecified" unless exists $self->{MAX};
63 $self->{MAXLV} = @{$self->{BITS}} - 1;
64 $self->{FIXED} = 0;
66 my $lv0size = (indices($self, $self->{MAX} - 1))[0] + 1;
69 $self->{MAP} = \@map;
71 bless $self, $class;
75 my ($self, $n, $val) = @_;
77 croak "Already fixed" if $self->{FIXED};
78 carp("data ($n) out of range"), return if $n >= $self->{MAX};
80 my @index = $self->indices($n);
81 my $r = $self->{MAP};
82 my $maxlv = $self->{MAXLV};
88 $r->[$idx] = $self->create_imap($lv + 1, undef)
93 $r->[$idx] = $self->create_dmap() unless defined $r->[$idx];
94 $self->add_to_dmap($r->[$idx], $index[$maxlv], $val);
98 my $self = shift;
99 my $map = $self->{MAP};
100 my $maxlv = $self->{MAXLV};
104 carp "Already fixed" if $self->{FIXED};
105 $self->collapse_tree();
106 $self->fill_default();
107 $self->{FIXED} = 1;
111 my $self = shift;
113 my @bits = @{$self->{BITS}};
127 my $self = shift;
129 my $map = $self->{MAP};
130 my @index = $self->indices($v);
132 croak "Not yet fixed" unless $self->{FIXED};
143 my $self = shift;
145 croak "Not yet fixed" unless $self->{FIXED};
147 my @maps = $self->collect_maps();
148 my $maxlv = $self->{MAXLV};
149 my @bits = @{$self->{BITS}};
183 my $self = shift;
186 my @indirect = $self->indirectmap();
222 my $self = shift;
223 $self->cprog_imap(@_) . "\n" . $self->cprog_dmap(@_);
227 my $self = shift;
228 my @maps = $self->collect_maps();
229 my $elsize = $self->{ELSIZE};
234 for ($i = 0; $i < $self->{MAXLV}; $i++) {
252 my $self = shift;
255 $self->_collapse_tree_rec($self->{MAP}, 0, \@tmp);
259 my ($self, $r, $lv, $refs) = @_;
261 my $maxlv = $self->{MAXLV};
269 $found = $self->find_dmap($ref, $r);
272 $r->[$i] = $self->_collapse_tree_rec($r->[$i], $lv + 1, $refs);
274 $found = $self->find_imap($ref, $r);
284 my $self = shift;
285 my $maxlv = $self->{MAXLV};
286 my $bits = $self->{BITS};
289 $zeros[$maxlv] = $self->create_dmap();
292 $zeros[$lv] = $self->create_imap($lv, $r);
294 _fill_default_rec($self->{MAP}, 0, $maxlv, \@zeros);
311 my ($self, $lv, $v) = @_;
313 @map = ($v) x (1 << $self->{BITS}->[$lv]);
318 my ($self, $maps, $map) = @_;
332 my $self = shift;
334 _collect_maps_rec($self->{MAP}, 0, $self->{MAXLV}, \@maps);
371 my $self = $class->SUPER::new(@_);
372 $self->{DEFAULT} = 0;
373 bless $self, $class;
377 my $self = shift;
379 $self->add1($_, undef) foreach @_;
383 my $self = shift;
384 my $bmbits = $self->{BITS}->[-1];
391 my ($self, $map, $idx, $val) = @_;
396 my ($self, $ref, $r) = @_;
404 my $self = shift;
407 my @maps = $self->collect_maps();
410 my $bmsize = 1 << ($self->{BITS}->[-1] - 3);
448 my $self = $class->SUPER::new(@_);
449 $self->{DEFAULT} = 0 unless exists $self->{DEFAULT};
450 bless $self, $class;
454 my $self = shift;
458 $self->add1($n, $val);
463 my $self = shift;
464 my $tblbits = $self->{BITS}->[-1];
465 my $default = $self->{DEFAULT};
472 my ($self, $map, $idx, $val) = @_;
477 my ($self, $ref, $r) = @_;
491 my $self = shift;
494 my @maps = $self->collect_maps();
499 my $tblsize = 1 << $self->{BITS}->[-1];