SUBROUTINE MolproPluginResult(property, values)
IMPLICIT NONE
CHARACTER(*), INTENT(in) :: property
DOUBLE PRECISION, INTENT(in), DIMENSION(:) :: values
CHARACTER(:), ALLOCATABLE :: buffer
IF (PluginGuestActive() == 0) RETURN
IF (PluginGuestSendF('TAKE PROPERTY '//TRIM(property)//c_null_char)) THEN
allocate(CHARACTER(24*size(values)) :: buffer)
write(buffer, '(1000(G23.16,1X))') values
IF (.NOT. PluginGuestSendF(buffer//c_null_char)) STOP 'Failure to send results to plugin host'
DEallocate(buffer)
END IF
END SUBROUTINE MolproPluginResult