Skip to content

Vectorized implementation of Log/Pow/Cbrt/RootN is broken for some inputs #100535

@stephentoub

Description

@stephentoub

(Reported by @michaelgsharp)

Repro:

using System.Numerics.Tensors;

float[] dest = new float[4];

// Non-vectorized
float[] values = [-1, -2, -3];
TensorPrimitives.Pow(values, 3f, dest);
Console.WriteLine($"{dest[0]} {dest[1]} {dest[2]}");

// Vectorized
values = [-1, -2, -3, -4];
TensorPrimitives.Pow(values, 3f, dest);
Console.WriteLine($"{dest[0]} {dest[1]} {dest[2]} {dest[3]}");

prints

-1 -8 -27
NaN NaN NaN NaN

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions