highway/1.2.0

Performance-portable, length-agnostic SIMD with runtime dispatch
Recipe info
2024-06-14

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
highway/1.2.0

Using highway

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

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]
highway/1.2.0
[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("highway/1.2.0")

    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): highway
  • CMake target name(s): highway::highway
  • hwy => highway::hwy
    hwy_contrib => highway::hwy_contrib
    
  • pkg-config file name(s): highway.pc
  • hwy => libhwy.pc
    hwy_contrib => libhwy-contrib.pc
    

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

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

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

#include "hwy/abort.h"
#include "hwy/aligned_allocator.h"
#include "hwy/base.h"
#include "hwy/cache_control.h"
#include "hwy/contrib/algo/copy-inl.h"
#include "hwy/contrib/algo/find-inl.h"
#include "hwy/contrib/algo/transform-inl.h"
#include "hwy/contrib/bit_pack/bit_pack-inl.h"
#include "hwy/contrib/dot/dot-inl.h"
#include "hwy/contrib/image/image.h"
#include "hwy/contrib/math/math-inl.h"
#include "hwy/contrib/matvec/matvec-inl.h"
#include "hwy/contrib/random/random-inl.h"
#include "hwy/contrib/sort/order.h"
#include "hwy/contrib/sort/shared-inl.h"
#include "hwy/contrib/sort/sorting_networks-inl.h"
#include "hwy/contrib/sort/traits-inl.h"
#include "hwy/contrib/sort/traits128-inl.h"
#include "hwy/contrib/sort/vqsort-inl.h"
#include "hwy/contrib/sort/vqsort.h"
#include "hwy/contrib/thread_pool/futex.h"
#include "hwy/contrib/thread_pool/thread_pool.h"
#include "hwy/contrib/thread_pool/topology.h"
#include "hwy/contrib/unroller/unroller-inl.h"
#include "hwy/detect_compiler_arch.h"
#include "hwy/detect_targets.h"
#include "hwy/foreach_target.h"
#include "hwy/highway.h"
#include "hwy/highway_export.h"
#include "hwy/nanobenchmark.h"
#include "hwy/ops/arm_neon-inl.h"
#include "hwy/ops/arm_sve-inl.h"
#include "hwy/ops/emu128-inl.h"
#include "hwy/ops/generic_ops-inl.h"
#include "hwy/ops/inside-inl.h"
#include "hwy/ops/ppc_vsx-inl.h"
#include "hwy/ops/rvv-inl.h"
#include "hwy/ops/scalar-inl.h"
#include "hwy/ops/set_macros-inl.h"
#include "hwy/ops/shared-inl.h"
#include "hwy/ops/wasm_128-inl.h"
#include "hwy/ops/x86_128-inl.h"
#include "hwy/ops/x86_256-inl.h"
#include "hwy/ops/x86_512-inl.h"
#include "hwy/per_target.h"
#include "hwy/print-inl.h"
#include "hwy/print.h"
#include "hwy/profiler.h"
#include "hwy/robust_statistics.h"
#include "hwy/targets.h"
#include "hwy/timer-inl.h"
#include "hwy/timer.h"