-- LONG_COMPLEX_ROOT_F.ADA change the function F calculation to your function -- change REGION_MAX and REGION_MIN to bound area -- change ACCURACY to bound answer -- change MAX_ROOTS value to maximum nunber of roots with LONG_COMPLEX_TYPES; use LONG_COMPLEX_TYPES; package LONG_COMPLEX_ROOT_F is REGION_MAX : constant LONG_COMPLEX := ( 1.0, 0.001) ; REGION_MIN : constant LONG_COMPLEX := (-1.0, -0.001) ; ACCURACY : constant LONG_COMPLEX := ( 0.000001, 0.0000000001) ; MAX_ROOTS : constant INTEGER := 20 ; function F( Z : LONG_COMPLEX ) return LONG_COMPLEX ; end LONG_COMPLEX_ROOT_F; package body LONG_COMPLEX_ROOT_F is function F( Z : LONG_COMPLEX ) return LONG_COMPLEX is begin -- return (35.0/8.0)*Z*Z*Z*Z - (30.0/8.0)*Z*Z + (3.0/8.0); return Z*(Z*Z-1.0); end F; end LONG_COMPLEX_ROOT_F;