pavanky · GitHub

Code to reproduce:

int main(int argc, char *argv[])
{
        af::info();
        int N1 = 10;
        int N2 = 10;
        int N3 = 10;
        array var11 = af::randu(N1, N2, N3, f64);
        array var22 = af::randu(N1, N2, N3, f64);
        array var33 = af::randu(N1, N2, N3, f64);
        array var12 = af::randu(N1, N2, N3, f64);
        array var13 = af::randu(N1, N2, N3, f64);
        array var23 = af::randu(N1, N2, N3, f64);
        array u1 = af::randu(N1, N2, N3, f64);
        array u2 = af::randu(N1, N2, N3, f64);
        array u3 = af::randu(N1, N2, N3, f64);
        array c = constant(0, N1, N2, N3, f64);
        c.eval();
        af::sync();
        c = af::sqrt(1 +
                     var11 * u1 * u1 +
                     var12 * u2 * u2 +
                     var33 * u3 * u3 +
                     2 * (
                         var12 * u1 * u2 +
                         var13 * u1 * u3 +
                         var23 * u2 * u3));
        c.eval();
        af::sync();
}

Read the original on github.com ↗