POW requires extension

Issue #10 new
edanor repo owner created an issue

POW method family is currently described to use the same type of vector as the calling vector. This limits usability:

  • for unsigned integers the only available exponents are limited to unsigned integer
  • for signed integers the avaialble exponents are signed and unsigned integers
  • for float the available exponents are unrestricted (real)

This brings in two types of problems: 1) it is not possible to do non-real exponents for integer data types 2) for integer exponents the algorithm is much simpler (GMP) than for real exponents (e.g. Newton-Rhapson). Since making decisions is time consuming, this means we should have separate instructions for integer and real parts, and let user decide which to use.

Proposal is to: 1) make separation between integer/real exponent member functions (can be difficult for integer vectors) 2) or remove POW from interface and replace it with generic algorithms implemented above SIMD layer 3) or remove POW from integer data types and restrict this operation to FLOAT interface only

For the time being POW should get disabled from interface.

Comments (0)

  1. Log in to comment