hlslpp/3.3.1

Header-only Math library using hlsl syntax with SSE/NEON support
Recipe info
2023-11-29

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
hlslpp/3.3.1

Using hlslpp

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
hlslpp/3.3.1
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("hlslpp/3.3.1")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): hlslpp
  • CMake target name(s): hlslpp::hlslpp
  • pkg-config file name(s): hlslpp.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(hlslpp REQUIRED)
# ...
target_link_libraries(YOUR_TARGET hlslpp::hlslpp)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the hlslpp homepage listed above:

#include "hlsl++.h"
#include "hlsl++_bitmask.h"
#include "hlsl++_common.h"
#include "hlsl++_config.h"
#include "hlsl++_dependent.h"
#include "hlsl++_matrix_float.h"
#include "hlsl++_quaternion.h"
#include "hlsl++_quaternion_type.h"
#include "hlsl++_type_traits.h"
#include "hlsl++_vector_double.h"
#include "hlsl++_vector_double_type.h"
#include "hlsl++_vector_float.h"
#include "hlsl++_vector_float8.h"
#include "hlsl++_vector_float_type.h"
#include "hlsl++_vector_int.h"
#include "hlsl++_vector_int_type.h"
#include "hlsl++_vector_uint.h"
#include "hlsl++_vector_uint_type.h"
#include "platforms/hlsl++_360.h"
#include "platforms/hlsl++_neon.h"
#include "platforms/hlsl++_scalar.h"
#include "platforms/hlsl++_sse.h"
#include "swizzle/hlsl++_matrix_row0_1.h"
#include "swizzle/hlsl++_matrix_row0_2.h"
#include "swizzle/hlsl++_matrix_row0_3.h"
#include "swizzle/hlsl++_matrix_row0_4.h"
#include "swizzle/hlsl++_matrix_row1_1.h"
#include "swizzle/hlsl++_matrix_row1_2.h"
#include "swizzle/hlsl++_matrix_row1_3.h"
#include "swizzle/hlsl++_matrix_row1_4.h"
#include "swizzle/hlsl++_matrix_row2_1.h"
#include "swizzle/hlsl++_matrix_row2_2.h"
#include "swizzle/hlsl++_matrix_row2_3.h"
#include "swizzle/hlsl++_matrix_row2_4.h"
#include "swizzle/hlsl++_matrix_row3_1.h"
#include "swizzle/hlsl++_matrix_row3_2.h"
#include "swizzle/hlsl++_matrix_row3_3.h"
#include "swizzle/hlsl++_matrix_row3_4.h"
#include "swizzle/hlsl++_vector_double_w.h"
#include "swizzle/hlsl++_vector_double_x.h"
#include "swizzle/hlsl++_vector_double_y.h"
#include "swizzle/hlsl++_vector_double_z.h"
#include "swizzle/hlsl++_vector_float_w.h"
#include "swizzle/hlsl++_vector_float_x.h"
#include "swizzle/hlsl++_vector_float_y.h"
#include "swizzle/hlsl++_vector_float_z.h"
#include "swizzle/hlsl++_vector_int_w.h"
#include "swizzle/hlsl++_vector_int_x.h"
#include "swizzle/hlsl++_vector_int_y.h"
#include "swizzle/hlsl++_vector_int_z.h"
#include "swizzle/hlsl++_vector_uint_w.h"
#include "swizzle/hlsl++_vector_uint_x.h"
#include "swizzle/hlsl++_vector_uint_y.h"
#include "swizzle/hlsl++_vector_uint_z.h"
#include "transform/hlsl++_transform_common.h"
#include "transform/hlsl++_transform_float2x2.h"
#include "transform/hlsl++_transform_float3x3.h"
#include "transform/hlsl++_transform_float4x4.h"