xinv.xiext#
xiext is xinv binary Cython backend. Some of the heavy lifting is done using this the functions of this shared library. This file groups cython functionality under a common shared library
- xinv.xiext.read_symmat_fast(fileobj, dsout, blockname)#
Reads a triangular matrix from a SINEX block and returns a symmetric version (Cython version) This version is optimized and uses the following tricks 1. Direct access through a character pointer to the data of a unicode object (line of the files) 2. Use of Cython memoryviews to avoid boiunds checking of the numpy arrays 3. Use of Cython cdef variables to avoid type checking and optimize loop 4. Use of stdlib strtol, and strod to parse the lines
- Parameters:
fileobj – io buffer to read lines from
dsout (xarray.Dataset) – xarray.Dataset to augment the matrix data to
- blocknamestr
name of the SINEX block. should be one of: SOLUTION/NORMAL_EQUATION_MATRIX U SOLUTION/NORMAL_EQUATION_MATRIX L
- Return type:
an updated xarray.Dataset holding the new matrix in a new variable ‘N’