//Normal version of the Ehrlich-Aberth method
+__device__
cuDoubleComplex FirstH_EA(int i, cuDoubleComplex *Z) {
cuDoubleComplex result;
//Log Exp version of the Ehrlich-Aberth method
+__device__
cuDoubleComplex NewH_EA(int i, cuDoubleComplex *Z) {
cuDoubleComplex result;
//kernels to update a root i
+__global__
cuDoubleComplex H_EA(int i, cuDoubleComplex *Z) {
cuDoubleComplex c;
//if the root needs to be updated