static void n_ActivationFunction_arrayDII(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, int p1, int p2)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     double[] p0 = (double[])JNIEnv.GetArray(native_p0, JniHandleOwnership.DoNotTransfer, typeof(double));
     __this.ActivationFunction(p0, p1, p2);
     if (p0 != null)
     {
         JNIEnv.CopyArray(p0, native_p0);
     }
 }
        public unsafe FlatLayer(global::Org.Encog.Engine.Network.Activation.IActivationFunction p0, int p1, double p2, double[] p3)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p3 = JNIEnv.NewArray(p3);

            try {
                JValue *__args = stackalloc JValue [4];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                __args [3] = new JValue(native_p3);
                if (GetType() != typeof(FlatLayer))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lorg/encog/engine/network/activation/ActivationFunction;ID[D)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lorg/encog/engine/network/activation/ActivationFunction;ID[D)V", __args);
                    return;
                }

                if (id_ctor_Lorg_encog_engine_network_activation_ActivationFunction_IDarrayD == IntPtr.Zero)
                {
                    id_ctor_Lorg_encog_engine_network_activation_ActivationFunction_IDarrayD = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/encog/engine/network/activation/ActivationFunction;ID[D)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_encog_engine_network_activation_ActivationFunction_IDarrayD, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_encog_engine_network_activation_ActivationFunction_IDarrayD, __args);
            } finally {
                if (p3 != null)
                {
                    JNIEnv.CopyArray(native_p3, p3);
                    JNIEnv.DeleteLocalRef(native_p3);
                }
            }
        }
 static void n_SetParam_ID(IntPtr jnienv, IntPtr native__this, int p0, double p1)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.SetParam(p0, p1);
 }
 static IntPtr n_GetParams(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewArray(__this.GetParams()));
 }
 static IntPtr n_GetOpenCLExpression_Z(IntPtr jnienv, IntPtr native__this, bool p0)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewString(__this.GetOpenCLExpression(p0)));
 }
 static double n_DerivativeFunction_D(IntPtr jnienv, IntPtr native__this, double p0)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.DerivativeFunction(p0));
 }
 static bool n_HasDerivative(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Activation.IActivationFunction __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Activation.IActivationFunction> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.HasDerivative);
 }