about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/KPMtools/hash_del.m
blob: c5de3daa985bae295a349411ce719d48b63ec285 (plain)
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
function ndx = hash_del(key, fname)
% HASH_DEL Remove all entries that match key  from hashtable stored in a file
% ndx = hash_del(key, fname)
%
% Returns indices of matching entries (if any)
% See hash_lookup for an example

ndx = [];

if ~exist(fname, 'file')
  % new hashtable - no op
else
  %hashtable = importdata(fname);
  %hashtable = load(fname, '-mat');
  load(fname, '-mat');
  Nentries = length(hashtable.key);
  for i=1:Nentries
    if isequal(hashtable.key{i}, key)
      ndx = [ndx i];
    end
  end
  hashtable.key(ndx) = [];
  hashtable.value(ndx) = [];
  save(fname, 'hashtable', '-mat');
end