Skip to content

v0.2.6

Pre-release
Pre-release
Compare
Choose a tag to compare
@Nelson-numerical-software Nelson-numerical-software released this 26 Jun 17:46
· 2505 commits to master since this release

0.2.6 (2018-06-26)

Features:

  • Nelson provides a cross-platform command-line tool written in Nelson for compiling native addon modules for Nelson. It takes away the pain of dealing with the various differences in build platforms:

    • helper's functions to build C/C++ code easily on Windows, Linux, MacOS X:

      • dlgeneratemake: generates a makefile for building a dynamic library.
      • dlgeneratecleaner: generates cleaner.nls file for C++ gateway.
      • dlgenerateloader: generates loader.nls file for C++ gateway.
      • dlgenerateunloader: generates unloader.nls file for C++ gateway.
      • dlgenerategateway: generates C++ gateway.
      • findcmake: find CMake path.
      • cmake function: call CMake tool.
      • dlmake: call make or nmake tool.
    • detect and configure C/C++ compilers on Windows, Linux, MacosX:

      • On Windows:

        • VS 2017 Professional, Entreprise, Community supported.
        • MinGW-W64 for 32 and 64 bit supported.
        • By default, Nelson does not try to detect a C/C++ compiler on Windows.
          Do not forget to run 'configuremsvc' or 'configuremingw' once.
      • On Linux:

        • GNU C/C++ Compilers, Clang.
      • MacOS X:

        • Xcode or GNU compiler available via Homebrew .
    • havecompiler function: returns if a compiler is configured.

    • configuremingw function: select and configure Mingw-w64 compilers.

    • configuremsvc function: select and configure Microsoft compilers.

    • loadcompilerconf function: load compiler configuration

    • removecompilerconf function: remove compiler configuration

    • vswhere function: detects easily modern Microsoft compilers.

  • module skeleton updated to build an example with C++ function (cpp_sum).

  • sprintf, fprintf functions: format data into a string or a file.

  • add "<--C/C++ COMPILER REQUIRED-->" tag managed by test engine.

  • add "<--INDEX 64 BIT REQUIRED-->" tag managed by test engine.

  • norm function: matrix and vectors norms.

  • #128: code indented with clang-format (webkit coding style)

Bug Fixes:

  • #139: fix(1e10) returned a wrong value.

  • #136: Corrected predecence of Colon ":" operator.

  • #134: Evaluation of Non-Scalar If-Condition Expression was not managed.

  • #116: fix display size of big sparse matrix.

Compilation:

  • libffi 3.2.1 dll on Windows 32 & 64 bit