#include <stdio.h>
// This goes to the header file
typedef struct{
float x,y,z;
}vector;
vector vectorScale(float c, vector *v);
// This is implementation
inline vector vectorScale(float c, vector *v){
return (vector){.x = v->x * c, .y = v->y * c, .z = v->z * c};
}
int main(void) {
vector v = {.x=1, .y=2, .z=3};
vector w = vectorScale(5, &v);
printf("%f %f %f\n", w.
x, w.
y, w.
z); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBUaGlzIGdvZXMgdG8gdGhlIGhlYWRlciBmaWxlCgp0eXBlZGVmIHN0cnVjdHsKICAgIGZsb2F0IHgseSx6Owp9dmVjdG9yOwoKdmVjdG9yIHZlY3RvclNjYWxlKGZsb2F0IGMsIHZlY3RvciAqdik7CgovLyBUaGlzIGlzIGltcGxlbWVudGF0aW9uCgppbmxpbmUgdmVjdG9yIHZlY3RvclNjYWxlKGZsb2F0IGMsIHZlY3RvciAqdil7CiAgICByZXR1cm4gKHZlY3Rvcil7LnggPSB2LT54ICogYywgLnkgPSB2LT55ICogYywgLnogPSB2LT56ICogY307Cn0KCmludCBtYWluKHZvaWQpIHsKCXZlY3RvciB2ID0gey54PTEsIC55PTIsIC56PTN9OwoJdmVjdG9yIHcgPSB2ZWN0b3JTY2FsZSg1LCAmdik7CglwcmludGYoIiVmICVmICVmXG4iLCB3LngsIHcueSwgdy56KTsKCXJldHVybiAwOwp9Cg==