Untitled

 avatar
unknown
plain_text
5 months ago
940 B
3
Indexable
#include<stdio.h>

voidwritedatafile(void);

voidconv(float *x, float *h, float *y, short l, short m);
voidmain()
{
writedatafile();//put some data in a file
 FILE *fp;
fp = fopen("../../myfilebin", "rb");//open file for binary read
floatx[5];
//read 5 floats from file and store in x
fread(x, sizeof(float), 5, fp);
floath[3]={1, 1, 1};
floaty[7];
conv(x, h, y, 5, 3);
}
voidwritedatafile()
{
floata[] = { 1, 2, 3, 4, 5}; //some data
 FILE *fp;
fp = fopen("../../myfilebin", "wb");//open for binary write
//write 5 floats in array a to myfilebin
fwrite(a, sizeof(float), 5, fp); 
fclose(fp);
}
Void conv(float *x, float *h, float *y, short l, short m)
{
short k, kmin, kmax, n;
for (n = 0; n < l + m - 1; n++)
 {
 y[n] = 0;
kmin = (n > l - 1) ? n - l + 1 : 0;
kmax = (n > m - 1) ? m - 1 : n;
// printf("%d %d\n", kmin, kmax);
for (k = kmin; k <= kmax; k++)
 {
 y[n] = y[n] + h[k] * x[n - k];
 }
 }
}
Editor is loading...
Leave a Comment