FloatVectorOperations::multiply(dest, multiplier, numValues) Bug?

Hello,

I’m trying simply multiple all values in the array. But only the first 16 are multiplied, other values become zeros.

And when I use 128 or 256 size (instead of 1024), then everything is fine. What I’m doing wrong? Other methods like copy or add works fine for me with that size.

p.s. it’s work fine on IPad (iOS), but not on notebook (Mac OS M1)

Thank you!


class {

for (auto &s: sample_) {
                s = 1.1f;
            }
            FloatVectorOperations::multiply(sample_, 0.75f, 1024);

            printf("====================\n");

            int n = 0;
            for (auto &s: sample_) {
                printf("[%i] s:%f\n", n, s);
                n++;
            }


        float sample_[1024]{};

}

Result:

Hmm, if I create sample with the allocation, then it is work fine. Not sure why. Maybe it’s some kind of static memory limitation in Mac OS X.

        sample_ = new float[1024];
        ....
        float *sample_{};
        ...
        delete sample;