test_class.file: jtstoolkit/src/test/java/ec/tstoolkit/maths/special/DirichletKernelTest.java
test_class.identifier: DirichletKernelTest
test_case.body: @Test
      public void testSomeMethod() {
          int N=180;
          DirichletKernel dk=new DirichletKernel(N);
          double step=Math.PI*2/N;
          double z=0;
          for (int i=1; i<20; ++i){
              double k=dk.fn(step*i);
              z+=k*k*step*Math.PI*2;
          }
  //        double dn=N;
  //        for (int i=20; i<N/2; ++i){
  //            double k=dk.fn(step*i);
  //            z+=k*k*step*Math.PI*2;
  //            System.out.print(z);
  //            System.out.print('\t');
  //            System.out.println(i/dn);
  //        }
      }
test_case.class_method_signature: DirichletKernelTest.testSomeMethod()
test_case.full_signature: @Test public void testSomeMethod()
test_case.identifier: testSomeMethod
test_case.invocations: fn
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSomeMethod()
focal_class.declarator: TWOPI = 2 * Math.PI
focal_class.modifier: private static final
focal_class.original_string: private static final double TWOPI = 2 * Math.PI, EPS = 1e-9;
focal_class.type: double
focal_class.var_name: TWOPI
focal_class.declarator: n_
focal_class.modifier: private final
focal_class.original_string: private final int n_, m_;
focal_class.type: int
focal_class.var_name: n_
focal_class.declarator: mc_
focal_class.modifier: private final
focal_class.original_string: private final double mc_;
focal_class.type: double
focal_class.var_name: mc_
focal_class.file: jtstoolkit/src/main/java/ec/tstoolkit/maths/special/DirichletKernel.java
focal_class.identifier: DirichletKernel
focal_class.interfaces: implements IRealFunction
focal_class.class_method_signature: DirichletKernel.mpi(double x)
focal_class.full_signature: private boolean mpi(double x)
focal_class.identifier: mpi
focal_class.modifiers: private
focal_class.parameters: (double x)
focal_class.return: boolean
focal_class.signature: boolean mpi(double x)
focal_class.class_method_signature: DirichletKernel.DirichletKernel(int n)
focal_class.full_signature: public  DirichletKernel(int n)
focal_class.identifier: DirichletKernel
focal_class.modifiers: public
focal_class.parameters: (int n)
focal_class.signature:  DirichletKernel(int n)
focal_class.class_method_signature: DirichletKernel.getN()
focal_class.full_signature: public int getN()
focal_class.identifier: getN
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getN()
focal_class.class_method_signature: DirichletKernel.fn(final double x)
focal_class.full_signature: @Override public double fn(final double x)
focal_class.identifier: fn
focal_class.modifiers: @Override public
focal_class.parameters: (final double x)
focal_class.return: double
focal_class.signature: double fn(final double x)
focal_method.body: @Override
      public double fn(final double x) {
          double x2 = x * .5;
          if (mpi(x2)) {
              return mc_;
          } else {
              return (Math.sin(m_ * x2) / Math.sin(x2)) / TWOPI;
          }
      }
focal_method.class_method_signature: DirichletKernel.fn(final double x)
focal_method.full_signature: @Override public double fn(final double x)
focal_method.identifier: fn
focal_method.invocations: mpi sin sin
focal_method.modifiers: @Override public
focal_method.parameters: (final double x)
focal_method.return: double
focal_method.signature: double fn(final double x)