File : minifuns.ads


with Reps;
use Reps;

pragma Elaborate (Reps);

package MiniFuns is -- quadratic functions etc.

  type Args is     --  function of (X,Y)
    record
      T0: Rep;     --  center for T=X+Y
      S0: Rep;     --  center for S=X-Y
      B:  Rep;     --  coefficient in U =   (T+T0)*(T-T0)+B*(S-S0)
      A:  Rep;     --  coefficient in V = A*(T+T0)*(T-T0)  +(S-S0)
    end record;

  type Domain is
    record
      A: Args;     --  variables U,V
      R: RadPair;  --  radii for U,V
    end record;

  procedure Show1(N: in String; A: in Args);
  procedure Show2(N: in String; A1,A2: in Args);

  Zero_Args:    constant Args    := (Zero,Zero,Zero,Zero);

end MiniFuns;