Miscellaneous functions and classes to facilitate programming.
CLASSES
MODULES
MODULE FUNCTIONS
check_shape_consistency(cshapes, *args)
Check the consistency of array shapes (multi-dim such as NArray). Exception is raised if inconsistent.
ARGUMENTS
RETURN VALUE
POSSIBLE EXCEPTIONS
EXAMPLES
to check whether three arrays u, v, and w are shaped as u[nx], v[ny], and w[nx,ny], where nx and ny are any integer:
NumRu::Misc.check_shape_consistency('nx ny nx,ny',u,v,w)
Or equivalently,
NumRu::Misc.check_shape_consistency('m n m,n',u,v,w)
because actual strings does not matter.
To specify fixed lengths, use integers instead of names:
NumRu::Misc.check_shape_consistency('4 n 4,n',u,v,w)
In this case, u,v,w must have shapes [4], [ny], and [4,ny], where ny is any length.
Use '..' or '...' to repeat the same shape:
NumRu::Misc.check_shape_consistency('nx,ny ...',u,v,w)
This ensures that u, v, and w are 2D arrays with the same shape. Note: '..' and '...' are the same, so you can use whichever you like.