Mir 1.0
Mir application programming interface
Moving of objects

Functions

mirkl_error_tmirml_mh_m_move (const mirml_mh_matrix_t *in, mirkl_size_t i0, mirkl_size_t j0, mirkl_size_t m0, mirkl_size_t n0, mirml_mh_matrix_t **out, mirkl_size_t i1, mirkl_size_t j1)
 Copies selected pieces of a matrix. More...
 
mirkl_error_tmirml_mh_v_move (const mirml_mh_vector_t *in, mirkl_size_t i0, mirkl_size_t dim0, mirml_mh_vector_t **out, mirkl_size_t i1)
 Copies selected pieces of a vector. More...
 
mirkl_error_tmirml_mh_iv_move (const mirml_mh_ivector_t *in, mirkl_size_t i0, mirkl_size_t dim0, mirml_mh_ivector_t **out, mirkl_size_t i1)
 Same as mirml_mh_v_move appied to vectors of integers.
 
mirkl_error_tmirml_mh_i64v_move (const mirml_mh_i64vector_t *in, mirkl_size_t i0, mirkl_size_t dim0, mirml_mh_i64vector_t **out, mirkl_size_t i1)
 Same as mirml_mh_iv_move appied to vectors of 64-bit integers.
 
mirkl_error_tmirml_mh_mv_move (const mirml_mh_matrix_t *in, mirkl_size_t i0, mirkl_size_t j0, mirkl_size_t m0, mirkl_size_t n0, mirml_mh_vector_t **out, mirkl_size_t i1)
 Copies selected piece of matrix to a vector. More...
 
mirkl_error_tmirml_mh_vm_move (const mirml_mh_vector_t *in, mirkl_size_t i0, mirml_mh_matrix_t **out, mirkl_size_t i1, mirkl_size_t j1, mirkl_size_t m1, mirkl_size_t n1)
 Copies selected piece of vector to a matrix. More...
 

Detailed Description

The .._move() routines are for moving blocks of memory around within Meschach data structures and for re-arranging matrices, vectors etc.

Function Documentation

◆ mirml_mh_m_move()

mirkl_error_t * mirml_mh_m_move ( const mirml_mh_matrix_t in,
mirkl_size_t  i0,
mirkl_size_t  j0,
mirkl_size_t  m0,
mirkl_size_t  n0,
mirml_mh_matrix_t **  out,
mirkl_size_t  i1,
mirkl_size_t  j1 
)

Copies selected pieces of a matrix.

Moves the m0 x n0 submatrix of in with top-left cor-ordinates (i0,j0) to the corresponding submatrix of out with top-left co-ordinates (i1,j1).

Note
out is resized (& created) if necessary.

◆ mirml_mh_mv_move()

mirkl_error_t * mirml_mh_mv_move ( const mirml_mh_matrix_t in,
mirkl_size_t  i0,
mirkl_size_t  j0,
mirkl_size_t  m0,
mirkl_size_t  n0,
mirml_mh_vector_t **  out,
mirkl_size_t  i1 
)

Copies selected piece of matrix to a vector.

Moves the m0 x n0 submatrix of in with top-left co-ordinate (i0,j0) to the subvector with initial index i1 (and length m0*n0)

Note
Rows are copied contiguously.
out is resized if necessary.

◆ mirml_mh_v_move()

mirkl_error_t * mirml_mh_v_move ( const mirml_mh_vector_t in,
mirkl_size_t  i0,
mirkl_size_t  dim0,
mirml_mh_vector_t **  out,
mirkl_size_t  i1 
)

Copies selected pieces of a vector.

Moves the length dim0 subvector of in with initial index i0 to the corresponding subvector of out with initial index i1

Note
out is resized if necessary.

◆ mirml_mh_vm_move()

mirkl_error_t * mirml_mh_vm_move ( const mirml_mh_vector_t in,
mirkl_size_t  i0,
mirml_mh_matrix_t **  out,
mirkl_size_t  i1,
mirkl_size_t  j1,
mirkl_size_t  m1,
mirkl_size_t  n1 
)

Copies selected piece of vector to a matrix.

Moves the subvector with initial index i0 and length m1*n1 to the m1 x n1 submatrix with top-left co-ordinate (i1,j1).

Note
Copying is done by rows.
out is resized if necessary.