Updates a variable in a GAUSS Data Archive, leaving no empty bytes if the updated variable is smaller or larger than the variable it is replacing.
gdaUpdateAndPack(filename, x, varname)¶
filename (string) – name of data file.
x (matrix) – array, string or string array, data.
varname (string) – variable name.
retcode (scalar) –
return code, 0 if successful, otherwise one of the following error codes:
Null file name.
File open error.
File write error.
File read error.
Invalid data file type.
Variable not found.
File contains no variables.
File truncate error.
File too large to be read on current platform.
// Generate random variable x x = rndn(100, 50); // Create GDA `myFile` retcode1 = gdaCreate("myfile.gda", 1); // Write `x` to `myfile` as x1 retcode2 = gdaWrite("myfile.gda", x ,"x1"); // Generate random variable y y = rndn(75, 5); // Update x1 with y and pack retcode3 = gdaUpdateAndPack("myfile.gda", y, "x1");
This command updates the variable varname in filename with the data
contained in x.
gdaUpdateAndPack() always writes the data in x over the
specified variable in the file. If x is larger than the specified
variable, then it first moves all subsequent data in the file to make
room for the new data. If x is smaller, then
gdaUpdateAndPack() writes the
data, packs all of the subsequent data, leaving no empty bytes after the
updated variable, and truncates the file.
This command uses disk space efficiently; however, it may be slow for
large files (especially if the variable to be updated is one of the
first variables in the file). If speed is a concern, you may want to use