سؤال

Today I found this is in an example file given to me by a company:

void mySgemm( int m, int n, int k, float alpha, float beta, float a[m][n],   float b[n][k], float c[m][k], int accelerate )

Called with:

a_cpu = malloc(..);
b_cpu = malloc(..);
c_cpu = malloc(..);
mySgemm(m, n, k, a, b, a_cpu, b_cpu, c_cpu, true);

I can't compile my own similar example, frankly I've never even seen someone take a dynamic array and shape it as such using the function parameters themselves.

Is this a legal call?


What boggles my mind is that in the mySgemm function they access a,b,c as double arrays, so the array is essentially being reshaped!?

هل كانت مفيدة؟

المحلول

no, it's not valid c++.

i guess the formal argument declarations would pass in c99, as variadic arrays, but i'm not so sure that the actual arguments for those would be accepted

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top