Dear Frank,
here you find the code responsible for the error. As already said, it works just fine as far as it is called only a few times, but results in the aforementioned message when things become intensive.
procedure addoneket ( var ktsa: PMatr2Dob10; neact: integer; var lastket: integer );
var
i, j, itop, jtop, i1, i2, i3, i4, j1, j2, j3, j4: integer;
ktsb: Pmatr2Dob10;
begin
//create a new array, k4, one row longer //to accomodate the new vector. //copy k3 to k4, //then redimension k3, //finally copy k4 back into k3.
//printket ( ktsa, neact, '# ADDONEKET: ktsa before adding last ket' );
inc ( lastket ); jtop := 4 * neact; new ( ktsb, lastket, jtop );
for i := 1 to lastket - 1 do begin for j := 0 to jtop do begin ktsb ^[ i, j ] := ktsa ^[ i, j ]; end; end;
dispose ( ktsa ); new ( ktsa, lastket, 4 * neact );
for i := 1 to lastket - 1 do begin for j := 0 to jtop do begin ktsa ^[ i, j ] := ktsb ^[ i, j ]; end; end;
dispose ( ktsb ); //free some memory by disposing of ktsb.
//printket ( ktsa, neact, '# ADDONEKET: ktsa AFTER adding last ket' );
end; //end procedure
Best regards
Silvio
On Wed, 3 Sep 2003, Frank Heckenbach wrote:
| Silvio a Beccara wrote: | | > Program received signal SIGSEGV, Segmentation fault. | > | > I don't even know what's going on, can somebody tell me? | | This means your program crashed. Probably you did something wrong. | But without seeing your code, it's impossibly for us to tell. | | Frank | | -- | Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E | GPC To-Do list, latest features, fixed bugs: | http://www.gnu-pascal.de/todo.html | GPC download signing key: 51FF C1F0 1A77 C6C2 4482 4DDC 117A 9773 7F88 1707 | |