safe array
complex array: change the internal structure of the 2 values
This commit is contained in:
@@ -292,7 +292,7 @@ void* array_c_get_imag(array_c_s_t *x, size_t row)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (char *)x->data + (row * x->size);
|
return (char *)x->data + (2 * row * x->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -310,7 +310,7 @@ void* array_c_get_real(array_c_s_t *x, size_t row)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (char *)x->data + ((row + x->rows) * x->size);
|
return (char *)x->data + ((2 * row + 1) * x->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -329,8 +329,8 @@ int array_c_s_set(array_c_s_t *x, size_t row, void *real, void *imaginary)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy((char *)x->data + ((row + x->rows) * x->size), real, x->size);
|
memcpy((char *)x->data + ((2 * row + 1) * x->size), real, x->size);
|
||||||
memcpy((char *)x->data + (row * x->size), imaginary, x->size);
|
memcpy((char *)x->data + ( 2 * row * x->size), imaginary, x->size);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -396,7 +396,7 @@ void* array_c_get_mag(array_c_p_t *x, size_t row)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (char *)x->data + (row * x->size);
|
return (char *)x->data + (2 * row * x->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* array_c_get_phase(array_c_p_t *x, size_t row)
|
void* array_c_get_phase(array_c_p_t *x, size_t row)
|
||||||
@@ -407,7 +407,7 @@ void* array_c_get_phase(array_c_p_t *x, size_t row)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (char *)x->data + ((row + x->rows) * x->size);
|
return (char *)x->data + ((2 * row + 1) * x->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -426,8 +426,8 @@ int array_c_p_set(array_c_p_t *x, size_t row, void* magnitude, void* phase)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy((char *)x->data + (row * x->size), magnitude, x->size);
|
memcpy((char *)x->data + (2 * row * x->size), magnitude, x->size);
|
||||||
memcpy((char *)x->data + ((row + x->rows) * x->size), phase, x->size);
|
memcpy((char *)x->data + ((2 * row + 1) * x->size), phase, x->size);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user