UNSERIALIZE_DOUBLES

UNSERIALIZE_DOUBLES allows you to reload double precision data into your user subroutines when Solver is executing a RELOAD/ command.

Use

Called By

Any user-written subroutine

Prerequisite

The user subroutine is being called to unserialize data.

Calling Sequence

CALL UNSERIALIZE_DOUBLES (d_array, n)

Input Argument

 
n
An integer variable that specifies the number of values to un-serialize.

Output Argument

 
d_array
A double-precision array to receive the serialized data.

Example

F77:

IF(IFLAG .EQ. 3)THEN
... Make calls to sysfnc and sysary to set up dependencies ...
ELSEIF (IFLAG .EQ. 7)THEN
CALL SERIALIZE_DOUBLES(DP_DATA, N_DP_DATA)
ELSEIF (IFLAG .EQ. 9)THEN
CALL UNSERIALIZE_DOUBLES(DP_DATA, N_DP_DATA)
ENDIF

CXX:

switch(IFLAG){
case 3:
... Make calls to c_sysfnc and c_sysary to set up dependencies ...
case 7:
c_adams_serialize_integers(&d_dataSize, 1);
c_adams_serialize_doubles(d_data, d_dataSize);
break;
case 9:
c_adams_unserialize_integers(&d_dataSize, 1);
if( d_data )free(d_data);
d_data= (double*) malloc(sizeof(double)*d_dataSize);
c_adams_unserialize_doubles(d_data, d_dataSize);
break;
}