/*
 * Copyright 2003-2007 Keith Seymour.
 * Copyright 1992-2007 The University of Tennessee. All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * 
 * - Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * 
 * - Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer listed
 *   in this license in the documentation and/or other materials
 *   provided with the distribution.
 * 
 * - Neither the name of the copyright holders nor the names of its
 *   contributors may be used to endorse or promote products derived from
 *   this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * This file was auto-generated by the org.netlib.generate.JavaGenerator
 * program, a part of netlib-java.
 * 
 * @see http://code.google.com/p/netlib-java/
 */

#include "f2j_jni.h"
#include "org_netlib_arpack_NativeARPACK.h"

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_dnaupd (JNIEnv * env, jobject calling_obj, jobject arg1, jstring arg2, jint arg3, jstring arg4, jint arg5, jobject arg6, jdoubleArray arg7, jint arg9, jdoubleArray arg10, jint arg12, jintArray arg13, jintArray arg15, jdoubleArray arg17, jdoubleArray arg19, jint arg21, jobject arg22){
	jclass jni_arg1Class = (*env)->GetObjectClass(env, arg1);
	jfieldID jni_arg1Id = (*env)->GetFieldID(env, jni_arg1Class, "val", "I");
	jint jni_arg1 = (*env)->GetIntField(env, arg1, jni_arg1Id);
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	char * jni_arg4 = (char *)(*env)->GetStringUTFChars(env, arg4, JNI_FALSE);
	jclass jni_arg6Class = (*env)->GetObjectClass(env, arg6);
	jfieldID jni_arg6Id = (*env)->GetFieldID(env, jni_arg6Class, "val", "D");
	jdouble jni_arg6 = (*env)->GetDoubleField(env, arg6, jni_arg6Id);
	jdouble * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jdouble * jni_arg10 = (*env)->GetPrimitiveArrayCritical(env, arg10, JNI_FALSE);
	check_memory(env, jni_arg10);
	jint * jni_arg13 = (*env)->GetPrimitiveArrayCritical(env, arg13, JNI_FALSE);
	check_memory(env, jni_arg13);
	jint * jni_arg15 = (*env)->GetPrimitiveArrayCritical(env, arg15, JNI_FALSE);
	check_memory(env, jni_arg15);
	jdouble * jni_arg17 = (*env)->GetPrimitiveArrayCritical(env, arg17, JNI_FALSE);
	check_memory(env, jni_arg17);
	jdouble * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jclass jni_arg22Class = (*env)->GetObjectClass(env, arg22);
	jfieldID jni_arg22Id = (*env)->GetFieldID(env, jni_arg22Class, "val", "I");
	jint jni_arg22 = (*env)->GetIntField(env, arg22, jni_arg22Id);

	dnaupd_(&jni_arg1, jni_arg2, &arg3, jni_arg4, &arg5, &jni_arg6, jni_arg7, &arg9, jni_arg10, &arg12, jni_arg13, jni_arg15, jni_arg17, jni_arg19, &arg21, &jni_arg22);

	(*env)->SetIntField(env, arg1, jni_arg1Id, jni_arg1);
	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	(*env)->ReleaseStringUTFChars(env, arg4, jni_arg4);
	(*env)->SetDoubleField(env, arg6, jni_arg6Id, jni_arg6);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg10, jni_arg10, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg13, jni_arg13, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg15, jni_arg15, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg17, jni_arg17, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->SetIntField(env, arg22, jni_arg22Id, jni_arg22);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_dneupd (JNIEnv * env, jobject calling_obj, jboolean arg1, jstring arg2, jbooleanArray arg3, jdoubleArray arg5, jdoubleArray arg7, jdoubleArray arg9, jint arg11, jdouble arg12, jdouble arg13, jdoubleArray arg14, jstring arg16, jint arg17, jstring arg18, jobject arg19, jdouble arg20, jdoubleArray arg21, jint arg23, jdoubleArray arg24, jint arg26, jintArray arg27, jintArray arg29, jdoubleArray arg31, jdoubleArray arg33, jint arg35, jobject arg36){
	logical jni_arg1 = (logical)arg1;
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	jboolean * jni_arg3Tmp = (*env)->GetPrimitiveArrayCritical(env, arg3, JNI_FALSE);
	jint jni_arg3Size = (*env)->GetArrayLength(env, arg3);
	logical jni_arg3[jni_arg3Size];
	int jni_arg3i;
	jdouble * jni_arg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, JNI_FALSE);
	check_memory(env, jni_arg5);
	jdouble * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jdouble * jni_arg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, JNI_FALSE);
	check_memory(env, jni_arg9);
	jdouble * jni_arg14 = (*env)->GetPrimitiveArrayCritical(env, arg14, JNI_FALSE);
	check_memory(env, jni_arg14);
	char * jni_arg16 = (char *)(*env)->GetStringUTFChars(env, arg16, JNI_FALSE);
	char * jni_arg18 = (char *)(*env)->GetStringUTFChars(env, arg18, JNI_FALSE);
	jclass jni_arg19Class = (*env)->GetObjectClass(env, arg19);
	jfieldID jni_arg19Id = (*env)->GetFieldID(env, jni_arg19Class, "val", "I");
	jint jni_arg19 = (*env)->GetIntField(env, arg19, jni_arg19Id);
	jdouble * jni_arg21 = (*env)->GetPrimitiveArrayCritical(env, arg21, JNI_FALSE);
	check_memory(env, jni_arg21);
	jdouble * jni_arg24 = (*env)->GetPrimitiveArrayCritical(env, arg24, JNI_FALSE);
	check_memory(env, jni_arg24);
	jint * jni_arg27 = (*env)->GetPrimitiveArrayCritical(env, arg27, JNI_FALSE);
	check_memory(env, jni_arg27);
	jint * jni_arg29 = (*env)->GetPrimitiveArrayCritical(env, arg29, JNI_FALSE);
	check_memory(env, jni_arg29);
	jdouble * jni_arg31 = (*env)->GetPrimitiveArrayCritical(env, arg31, JNI_FALSE);
	check_memory(env, jni_arg31);
	jdouble * jni_arg33 = (*env)->GetPrimitiveArrayCritical(env, arg33, JNI_FALSE);
	check_memory(env, jni_arg33);
	jclass jni_arg36Class = (*env)->GetObjectClass(env, arg36);
	jfieldID jni_arg36Id = (*env)->GetFieldID(env, jni_arg36Class, "val", "I");
	jint jni_arg36 = (*env)->GetIntField(env, arg36, jni_arg36Id);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3Tmp[jni_arg3i] == JNI_FALSE){
			jni_arg3[jni_arg3i] = 0;
		} else {
			jni_arg3[jni_arg3i] = 1;
		}
	}

	dneupd_(&jni_arg1, jni_arg2, jni_arg3, jni_arg5, jni_arg7, jni_arg9, &arg11, &arg12, &arg13, jni_arg14, jni_arg16, &arg17, jni_arg18, &jni_arg19, &arg20, jni_arg21, &arg23, jni_arg24, &arg26, jni_arg27, jni_arg29, jni_arg31, jni_arg33, &arg35, &jni_arg36);

	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3[jni_arg3i] == 0){
			jni_arg3Tmp[jni_arg3i] = JNI_FALSE;
		} else {
			jni_arg3Tmp[jni_arg3i] = JNI_TRUE;
		}
	}
	(*env)->ReleasePrimitiveArrayCritical(env, arg3, jni_arg3Tmp, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg5, jni_arg5, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg9, jni_arg9, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg14, jni_arg14, 0);
	(*env)->ReleaseStringUTFChars(env, arg16, jni_arg16);
	(*env)->ReleaseStringUTFChars(env, arg18, jni_arg18);
	(*env)->SetIntField(env, arg19, jni_arg19Id, jni_arg19);
	(*env)->ReleasePrimitiveArrayCritical(env, arg21, jni_arg21, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg24, jni_arg24, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg27, jni_arg27, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg29, jni_arg29, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg31, jni_arg31, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg33, jni_arg33, 0);
	(*env)->SetIntField(env, arg36, jni_arg36Id, jni_arg36);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_dsaupd (JNIEnv * env, jobject calling_obj, jobject arg1, jstring arg2, jint arg3, jstring arg4, jint arg5, jobject arg6, jdoubleArray arg7, jint arg9, jdoubleArray arg10, jint arg12, jintArray arg13, jintArray arg15, jdoubleArray arg17, jdoubleArray arg19, jint arg21, jobject arg22){
	jclass jni_arg1Class = (*env)->GetObjectClass(env, arg1);
	jfieldID jni_arg1Id = (*env)->GetFieldID(env, jni_arg1Class, "val", "I");
	jint jni_arg1 = (*env)->GetIntField(env, arg1, jni_arg1Id);
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	char * jni_arg4 = (char *)(*env)->GetStringUTFChars(env, arg4, JNI_FALSE);
	jclass jni_arg6Class = (*env)->GetObjectClass(env, arg6);
	jfieldID jni_arg6Id = (*env)->GetFieldID(env, jni_arg6Class, "val", "D");
	jdouble jni_arg6 = (*env)->GetDoubleField(env, arg6, jni_arg6Id);
	jdouble * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jdouble * jni_arg10 = (*env)->GetPrimitiveArrayCritical(env, arg10, JNI_FALSE);
	check_memory(env, jni_arg10);
	jint * jni_arg13 = (*env)->GetPrimitiveArrayCritical(env, arg13, JNI_FALSE);
	check_memory(env, jni_arg13);
	jint * jni_arg15 = (*env)->GetPrimitiveArrayCritical(env, arg15, JNI_FALSE);
	check_memory(env, jni_arg15);
	jdouble * jni_arg17 = (*env)->GetPrimitiveArrayCritical(env, arg17, JNI_FALSE);
	check_memory(env, jni_arg17);
	jdouble * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jclass jni_arg22Class = (*env)->GetObjectClass(env, arg22);
	jfieldID jni_arg22Id = (*env)->GetFieldID(env, jni_arg22Class, "val", "I");
	jint jni_arg22 = (*env)->GetIntField(env, arg22, jni_arg22Id);

	dsaupd_(&jni_arg1, jni_arg2, &arg3, jni_arg4, &arg5, &jni_arg6, jni_arg7, &arg9, jni_arg10, &arg12, jni_arg13, jni_arg15, jni_arg17, jni_arg19, &arg21, &jni_arg22);

	(*env)->SetIntField(env, arg1, jni_arg1Id, jni_arg1);
	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	(*env)->ReleaseStringUTFChars(env, arg4, jni_arg4);
	(*env)->SetDoubleField(env, arg6, jni_arg6Id, jni_arg6);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg10, jni_arg10, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg13, jni_arg13, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg15, jni_arg15, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg17, jni_arg17, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->SetIntField(env, arg22, jni_arg22Id, jni_arg22);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_dseupd (JNIEnv * env, jobject calling_obj, jboolean arg1, jstring arg2, jbooleanArray arg3, jdoubleArray arg5, jdoubleArray arg7, jint arg9, jdouble arg10, jstring arg11, jint arg12, jstring arg13, jobject arg14, jdouble arg15, jdoubleArray arg16, jint arg18, jdoubleArray arg19, jint arg21, jintArray arg22, jintArray arg24, jdoubleArray arg26, jdoubleArray arg28, jint arg30, jobject arg31){
	logical jni_arg1 = (logical)arg1;
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	jboolean * jni_arg3Tmp = (*env)->GetPrimitiveArrayCritical(env, arg3, JNI_FALSE);
	jint jni_arg3Size = (*env)->GetArrayLength(env, arg3);
	logical jni_arg3[jni_arg3Size];
	int jni_arg3i;
	jdouble * jni_arg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, JNI_FALSE);
	check_memory(env, jni_arg5);
	jdouble * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	char * jni_arg11 = (char *)(*env)->GetStringUTFChars(env, arg11, JNI_FALSE);
	char * jni_arg13 = (char *)(*env)->GetStringUTFChars(env, arg13, JNI_FALSE);
	jclass jni_arg14Class = (*env)->GetObjectClass(env, arg14);
	jfieldID jni_arg14Id = (*env)->GetFieldID(env, jni_arg14Class, "val", "I");
	jint jni_arg14 = (*env)->GetIntField(env, arg14, jni_arg14Id);
	jdouble * jni_arg16 = (*env)->GetPrimitiveArrayCritical(env, arg16, JNI_FALSE);
	check_memory(env, jni_arg16);
	jdouble * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jint * jni_arg22 = (*env)->GetPrimitiveArrayCritical(env, arg22, JNI_FALSE);
	check_memory(env, jni_arg22);
	jint * jni_arg24 = (*env)->GetPrimitiveArrayCritical(env, arg24, JNI_FALSE);
	check_memory(env, jni_arg24);
	jdouble * jni_arg26 = (*env)->GetPrimitiveArrayCritical(env, arg26, JNI_FALSE);
	check_memory(env, jni_arg26);
	jdouble * jni_arg28 = (*env)->GetPrimitiveArrayCritical(env, arg28, JNI_FALSE);
	check_memory(env, jni_arg28);
	jclass jni_arg31Class = (*env)->GetObjectClass(env, arg31);
	jfieldID jni_arg31Id = (*env)->GetFieldID(env, jni_arg31Class, "val", "I");
	jint jni_arg31 = (*env)->GetIntField(env, arg31, jni_arg31Id);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3Tmp[jni_arg3i] == JNI_FALSE){
			jni_arg3[jni_arg3i] = 0;
		} else {
			jni_arg3[jni_arg3i] = 1;
		}
	}

	dseupd_(&jni_arg1, jni_arg2, jni_arg3, jni_arg5, jni_arg7, &arg9, &arg10, jni_arg11, &arg12, jni_arg13, &jni_arg14, &arg15, jni_arg16, &arg18, jni_arg19, &arg21, jni_arg22, jni_arg24, jni_arg26, jni_arg28, &arg30, &jni_arg31);

	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3[jni_arg3i] == 0){
			jni_arg3Tmp[jni_arg3i] = JNI_FALSE;
		} else {
			jni_arg3Tmp[jni_arg3i] = JNI_TRUE;
		}
	}
	(*env)->ReleasePrimitiveArrayCritical(env, arg3, jni_arg3Tmp, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg5, jni_arg5, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleaseStringUTFChars(env, arg11, jni_arg11);
	(*env)->ReleaseStringUTFChars(env, arg13, jni_arg13);
	(*env)->SetIntField(env, arg14, jni_arg14Id, jni_arg14);
	(*env)->ReleasePrimitiveArrayCritical(env, arg16, jni_arg16, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg22, jni_arg22, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg24, jni_arg24, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg26, jni_arg26, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg28, jni_arg28, 0);
	(*env)->SetIntField(env, arg31, jni_arg31Id, jni_arg31);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_snaupd (JNIEnv * env, jobject calling_obj, jobject arg1, jstring arg2, jint arg3, jstring arg4, jint arg5, jobject arg6, jfloatArray arg7, jint arg9, jfloatArray arg10, jint arg12, jintArray arg13, jintArray arg15, jfloatArray arg17, jfloatArray arg19, jint arg21, jobject arg22){
	jclass jni_arg1Class = (*env)->GetObjectClass(env, arg1);
	jfieldID jni_arg1Id = (*env)->GetFieldID(env, jni_arg1Class, "val", "I");
	jint jni_arg1 = (*env)->GetIntField(env, arg1, jni_arg1Id);
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	char * jni_arg4 = (char *)(*env)->GetStringUTFChars(env, arg4, JNI_FALSE);
	jclass jni_arg6Class = (*env)->GetObjectClass(env, arg6);
	jfieldID jni_arg6Id = (*env)->GetFieldID(env, jni_arg6Class, "val", "D");
	jfloat jni_arg6 = (*env)->GetFloatField(env, arg6, jni_arg6Id);
	jfloat * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jfloat * jni_arg10 = (*env)->GetPrimitiveArrayCritical(env, arg10, JNI_FALSE);
	check_memory(env, jni_arg10);
	jint * jni_arg13 = (*env)->GetPrimitiveArrayCritical(env, arg13, JNI_FALSE);
	check_memory(env, jni_arg13);
	jint * jni_arg15 = (*env)->GetPrimitiveArrayCritical(env, arg15, JNI_FALSE);
	check_memory(env, jni_arg15);
	jfloat * jni_arg17 = (*env)->GetPrimitiveArrayCritical(env, arg17, JNI_FALSE);
	check_memory(env, jni_arg17);
	jfloat * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jclass jni_arg22Class = (*env)->GetObjectClass(env, arg22);
	jfieldID jni_arg22Id = (*env)->GetFieldID(env, jni_arg22Class, "val", "I");
	jint jni_arg22 = (*env)->GetIntField(env, arg22, jni_arg22Id);

	snaupd_(&jni_arg1, jni_arg2, &arg3, jni_arg4, &arg5, &jni_arg6, jni_arg7, &arg9, jni_arg10, &arg12, jni_arg13, jni_arg15, jni_arg17, jni_arg19, &arg21, &jni_arg22);

	(*env)->SetIntField(env, arg1, jni_arg1Id, jni_arg1);
	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	(*env)->ReleaseStringUTFChars(env, arg4, jni_arg4);
	(*env)->SetFloatField(env, arg6, jni_arg6Id, jni_arg6);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg10, jni_arg10, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg13, jni_arg13, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg15, jni_arg15, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg17, jni_arg17, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->SetIntField(env, arg22, jni_arg22Id, jni_arg22);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_sneupd (JNIEnv * env, jobject calling_obj, jboolean arg1, jstring arg2, jbooleanArray arg3, jfloatArray arg5, jfloatArray arg7, jfloatArray arg9, jint arg11, jfloat arg12, jfloat arg13, jfloatArray arg14, jstring arg16, jint arg17, jstring arg18, jobject arg19, jfloat arg20, jfloatArray arg21, jint arg23, jfloatArray arg24, jint arg26, jintArray arg27, jintArray arg29, jfloatArray arg31, jfloatArray arg33, jint arg35, jobject arg36){
	logical jni_arg1 = (logical)arg1;
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	jboolean * jni_arg3Tmp = (*env)->GetPrimitiveArrayCritical(env, arg3, JNI_FALSE);
	jint jni_arg3Size = (*env)->GetArrayLength(env, arg3);
	logical jni_arg3[jni_arg3Size];
	int jni_arg3i;
	jfloat * jni_arg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, JNI_FALSE);
	check_memory(env, jni_arg5);
	jfloat * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jfloat * jni_arg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, JNI_FALSE);
	check_memory(env, jni_arg9);
	jfloat * jni_arg14 = (*env)->GetPrimitiveArrayCritical(env, arg14, JNI_FALSE);
	check_memory(env, jni_arg14);
	char * jni_arg16 = (char *)(*env)->GetStringUTFChars(env, arg16, JNI_FALSE);
	char * jni_arg18 = (char *)(*env)->GetStringUTFChars(env, arg18, JNI_FALSE);
	jclass jni_arg19Class = (*env)->GetObjectClass(env, arg19);
	jfieldID jni_arg19Id = (*env)->GetFieldID(env, jni_arg19Class, "val", "I");
	jint jni_arg19 = (*env)->GetIntField(env, arg19, jni_arg19Id);
	jfloat * jni_arg21 = (*env)->GetPrimitiveArrayCritical(env, arg21, JNI_FALSE);
	check_memory(env, jni_arg21);
	jfloat * jni_arg24 = (*env)->GetPrimitiveArrayCritical(env, arg24, JNI_FALSE);
	check_memory(env, jni_arg24);
	jint * jni_arg27 = (*env)->GetPrimitiveArrayCritical(env, arg27, JNI_FALSE);
	check_memory(env, jni_arg27);
	jint * jni_arg29 = (*env)->GetPrimitiveArrayCritical(env, arg29, JNI_FALSE);
	check_memory(env, jni_arg29);
	jfloat * jni_arg31 = (*env)->GetPrimitiveArrayCritical(env, arg31, JNI_FALSE);
	check_memory(env, jni_arg31);
	jfloat * jni_arg33 = (*env)->GetPrimitiveArrayCritical(env, arg33, JNI_FALSE);
	check_memory(env, jni_arg33);
	jclass jni_arg36Class = (*env)->GetObjectClass(env, arg36);
	jfieldID jni_arg36Id = (*env)->GetFieldID(env, jni_arg36Class, "val", "I");
	jint jni_arg36 = (*env)->GetIntField(env, arg36, jni_arg36Id);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3Tmp[jni_arg3i] == JNI_FALSE){
			jni_arg3[jni_arg3i] = 0;
		} else {
			jni_arg3[jni_arg3i] = 1;
		}
	}

	sneupd_(&jni_arg1, jni_arg2, jni_arg3, jni_arg5, jni_arg7, jni_arg9, &arg11, &arg12, &arg13, jni_arg14, jni_arg16, &arg17, jni_arg18, &jni_arg19, &arg20, jni_arg21, &arg23, jni_arg24, &arg26, jni_arg27, jni_arg29, jni_arg31, jni_arg33, &arg35, &jni_arg36);

	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3[jni_arg3i] == 0){
			jni_arg3Tmp[jni_arg3i] = JNI_FALSE;
		} else {
			jni_arg3Tmp[jni_arg3i] = JNI_TRUE;
		}
	}
	(*env)->ReleasePrimitiveArrayCritical(env, arg3, jni_arg3Tmp, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg5, jni_arg5, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg9, jni_arg9, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg14, jni_arg14, 0);
	(*env)->ReleaseStringUTFChars(env, arg16, jni_arg16);
	(*env)->ReleaseStringUTFChars(env, arg18, jni_arg18);
	(*env)->SetIntField(env, arg19, jni_arg19Id, jni_arg19);
	(*env)->ReleasePrimitiveArrayCritical(env, arg21, jni_arg21, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg24, jni_arg24, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg27, jni_arg27, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg29, jni_arg29, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg31, jni_arg31, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg33, jni_arg33, 0);
	(*env)->SetIntField(env, arg36, jni_arg36Id, jni_arg36);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_ssaupd (JNIEnv * env, jobject calling_obj, jobject arg1, jstring arg2, jint arg3, jstring arg4, jint arg5, jobject arg6, jfloatArray arg7, jint arg9, jfloatArray arg10, jint arg12, jintArray arg13, jintArray arg15, jfloatArray arg17, jfloatArray arg19, jint arg21, jobject arg22){
	jclass jni_arg1Class = (*env)->GetObjectClass(env, arg1);
	jfieldID jni_arg1Id = (*env)->GetFieldID(env, jni_arg1Class, "val", "I");
	jint jni_arg1 = (*env)->GetIntField(env, arg1, jni_arg1Id);
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	char * jni_arg4 = (char *)(*env)->GetStringUTFChars(env, arg4, JNI_FALSE);
	jclass jni_arg6Class = (*env)->GetObjectClass(env, arg6);
	jfieldID jni_arg6Id = (*env)->GetFieldID(env, jni_arg6Class, "val", "D");
	jfloat jni_arg6 = (*env)->GetFloatField(env, arg6, jni_arg6Id);
	jfloat * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	jfloat * jni_arg10 = (*env)->GetPrimitiveArrayCritical(env, arg10, JNI_FALSE);
	check_memory(env, jni_arg10);
	jint * jni_arg13 = (*env)->GetPrimitiveArrayCritical(env, arg13, JNI_FALSE);
	check_memory(env, jni_arg13);
	jint * jni_arg15 = (*env)->GetPrimitiveArrayCritical(env, arg15, JNI_FALSE);
	check_memory(env, jni_arg15);
	jfloat * jni_arg17 = (*env)->GetPrimitiveArrayCritical(env, arg17, JNI_FALSE);
	check_memory(env, jni_arg17);
	jfloat * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jclass jni_arg22Class = (*env)->GetObjectClass(env, arg22);
	jfieldID jni_arg22Id = (*env)->GetFieldID(env, jni_arg22Class, "val", "I");
	jint jni_arg22 = (*env)->GetIntField(env, arg22, jni_arg22Id);

	ssaupd_(&jni_arg1, jni_arg2, &arg3, jni_arg4, &arg5, &jni_arg6, jni_arg7, &arg9, jni_arg10, &arg12, jni_arg13, jni_arg15, jni_arg17, jni_arg19, &arg21, &jni_arg22);

	(*env)->SetIntField(env, arg1, jni_arg1Id, jni_arg1);
	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	(*env)->ReleaseStringUTFChars(env, arg4, jni_arg4);
	(*env)->SetFloatField(env, arg6, jni_arg6Id, jni_arg6);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg10, jni_arg10, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg13, jni_arg13, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg15, jni_arg15, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg17, jni_arg17, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->SetIntField(env, arg22, jni_arg22Id, jni_arg22);
}

JNIEXPORT void JNICALL Java_org_netlib_arpack_NativeARPACK_sseupd (JNIEnv * env, jobject calling_obj, jboolean arg1, jstring arg2, jbooleanArray arg3, jfloatArray arg5, jfloatArray arg7, jint arg9, jfloat arg10, jstring arg11, jint arg12, jstring arg13, jobject arg14, jfloat arg15, jfloatArray arg16, jint arg18, jfloatArray arg19, jint arg21, jintArray arg22, jintArray arg24, jfloatArray arg26, jfloatArray arg28, jint arg30, jobject arg31){
	logical jni_arg1 = (logical)arg1;
	char * jni_arg2 = (char *)(*env)->GetStringUTFChars(env, arg2, JNI_FALSE);
	jboolean * jni_arg3Tmp = (*env)->GetPrimitiveArrayCritical(env, arg3, JNI_FALSE);
	jint jni_arg3Size = (*env)->GetArrayLength(env, arg3);
	logical jni_arg3[jni_arg3Size];
	int jni_arg3i;
	jfloat * jni_arg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, JNI_FALSE);
	check_memory(env, jni_arg5);
	jfloat * jni_arg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, JNI_FALSE);
	check_memory(env, jni_arg7);
	char * jni_arg11 = (char *)(*env)->GetStringUTFChars(env, arg11, JNI_FALSE);
	char * jni_arg13 = (char *)(*env)->GetStringUTFChars(env, arg13, JNI_FALSE);
	jclass jni_arg14Class = (*env)->GetObjectClass(env, arg14);
	jfieldID jni_arg14Id = (*env)->GetFieldID(env, jni_arg14Class, "val", "I");
	jint jni_arg14 = (*env)->GetIntField(env, arg14, jni_arg14Id);
	jfloat * jni_arg16 = (*env)->GetPrimitiveArrayCritical(env, arg16, JNI_FALSE);
	check_memory(env, jni_arg16);
	jfloat * jni_arg19 = (*env)->GetPrimitiveArrayCritical(env, arg19, JNI_FALSE);
	check_memory(env, jni_arg19);
	jint * jni_arg22 = (*env)->GetPrimitiveArrayCritical(env, arg22, JNI_FALSE);
	check_memory(env, jni_arg22);
	jint * jni_arg24 = (*env)->GetPrimitiveArrayCritical(env, arg24, JNI_FALSE);
	check_memory(env, jni_arg24);
	jfloat * jni_arg26 = (*env)->GetPrimitiveArrayCritical(env, arg26, JNI_FALSE);
	check_memory(env, jni_arg26);
	jfloat * jni_arg28 = (*env)->GetPrimitiveArrayCritical(env, arg28, JNI_FALSE);
	check_memory(env, jni_arg28);
	jclass jni_arg31Class = (*env)->GetObjectClass(env, arg31);
	jfieldID jni_arg31Id = (*env)->GetFieldID(env, jni_arg31Class, "val", "I");
	jint jni_arg31 = (*env)->GetIntField(env, arg31, jni_arg31Id);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3Tmp[jni_arg3i] == JNI_FALSE){
			jni_arg3[jni_arg3i] = 0;
		} else {
			jni_arg3[jni_arg3i] = 1;
		}
	}

	sseupd_(&jni_arg1, jni_arg2, jni_arg3, jni_arg5, jni_arg7, &arg9, &arg10, jni_arg11, &arg12, jni_arg13, &jni_arg14, &arg15, jni_arg16, &arg18, jni_arg19, &arg21, jni_arg22, jni_arg24, jni_arg26, jni_arg28, &arg30, &jni_arg31);

	(*env)->ReleaseStringUTFChars(env, arg2, jni_arg2);
	for (jni_arg3i = 0 ; jni_arg3i < jni_arg3Size ; jni_arg3i++){
		if (jni_arg3[jni_arg3i] == 0){
			jni_arg3Tmp[jni_arg3i] = JNI_FALSE;
		} else {
			jni_arg3Tmp[jni_arg3i] = JNI_TRUE;
		}
	}
	(*env)->ReleasePrimitiveArrayCritical(env, arg3, jni_arg3Tmp, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg5, jni_arg5, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg7, jni_arg7, 0);
	(*env)->ReleaseStringUTFChars(env, arg11, jni_arg11);
	(*env)->ReleaseStringUTFChars(env, arg13, jni_arg13);
	(*env)->SetIntField(env, arg14, jni_arg14Id, jni_arg14);
	(*env)->ReleasePrimitiveArrayCritical(env, arg16, jni_arg16, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg19, jni_arg19, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg22, jni_arg22, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg24, jni_arg24, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg26, jni_arg26, 0);
	(*env)->ReleasePrimitiveArrayCritical(env, arg28, jni_arg28, 0);
	(*env)->SetIntField(env, arg31, jni_arg31Id, jni_arg31);
}

