hmlib is a library which contains a set of routines to aid you in writing a C program.

hmlib contains functions that either complement existing programs or make it easier to write programs that work with HyperMesh.

The functions contained in hmlib are divided into six groups. All of these functions begin with the HM_ prefix:
  1. ASCII file functions: Enable you to read integer, double, string and end-of-line data from ASCII files.
  2. Dynamic block functions: Give the capability of working with dynamically allocated arrays without worrying about the low-level details of dynamic memory allocation.
  3. Memory allocation functions: Allow for direct memory allocation and also enhances the standard C functions with a level of error checking to prevent common errors from occurring.
  4. Miscellaneous functions: Allow you to terminate programs, send messages, and read and write to binary files.
  5. String functions: Handle string operations.
  6. Vector functions: Allow for vector operations to be performed.
Header files are included in source code files to define structures, variables, and prototypes. In order for a program to be compiled using the HyperMesh libraries, the program must use the header files provided with HyperMesh. These functions are provided in the hmlib.h header file.
Note: These libraries are built with the following compilers: Windows: Visual Studio 2010 Service Pack 1 (10.0.40219.1 SP1Rel) Linux: GCC version 4.7.2 20121015 (Red Hat 4.7.2-5) (GCC) Mac OS X: clang version 3.1 (tags/Apple/clang-318.0.58) based on LLVM 3.1svn