Home > atmlab > arts > xml > xmlReadTensor6.m

xmlReadTensor6

PURPOSE ^

Reads a Tensor6 from an XML file.

SYNOPSIS ^

function result = xmlReadTensor6(fid, attrlist, itype, ftype, binary, fid2)

DESCRIPTION ^

 Reads a Tensor6 from an XML file.

    Internal function that should never be called directly.
    Use *xmlLoad* instead.

 FORMAT   result = xmlReadTensor6(fid, attrlist, itype, ftype, binary, fid2)

 OUT   result     Tensor6
 IN    fid        File descriptor of XML file
 IN    attrlist   List of tag attributes
 IN    itype      Integer type of input file
 IN    ftype      Floating point type of input file
 IN    binary     Flag. 1 = binary file, 0 = ascii
 IN    fid2       File descriptor of binary file

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

xmlReadTensor6.m

SOURCE CODE ^

0001 % Reads a Tensor6 from an XML file.
0002 %
0003 %    Internal function that should never be called directly.
0004 %    Use *xmlLoad* instead.
0005 %
0006 % FORMAT   result = xmlReadTensor6(fid, attrlist, itype, ftype, binary, fid2)
0007 %
0008 % OUT   result     Tensor6
0009 % IN    fid        File descriptor of XML file
0010 % IN    attrlist   List of tag attributes
0011 % IN    itype      Integer type of input file
0012 % IN    ftype      Floating point type of input file
0013 % IN    binary     Flag. 1 = binary file, 0 = ascii
0014 % IN    fid2       File descriptor of binary file
0015 
0016 % 2002-10-18   Created by Oliver Lemke.
0017 
0018 function result = xmlReadTensor6(fid, attrlist, itype, ftype, binary, fid2)
0019 
0020 nv = str2num (xmlGetAttrValue (attrlist, 'nvitrines'));
0021 ns = str2num (xmlGetAttrValue (attrlist, 'nshelves'));
0022 nb = str2num (xmlGetAttrValue (attrlist, 'nbooks'));
0023 np = str2num (xmlGetAttrValue (attrlist, 'npages'));
0024 nr = str2num (xmlGetAttrValue (attrlist, 'nrows'));
0025 nc = str2num (xmlGetAttrValue (attrlist, 'ncols'));
0026 nelem =  nv * ns * nb * np * nr * nc;
0027 
0028 if ~binary
0029   result = fscanf (fid, '%f', nelem);
0030 else
0031   result = fread (fid2, nelem, ftype);
0032 end
0033 xmlCheckSize (nelem, size (result));
0034 
0035 result = permute (reshape (result, [nc nr np nb ns nv]), [6 5 4 3 2 1]);
0036

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005