Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.93 KB

README.md

File metadata and controls

57 lines (39 loc) · 2.93 KB

𝒂𝒓𝒌a𝒏𝒂

Something of an fs infra library (Intel AVX2 accelerated) for C++17


arkana::ark

arkana::ark: A useful infra library collection (header-only library)

  • intrinsics.h: Type conversion, Bit-manipulation, Multi-precision arithmetic helper
  • cpuid.h: CPU feature flag loader
  • uint128.h: Unsigned 128 bit integer and bitwise-, arithmetic-, and comparing- operators
  • xmm.h: Typed SSE/AVX integer vector operation wraper library (vu32x4, vu16x16, etc)
  • lutgen.h: Compile-time LUT generation helper
  • hexilit.h: Compile-time hexadecimal-integer parser
  • base64.h: Compile-time base64 decoder

arkana.lib

arkana::camellia: Camellia Encryption Algorithm (ECB-mode: RFC 3713 / CTR-mode: RFC 5528)

arkana::crc32: CRC-32 (ISO 3309)

arkana::sha2: SHA-1, SHA-2(SHA-256,SHA-224,SHA-512,SHA-384,SHA-512/224,SHA-512/256) (NIST FIPS PUB 180-4)


arkana-test

  • Tests for arkana.lib (using googletest)

Getting started

Visual Studio

  1. Include arkana.lib.vcxproj into your solution.
  2. Reference it from your project.

CMake

Do cmake.


MIT License Copyright (c) 2020-2022 ttsuki