static void n_Report_arrayDDLjava_lang_Throwable_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, double p1, IntPtr native_p2)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     double[] p0 = (double[])JNIEnv.GetArray(native_p0, JniHandleOwnership.DoNotTransfer, typeof(double));
     global::Java.Lang.Throwable p2 = global::Java.Lang.Object.GetObject <global::Java.Lang.Throwable> (native_p2, JniHandleOwnership.DoNotTransfer);
     __this.Report(p0, p1, p2);
     if (p0 != null)
     {
         JNIEnv.CopyArray(p0, native_p0);
     }
 }
        static double n_UpdateWeight_arrayDarrayDI(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, int p2)
        {
            global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            double[] p0    = (double[])JNIEnv.GetArray(native_p0, JniHandleOwnership.DoNotTransfer, typeof(double));
            double[] p1    = (double[])JNIEnv.GetArray(native_p1, JniHandleOwnership.DoNotTransfer, typeof(double));
            double   __ret = __this.UpdateWeight(p0, p1, p2);

            if (p0 != null)
            {
                JNIEnv.CopyArray(p0, native_p0);
            }
            if (p1 != null)
            {
                JNIEnv.CopyArray(p1, native_p1);
            }
            return(__ret);
        }
 static void n_InvokeIteration_I(IntPtr jnienv, IntPtr native__this, int p0)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.InvokeIteration(p0);
 }
 static void n_LearnLimited(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.LearnLimited();
 }
 static IntPtr n_GetLastGradient(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewArray(__this.GetLastGradient()));
 }
 static IntPtr n_GetTraining(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.Training));
 }
 static void n_SetNumThreads_I(IntPtr jnienv, IntPtr native__this, int p0)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.NumThreads = p0;
 }
 static int n_GetNumThreads(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.NumThreads);
 }
        public unsafe GradientWorkerCPU(global::Org.Encog.Engine.Network.Flat.FlatNetwork p0, global::Org.Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp p1, global::Org.Encog.Engine.Data.IEngineIndexableSet p2, int p3, int p4)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [5];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                __args [3] = new JValue(p3);
                __args [4] = new JValue(p4);
                if (GetType() != typeof(GradientWorkerCPU))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lorg/encog/engine/network/flat/FlatNetwork;Lorg/encog/engine/network/train/prop/TrainFlatNetworkProp;Lorg/encog/engine/data/EngineIndexableSet;II)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lorg/encog/engine/network/flat/FlatNetwork;Lorg/encog/engine/network/train/prop/TrainFlatNetworkProp;Lorg/encog/engine/data/EngineIndexableSet;II)V", __args);
                    return;
                }

                if (id_ctor_Lorg_encog_engine_network_flat_FlatNetwork_Lorg_encog_engine_network_train_prop_TrainFlatNetworkProp_Lorg_encog_engine_data_EngineIndexableSet_II == IntPtr.Zero)
                {
                    id_ctor_Lorg_encog_engine_network_flat_FlatNetwork_Lorg_encog_engine_network_train_prop_TrainFlatNetworkProp_Lorg_encog_engine_data_EngineIndexableSet_II = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/encog/engine/network/flat/FlatNetwork;Lorg/encog/engine/network/train/prop/TrainFlatNetworkProp;Lorg/encog/engine/data/EngineIndexableSet;II)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_encog_engine_network_flat_FlatNetwork_Lorg_encog_engine_network_train_prop_TrainFlatNetworkProp_Lorg_encog_engine_data_EngineIndexableSet_II, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_encog_engine_network_flat_FlatNetwork_Lorg_encog_engine_network_train_prop_TrainFlatNetworkProp_Lorg_encog_engine_data_EngineIndexableSet_II, __args);
            } finally {
            }
        }