MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / get_random_tensor

Function get_random_tensor

tests/test-opt.cpp:43–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43static struct ggml_tensor * get_random_tensor(
44 struct ggml_context * ctx0, int ndims, int64_t ne[], float fmin, float fmax
45) {
46 struct ggml_tensor * result = ggml_new_tensor(ctx0, GGML_TYPE_F32, ndims, ne);
47
48 switch (ndims) {
49 case 1:
50 for (int i0 = 0; i0 < ne[0]; i0++) {
51 ((float *)result->data)[i0] = frand()*(fmax - fmin) + fmin;
52 }
53 break;
54 case 2:
55 for (int i1 = 0; i1 < ne[1]; i1++) {
56 for (int i0 = 0; i0 < ne[0]; i0++) {
57 ((float *)result->data)[i1*ne[0] + i0] = frand()*(fmax - fmin) + fmin;
58 }
59 }
60 break;
61 case 3:
62 for (int i2 = 0; i2 < ne[2]; i2++) {
63 for (int i1 = 0; i1 < ne[1]; i1++) {
64 for (int i0 = 0; i0 < ne[0]; i0++) {
65 ((float *)result->data)[i2*ne[1]*ne[0] + i1*ne[0] + i0] = frand()*(fmax - fmin) + fmin;
66 }
67 }
68 }
69 break;
70 case 4:
71 for (int i3 = 0; i3 < ne[3]; i3++) {
72 for (int i2 = 0; i2 < ne[2]; i2++) {
73 for (int i1 = 0; i1 < ne[1]; i1++) {
74 for (int i0 = 0; i0 < ne[0]; i0++) {
75 ((float *)result->data)[i3*ne[2]*ne[1]*ne[0] + i2*ne[1]*ne[0] + i1*ne[0] + i0] = frand()*(fmax - fmin) + fmin;
76 }
77 }
78 }
79 }
80 break;
81 default:
82 assert(false);
83 }
84
85 return result;
86}
87
88int main(void) {
89 struct ggml_init_params params = {

Callers 1

mainFunction · 0.85

Calls 2

frandFunction · 0.70
ggml_new_tensorFunction · 0.50

Tested by

no test coverage detected