Skip to content

Releases: AcademySoftwareFoundation/Imath

v3.1.2

31 Jul 16:39
Compare
Choose a tag to compare

Patch release that fixes a Windows header issue.

[#190] Improve handling of #include <*intrin.h>

v3.1.1

21 Jul 00:49
Compare
Choose a tag to compare

Patch release that fixes a build failure on ARM64 macOS

  • [#184] Include <x86intrin.h> only if __x86_64__

v3.1.0

13 Jul 21:38
e4b831a
Compare
Choose a tag to compare

Minor release with new significant features:

  • Optimized half-to-float and float-to-half conversion, using F16C SSE instruction set if available. Non-SSE conversion eliminates the float-to-half exponent lookup table, and half-to-float conversion provides a compile-time-optional bit shifting algorithm that is slower but eliminates the need for the lookup table, for applications where memory is limited.

    Half-to-float and float-to-half conversion is also available as C-language functions imath_half_to_float() and imath_float_to_half().

    All new conversions produced identical results, and new options are off by default to ensure backwards compatibility. See https://imath.readthedocs.io for more info.

  • noexcept specifier can be eliminated at compile-time via the IMATH_USE_NOEXCEPT CMake option.

  • Python bindings:

    • FixedArray objects support a "read only" state.
    • FixedArray objects support python buffer protocol.
  • Optimized 4x4 matrix multiplication.

v3.0.5

30 Jun 14:11
Compare
Choose a tag to compare

Patch release that fixes problems with library symlinks and pkg-config. Otherwise, no code changes.

  • #172 Use CMAKE_INSTALL_FULL_LIBDIR/INCLUDEDIR for pkgconfig
  • #166 Fix non-versioned library symlinks in debug build.
  • #165 Use CMAKE__POSTFIX for .pc file lib suffix.

v3.0.4

01 Jun 17:27
Compare
Choose a tag to compare

Patch release that corrects a problem with the release version number of v3.0.2.

v3.0.2

16 May 18:26
f2bcae6
Compare
Choose a tag to compare

Patch release with miscellaneous bug/build fixes, primarily:

  • #140 Fix regression in succf()/predf()
  • #137 Don't impose C++14 on downstream projects

v3.0.1

01 Apr 18:20
Compare
Choose a tag to compare

First release of Imath 3.0.

See the porting guide for details about differences from previous releases.

Summary:

  • Imath includes the half type, formerly in a separate Half library.
  • Headers are installed in Imath/ subdirectory.
  • All appropriate methods are marked constexpr, noexcept
  • Appropriate declarations include CUDA __host__ and __device__ directives.
  • Throwing methods throw std exceptions instead of Iex.
  • New Vec and Matrix interoperability constructors for conversion from other similar type objects.
  • Symbol linkage visibility is limited to specific public symbols.
  • Python bindings are off by default, available by setting PYTHON=ON.
  • Deprecated features:
    • std::numeric_limits replaces Imath::limits.
    • Int64 and SInt64 are deprecated in favor of uint64_t and int64_t.

Read library documentation at: https://imath.readthedocs.io

v3.0.1-beta

28 Mar 21:26
Compare
Choose a tag to compare
v3.0.1-beta Pre-release
Pre-release

Beta patch release:

#131 #if IMATH_FOREIGN_VECTOR_INTEROP around type detectors
#130 Forward declarations only if header is not included

v3.0.0-beta

16 Mar 01:23
b0d0031
Compare
Choose a tag to compare
v3.0.0-beta Pre-release
Pre-release

Beta: First release of Imath independent of OpenEXR.

See the porting guide for details about differences from previous releases.

Summary:

  • Imath includes the half type, formerly in a separate Half library.
  • Headers are installed in Imath/ subdirectory.
  • All appropriate methods are marked constexpr, noexcept
  • Appropriate declarations include CUDA __host__ and __device__ directives.
  • Throwing methods throw std exceptions instead of Iex.
  • New Vec and Matrix interoperability constructors for conversion from other similar type objects.
  • Symbol linkage visibility is limited to specific public symbols.
  • Python bindings are off by default, available by setting PYTHON=ON.
  • Deprecated features:
    • std::numeric_limits replaces Imath::limits.
    • Int64 and SInt64 are deprecated in favor of uint64_t and int64_t.

Read library documentation at: https://imath.readthedocs.io