| MatrixBerryCore
    | 
library was originally developed as a set of auxilary classes and functions for Ellipsodal Toolbox for Matlab project back in 2014. Then in 2016 it was decided to separate the library from "Ellipsoidal Toolbox" so that it can be developed as an independent open-source project.
Right from the begining we have been following Test Driven Development (TTD) approach by implementing and extending a test coverage for most of the library functions. Our ideology is to cover every new feature with meanigful tests and every bug found - with negative tests.
mxberry.core.cont.ondisk package.mxberry.core.cont.MapExtended is an extension of built-in containers.Map class that supportsmxberry.core.parseparext and mxberry.core.parseparams and input parameters checking functions in mxberry.core.check packagemxberry.core.obj.HandleObjectCloner class designed as a parent class for handle objects that require such features asismember and unique operations Check out tests in mxberry.core.obj.test package for more details - **for emulation of static properties** - `mxberry.core.obj.StaticPropStorage` class emulates static properties via persistent variables.Check out tests in
mxberry.core.obj.test package for more detailsmxberry.core package contains a lot of functions with ismember* and unique* name patterns for different types of unique-like and ismember-like operations. mxberry.core.ismember and mxberry.core.unique use these operations to implement ismember and unique for arbitrary types. Check out tests in mxberry.core.test.IsMemberTC test case for more detailsmxberry.core.MExceptionUtils class provides methods for converting Matlab exceptions into plain text and hyper text strings.mxberry.core package, such asabsrelcompare for comparing arrays using both relative and absolute tolerancesgetcallername and getcallernameext for getting names of callersthrowerror and throwwarn for throwing warnings and exceptions with automatically generated identifiersmxberry.core.string - working with stringsmxberry.core.struct - structuresmxberry.core.cell - cellsmxberry.io package. All these functions are implemented in Java so they are free of filename and path length limit problems on Windows platforms.mxberry.java.AJavaStaticPathMgr class is designed as extendable abstract class for much easier management of java static path in Matlab, including an automatic deployment of 'jar' files. See mxberry.selfmnt.JavaStaticPathMgr class for an example of AJavaStaticPathMgr abstract methods implementation for a deployment of MatrixBerry Core library.mxberry.system package contains functions for gettingmxberry.xml.xmlformat package.Getting started with MatrixBerry-Core is super easy! Simply fork this repository and follow the instructions below. Or, if you'd like to check out what MatrixBerry-Core is capable of, take a look at the Doxygen documentation.
You're going to need:
cd mxberry-cores_install script from install subfolder. You can do this either manually from Matlab command line or via a shell script for a specific Matlab version in install subfolder. Please keep in mind that if you do not use the start script from install subfolder to start Matlab you need to make sure that your "Start in" directory is always mxberry-core/install. That is because the very first run of s_install script creates javaclasspath.txt file with absolute paths to some jar files that are a part of MatrixBerry-Core library. As part of this very first run the jar files are added to dynamic Java path of Matlab JVM. All subsequent Matlab runs with "Start in" directory set to mxberry-core/install load the created javaclasspath.txt file thus adding the jar files to static Java path of Matlab JVM.
Submit an issue to the MatrixBerry-Core Github if you need any help. And, of course, feel free to submit pull requests with bug fixes or changes.
MatrixBerry-Core was built by Peter Gagarinov and Ilya Rublev while working on Ellipsoidal Toolbox for Matlab at Computation Mathematics and Cybernetics Faculty of Lomonosov Moscow State University, System Analysis Department.
 1.8.13
 1.8.13