calx-core 0.1.0 — Modern C++23 Arbitrary Precision Math Library
================================================================

Copyright (C) 2026 Allisone Inc. (株式会社アリソン)
License: LGPL-3.0-or-later

https://www.allisone.co.jp/lib/calx/

Contents
--------
  include/        Header files (C++23)
  lib/            Pre-built binaries (Windows x64, Release)
    calx_core.dll     Shared library
    calx_core.lib     Import library (for linking)
  examples/       Sample programs (C++ source)
  CMakeLists.txt  CMake project for building examples

Features
--------
  - Int       Arbitrary precision integer (ASM-optimized: BMI2+ADX, AVX2 NTT)
  - Float     Arbitrary precision floating-point (all math functions)
  - Rational  Arbitrary precision rational number
  - Matrix/Vector  Dense linear algebra with expression templates & SIMD
  - FFT       Fast Fourier Transform (AVX2 optimized)
  - Polynomial, RationalFunction
  - LU/QR/SVD/Cholesky/Eigenvalue decomposition
  - Solvers (direct & iterative)
  - Interpolation (Lagrange, spline, B-spline, Bicubic, Lanczos, ...)
  - Special functions
  - Number theory (primality, factorization, ...)
  - Lie groups/algebras (SO2, SE2, SO3, SE3)

Requirements
------------
  - Windows 10/11 x64
  - MSVC (Visual Studio 2022) with C++23 support
  - AVX2 capable CPU (Haswell or later)

Antivirus False Positives
-------------------------
  calx_core.dll may be flagged as malware by antivirus software
  (McAfee, Windows Defender, Norton, etc.). This is a false positive
  caused by:

  - Cryptographic patterns: powMod / Montgomery multiplication uses
    the same math as RSA encryption
  - Low-level instructions: MASM assembly with MULX/ADCX/ADOX
    resembles malware detection patterns

  calx does NOT contain any malware. The same issue occurs with
  GMP, OpenSSL, and other arbitrary-precision / cryptographic libraries.

  If blocked, add calx_core.dll to your antivirus exclusion list.

Quick Start
-----------
  This is a pre-built binary distribution. No build is required.

  1. Extract the zip (you should see calx/include/ and calx/lib/)
  2. Add calx/include/ to your compiler's include path
  3. Link against calx/lib/calx_core.lib
  4. Place calx/lib/calx_core.dll next to your executable (or in PATH)

  Example (MSVC command line):
    cl /std:c++23 /EHsc /utf-8 /I calx\include myapp.cpp calx\lib\calx_core.lib
    copy calx\lib\calx_core.dll .

Building Examples (with CMake)
------------------------------
  A CMakeLists.txt is included for building the sample programs.

    cd calx
    mkdir build
    cd build
    cmake .. -G "Visual Studio 17 2022" -A x64
    cmake --build . --config Release

  calx_core.dll is automatically copied to the output directory.
  Run the examples:

    Release\example_int.exe
    Release\example_float.exe
    Release\example_rational.exe
