gdaUpdateAndPack¶
Purpose¶
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.
Format¶
-
retcode =
gdaUpdateAndPack(filename, x, varname)¶ Parameters: - filename (string) – name of data file.
- x (matrix) – array, string or string array, data.
- varname (string) – variable name.
Returns: retcode (scalar) –
return code, 0 if successful, otherwise one of the following error codes:
1 Null file name. 2 File open error. 3 File write error. 4 File read error. 5 Invalid data file type. 8 Variable not found. 10 File contains no variables. 12 File truncate error. 14 File too large to be read on current platform.
Examples¶
// 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");
Remarks¶
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
gdaUpdate() instead.
See also
Functions gdaUpdate(), gdaWrite()