Skip to content

Releases: Ttimofeyka/Rave

v0.2.2

20 Nov 13:37
Compare
Choose a tag to compare

Main changes:

  • Improved compatibility with cdecl64;
  • Huge optimization of std/matrix (now has a speed similar to numpy!);
  • Adding std/stack and the std::stack structure;
  • Adding std/json (experimental version - only parser, without error handling) and example for it;

Minor changes:

  • New function std::cstring::stod (string to double), new method std::string.toDouble();
  • New methods std::file.readAll() and std::file.u8ReadAll().

v0.2.1

22 Sep 13:18
Compare
Choose a tag to compare

Main changes:

  • For greater compliance with the IEEE 754-2008 standard, the std::math::isNaN function was added. This means that numbers can now take NaN values even with fastmath;
  • Now the functions std::fprint and std::finput requires a pointer to the file structure as the first argument;
  • A number of functions have been added for the half type in std/math.

Minor changes:

  • A bug related to an attempt to call a method through an overloaded index operator in a structure was fixed;
  • Now on x86 and x86_64 platforms spinlock uses the pause instruction;
  • std/memutil has been removed;
  • The compiler now uses more information about the output platform for better optimizations.

v0.2

30 Aug 17:02
Compare
Choose a tag to compare

Main changes:

  • the requirements for LLVM have been changed - Rave has completely switched to opaque pointers, respectively, changing the requirements for LLVM. The minimum version is 14, the maximum is 18 (may be higher, not verified);
  • multiple improvements have been made to the standard library;
  • a lot of bugs were fixed (mostly with templates);
  • the site was rebranded.

Minor changes:

  • the @vAdd, @vSub, @vMul and @vDiv builtines have been removed due to their replacement with regular operators;
  • runtime checks are no longer called in the case of access to constants.

v0.2-rc3

27 Aug 19:24
d751310
Compare
Choose a tag to compare
v0.2-rc3 Pre-release
Pre-release

Full Changelog: v0.2-rc2...v0.2-rc3

v0.2-rc2

22 Aug 17:56
Compare
Choose a tag to compare
v0.2-rc2 Pre-release
Pre-release

Full Changelog: v0.2-rc1...v0.2-rc2

v0.2-rc1

12 Aug 17:47
Compare
Choose a tag to compare
v0.2-rc1 Pre-release
Pre-release

Full Changelog: 0.1...v0.2-rc1

v0.1

22 Jul 13:19
Compare
Choose a tag to compare

Improvements:

  • added the (noCopy) flag to prohibit copying individual variables or methods from one structure to another;
  • added the zero() method for std::vector and std::matrix (to reset values);
  • added the ability to access variables without using the prefix this (only inside methods, outside constructors/destructors);
  • std/random has been optimized and synchronized;
  • the std::experimental::file section has been added for future adaptation of working with a file system without libc;
  • matrix multiplication has been optimized (1000x1000 ~3.2s to ~1.9s);
  • the build process has been changed (llvm-config is used instead of LLVM-C headers);
  • Fast math mode for floating point numbers was enabled by default (without fatal optimizations);
  • the std/map section has been completely redesigned;
  • the int hash() method has been added for most structures inside std;
  • the ability to call template functions without explicitly specifying types has been added;
  • the first version of the documentation for RaveDoc has been added;
  • biltins for working with SIMD and @alloca have been added;
  • the std::time structure has been completely redesigned;
  • the flags -noSSE, -noSSE2, -noSSE3, -noAVX, -noFastMath have been added;
  • the trim() method in std::string and std::u8string have been optimized (from two selections to one);
  • additional compile-time checks for structures have been added;
  • sizeof has been optimized.

Fixes:

  • a bug with stack overflow bug was fixed;
  • a bug with incorrect parsing of template function calls was fixed;
  • a bug with operator overloading [] in structures was fixed;
  • a bug with the lack of measurement of time spent while importing other modules was fixed;
  • a bug with parsing a two-step access to the structure was fixed;
  • a bug with building via Makefile on Windows was fixed;
  • a bug with prefix parsing for numbers was fixed.