7
#include <libpsio/psio.h>
8
#include <libciomr/libciomr.h>
14
void IWL::read_one(PSIO *psio, int itap, const char *label, double *ints,
15
int ntri, int erase, int printflg, FILE *outfile)
19
psio->open(itap, PSIO_OPEN_OLD);
20
psio->read_entry(itap, label, (char *) ints, ntri*sizeof(double));
21
psio->close(itap, !erase);
24
nmo = (sqrt((double) (1 + 8 * ntri)) - 1)/2;
25
print_array(ints, nmo, outfile);
34
** This function reads the one-electron integrals in the MO basis
35
** from disk and stores them in core. Substantially revised on
36
** 29 April 1998 to filter out frozen orbitals if requested.
37
** This change requires a very different argument list from the
38
** previous version of this code.
40
** David Sherrill, January 1994
41
** Revised by David Sherrill, April 1998
42
** Revised by TDC, June 2001
44
** \param itap = tape to read ints from
45
** \param label = the PSIO label
46
** \param ints = buffer (already allocated) to store the integrals
47
** \param ntri = number of packed integrals
48
** \param erase = erase itap (1=yes, 0=no)
49
** \param printflg = printing flag. Set to 1 to print ints;
50
** otherwise, set to 0
51
** \param outfile = file pointer for output of ints or error messages
54
int iwl_rdone(int itap, const char *label, double *ints, int ntri, int erase,
55
int printflg, FILE *outfile)
60
psio_open(itap, PSIO_OPEN_OLD);
61
psio_read_entry(itap, label, (char *) ints, ntri*sizeof(double));
62
psio_close(itap, !erase);
65
nmo = (sqrt((double) (1 + 8 * ntri)) - 1)/2;
66
print_array(ints, nmo, outfile);