source: branches/devel/Cbc/src/OMI_code/omi_Block.h @ 604

Last change on this file since 604 was 572, checked in by forrest, 13 years ago

for Bob Entriken

File size: 2.6 KB
Line 
1/**
2  * @(#)omi_Block.h
3  * @author Robert Entriken<br>
4  * Copyright (C) 1999-2007 EPRI<br>
5  * All rights reserved.
6  * @version 07-03-07
7  * @since OMI_1.0
8  *
9  * Revisions:
10  *   06-02-20 bobe     added copyright
11  *   06-04-10 bobe     ANSI standard comments
12  *   07-03-07 bobe     updated Copyright
13  *
14  */
15#ifndef _FN_Block_java
16#define _FN_Block_java
17
18#include <JavaVM/jni.h>
19#include "OMI.h"
20#include "omi_Base.h"
21
22#ifndef F2C_INCLUDE
23#define F2C_INCLUDE
24  typedef long int integer;
25  typedef double   doublereal;
26  typedef long int ftnlen;
27#endif
28
29typedef struct ClassOMI_Block {
30    jint                 rowIndexLength;
31    jint                 columnIndexLength;
32    jint                 valueLength;
33    jint                 numRows;
34    jint                 numColumns;
35    jint                 numElements;
36    jint                 blockType;
37    jobject              joffset;
38    struct ClassOMI_Base *offset;
39        jintArray            jrowIndex;
40    jint                 *rowIndex;
41          jintArray            jcolIndex;
42    jint                 *colIndex;
43          jdoubleArray         jvalue;
44    jdouble              *value;
45} ClassOMI_Block;
46
47/* function prototypes for JNI methods */
48void OMI_Block_release (JNIEnv *env, jobject jblock, ClassOMI_Block *block, int mode);
49ClassOMI_Block *OMI_Block_get (JNIEnv *env, jobject jblock);
50void OMI_Block_oprint (JNIEnv *env, jobject jblock, jstring jprefix, FILE *out);
51
52/* function prototypes for callback methods */
53integer Java_com_epri_omi_Block_get_rowIndex_length (JNIEnv *env, jobject jblock);
54integer Java_com_epri_omi_Block_get_colIndex_length (JNIEnv *env, jobject jblock);
55integer Java_com_epri_omi_Block_get_value_length (JNIEnv *env, jobject jblock);
56integer Java_com_epri_omi_Block_get_num_elems (JNIEnv *env, jobject jblock);
57integer *Java_com_epri_omi_Block_get_rowIndex (JNIEnv *env, jobject jblock);
58integer *Java_com_epri_omi_Block_get_colIndex (JNIEnv *env, jobject jblock);
59doublereal *Java_com_epri_omi_Block_get_value (JNIEnv *env, jobject jblock);
60integer Java_com_epri_omi_Block_set_num_elems (JNIEnv *env, jobject jblock, jint len);
61integer Java_com_epri_omi_Block_release_rowIndex (JNIEnv *env, jobject jblock, jint *rowIndex);
62integer Java_com_epri_omi_Block_release_colIndex (JNIEnv *env, jobject jblock, jint *colIndex);
63integer Java_com_epri_omi_Block_release_value (JNIEnv *env, jobject jblock, jdouble *value);
64
65void Java_com_epri_omi_block_convertToRowOrder (JNIEnv *env, jobject jblock);
66void Java_com_epri_omi_block_convertToColumnOrder (JNIEnv *env, jobject jblock);
67void Java_com_epri_omi_block_convertToTriples(JNIEnv *env, jobject jblock);
68
69#endif
Note: See TracBrowser for help on using the repository browser.