00001
00006 #include <stdlib.h>
00007 #include <psifiles.h>
00008 #include <libpsio/psio.hpp>
00009 extern "C" {
00010 #include <libchkpt/chkpt.h>
00011 }
00012 #include <libchkpt/chkpt.hpp>
00013
00014 using namespace psi;
00015
00016 int *Chkpt::rd_atom_position(void)
00017 {
00018 int *atom_position, natom;
00019 char *keyword;
00020 keyword = build_keyword("Atomic symm positions");
00021
00022 natom = rd_natom();
00023 atom_position = array<int>(natom);
00024
00025 psio->read_entry(PSIF_CHKPT, keyword, (char *) atom_position,
00026 natom*sizeof(int));
00027
00028 free(keyword);
00029 return atom_position;
00030 }
00031
00032 void Chkpt::wt_atom_position(int *atom_position)
00033 {
00034 int natom;
00035 char *keyword;
00036 keyword = build_keyword("Atomic symm positions");
00037
00038 natom = rd_natom();
00039
00040 psio->write_entry(PSIF_CHKPT, keyword,
00041 (char *) atom_position, natom*sizeof(int));
00042
00043 free(keyword);
00044 }
00045
00046 extern "C" {
00065 int *chkpt_rd_atom_position(void)
00066 {
00067 return _default_chkpt_lib_->rd_atom_position();
00068 }
00069
00070
00091 void chkpt_wt_atom_position(int *atom_position)
00092 {
00093 _default_chkpt_lib_->wt_atom_position(atom_position);
00094 }
00095 }
00096