39 use,
intrinsic :: iso_c_binding
45 kim_compute_arguments_handle_type, &
51 kim_get_argument_support_status, &
52 kim_get_callback_support_status, &
53 kim_set_argument_pointer, &
54 kim_set_callback_pointer, &
55 kim_are_all_required_present, &
56 kim_set_simulator_buffer_pointer, &
57 kim_get_simulator_buffer_pointer, &
60 kim_push_log_verbosity, &
68 type, bind(c) :: kim_compute_arguments_handle_type
69 type(c_ptr) :: p = c_null_ptr
70 end type kim_compute_arguments_handle_type
75 type(kim_compute_arguments_handle_type),
protected,
save &
81 interface operator(.eq.)
82 module procedure kim_compute_arguments_handle_equal
83 end interface operator(.eq.)
88 interface operator(.ne.)
89 module procedure kim_compute_arguments_handle_not_equal
90 end interface operator(.ne.)
98 interface kim_get_argument_support_status
99 module procedure kim_compute_arguments_get_argument_support_status
100 end interface kim_get_argument_support_status
108 interface kim_get_callback_support_status
110 end interface kim_get_callback_support_status
119 interface kim_set_argument_pointer
126 end interface kim_set_argument_pointer
134 interface kim_set_callback_pointer
136 end interface kim_set_callback_pointer
145 interface kim_are_all_required_present
147 end interface kim_are_all_required_present
155 interface kim_set_simulator_buffer_pointer
157 end interface kim_set_simulator_buffer_pointer
165 interface kim_get_simulator_buffer_pointer
167 end interface kim_get_simulator_buffer_pointer
174 interface kim_to_string
176 end interface kim_to_string
183 interface kim_set_log_id
185 end interface kim_set_log_id
193 interface kim_push_log_verbosity
195 end interface kim_push_log_verbosity
203 interface kim_pop_log_verbosity
205 end interface kim_pop_log_verbosity
211 logical recursive function kim_compute_arguments_handle_equal(lhs, rhs)
213 type(kim_compute_arguments_handle_type),
intent(in) :: lhs
214 type(kim_compute_arguments_handle_type),
intent(in) :: rhs
216 if ((.not. c_associated(lhs%p)) .and. (.not. c_associated(rhs%p)))
then 217 kim_compute_arguments_handle_equal = .true.
219 kim_compute_arguments_handle_equal = c_associated(lhs%p, rhs%p)
221 end function kim_compute_arguments_handle_equal
226 logical recursive function kim_compute_arguments_handle_not_equal(lhs, rhs)
228 type(kim_compute_arguments_handle_type),
intent(in) :: lhs
229 type(kim_compute_arguments_handle_type),
intent(in) :: rhs
231 kim_compute_arguments_handle_not_equal = .not. (lhs == rhs)
232 end function kim_compute_arguments_handle_not_equal
240 recursive subroutine kim_compute_arguments_get_argument_support_status( &
241 compute_arguments_handle, compute_argument_name, &
242 support_status, ierr)
245 use kim_interoperable_types_module
, only: kim_compute_arguments_type
248 integer(c_int) recursive function get_argument_support_status( &
249 compute_arguments, compute_argument_name, support_status) &
250 bind(c, name=
"KIM_ComputeArguments_GetArgumentSupportStatus")
251 use,
intrinsic :: iso_c_binding
253 kim_compute_argument_name_type
255 use kim_interoperable_types_module
, only: kim_compute_arguments_type
257 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
258 type(kim_compute_argument_name_type),
intent(in),
value :: &
259 compute_argument_name
260 type(kim_support_status_type),
intent(out) :: support_status
261 end function get_argument_support_status
263 type(kim_compute_arguments_handle_type),
intent(in) :: &
264 compute_arguments_handle
265 type(kim_compute_argument_name_type),
intent(in) :: &
266 compute_argument_name
267 type(kim_support_status_type),
intent(out) :: support_status
268 integer(c_int),
intent(out) :: ierr
269 type(kim_compute_arguments_type),
pointer :: compute_arguments
271 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
272 ierr = get_argument_support_status(compute_arguments, &
273 compute_argument_name, support_status)
274 end subroutine kim_compute_arguments_get_argument_support_status
283 compute_arguments_handle, compute_callback_name, support_status, ierr)
286 use kim_interoperable_types_module
, only: kim_compute_arguments_type
289 integer(c_int) recursive function get_callback_support_status( &
290 compute_arguments, compute_callback_name, support_status) &
291 bind(c, name=
"KIM_ComputeArguments_GetCallbackSupportStatus")
292 use,
intrinsic :: iso_c_binding
294 kim_compute_callback_name_type
296 use kim_interoperable_types_module
, only: kim_compute_arguments_type
298 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
299 type(kim_compute_callback_name_type),
intent(in),
value :: &
300 compute_callback_name
301 type(kim_support_status_type),
intent(out) :: support_status
302 end function get_callback_support_status
304 type(kim_compute_arguments_handle_type),
intent(in) :: &
305 compute_arguments_handle
306 type(kim_compute_callback_name_type),
intent(in) :: &
307 compute_callback_name
308 type(kim_support_status_type),
intent(out) :: support_status
309 integer(c_int),
intent(out) :: ierr
310 type(kim_compute_arguments_type),
pointer :: compute_arguments
312 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
313 ierr = get_callback_support_status(compute_arguments, &
314 compute_callback_name, support_status)
324 compute_arguments_handle, compute_argument_name, int0, ierr)
326 use kim_interoperable_types_module
, only: kim_compute_arguments_type
329 integer(c_int) recursive function set_argument_pointer_integer( &
330 compute_arguments, compute_argument_name, ptr) &
331 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerInteger")
332 use,
intrinsic :: iso_c_binding
334 kim_compute_argument_name_type
335 use kim_interoperable_types_module
, only: kim_compute_arguments_type
337 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
338 type(kim_compute_argument_name_type),
intent(in),
value :: &
339 compute_argument_name
340 type(c_ptr),
intent(in),
value :: ptr
341 end function set_argument_pointer_integer
343 type(kim_compute_arguments_handle_type),
intent(in) :: &
344 compute_arguments_handle
345 type(kim_compute_argument_name_type),
intent(in) :: &
346 compute_argument_name
347 integer(c_int),
intent(in),
target :: int0
348 integer(c_int),
intent(out) :: ierr
349 type(kim_compute_arguments_type),
pointer :: compute_arguments
351 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
352 ierr = set_argument_pointer_integer(compute_arguments, &
353 compute_argument_name, c_loc(int0))
363 compute_arguments_handle, compute_argument_name, int1, ierr)
365 use kim_interoperable_types_module
, only: kim_compute_arguments_type
367 type(kim_compute_arguments_handle_type),
intent(in) :: &
368 compute_arguments_handle
369 type(kim_compute_argument_name_type),
intent(in) :: &
370 compute_argument_name
371 integer(c_int),
intent(in),
target :: int1(:)
372 integer(c_int),
intent(out) :: ierr
373 type(kim_compute_arguments_type),
pointer :: compute_arguments
375 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
376 call set(compute_arguments, compute_argument_name,
size(int1, 1, c_int), &
381 recursive subroutine set(compute_arguments, compute_argument_name, &
384 kim_compute_argument_name_type
385 use kim_interoperable_types_module
, only: kim_compute_arguments_type
388 integer(c_int) recursive function set_argument_pointer_integer( &
389 compute_arguments, compute_argument_name, ptr) &
390 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerInteger")
391 use,
intrinsic :: iso_c_binding
393 kim_compute_argument_name_type
394 use kim_interoperable_types_module
, only: kim_compute_arguments_type
396 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
397 type(kim_compute_argument_name_type),
intent(in),
value :: &
398 compute_argument_name
399 type(c_ptr),
intent(in),
value :: ptr
400 end function set_argument_pointer_integer
402 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
403 type(kim_compute_argument_name_type),
intent(in) :: &
404 compute_argument_name
405 integer(c_int),
intent(in) :: extent1
406 integer(c_int),
intent(in),
target :: int1(extent1)
407 integer(c_int),
intent(out) :: ierr
409 ierr = set_argument_pointer_integer(compute_arguments, &
410 compute_argument_name, c_loc(int1))
421 compute_arguments_handle, compute_argument_name, int2, ierr)
423 use kim_interoperable_types_module
, only: kim_compute_arguments_type
425 type(kim_compute_arguments_handle_type),
intent(in) :: &
426 compute_arguments_handle
427 type(kim_compute_argument_name_type),
intent(in) :: &
428 compute_argument_name
429 integer(c_int),
intent(in),
target :: int2(:, :)
430 integer(c_int),
intent(out) :: ierr
431 type(kim_compute_arguments_type),
pointer :: compute_arguments
433 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
434 call set(compute_arguments, compute_argument_name,
size(int2, 1, c_int), &
435 size(int2, 2, c_int), int2, ierr)
439 recursive subroutine set(compute_arguments, compute_argument_name, &
440 extent1, extent2, int2, ierr)
442 kim_compute_argument_name_type
443 use kim_interoperable_types_module
, only: kim_compute_arguments_type
446 integer(c_int) recursive function set_argument_pointer_integer( &
447 compute_arguments, compute_argument_name, ptr) &
448 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerInteger")
449 use,
intrinsic :: iso_c_binding
451 kim_compute_argument_name_type
452 use kim_interoperable_types_module
, only: kim_compute_arguments_type
454 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
455 type(kim_compute_argument_name_type),
intent(in),
value :: &
456 compute_argument_name
457 type(c_ptr),
intent(in),
value :: ptr
458 end function set_argument_pointer_integer
460 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
461 type(kim_compute_argument_name_type),
intent(in) :: &
462 compute_argument_name
463 integer(c_int),
intent(in) :: extent1
464 integer(c_int),
intent(in) :: extent2
465 integer(c_int),
intent(in),
target :: int2(extent1, extent2)
466 integer(c_int),
intent(out) :: ierr
468 ierr = set_argument_pointer_integer(compute_arguments, &
469 compute_argument_name, c_loc(int2))
480 compute_arguments_handle, compute_argument_name, double0, ierr)
482 use kim_interoperable_types_module
, only: kim_compute_arguments_type
485 integer(c_int) recursive function set_argument_pointer_double( &
486 compute_arguments, compute_argument_name, ptr) &
487 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerDouble")
488 use,
intrinsic :: iso_c_binding
490 kim_compute_argument_name_type
491 use kim_interoperable_types_module
, only: kim_compute_arguments_type
493 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
494 type(kim_compute_argument_name_type),
intent(in),
value :: &
495 compute_argument_name
496 type(c_ptr),
intent(in),
value :: ptr
497 end function set_argument_pointer_double
499 type(kim_compute_arguments_handle_type),
intent(in) :: &
500 compute_arguments_handle
501 type(kim_compute_argument_name_type),
intent(in) :: &
502 compute_argument_name
503 real(c_double),
intent(in),
target :: double0
504 integer(c_int),
intent(out) :: ierr
505 type(kim_compute_arguments_type),
pointer :: compute_arguments
507 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
508 ierr = set_argument_pointer_double(compute_arguments, &
509 compute_argument_name, c_loc(double0))
519 compute_arguments_handle, compute_argument_name, double1, ierr)
521 use kim_interoperable_types_module
, only: kim_compute_arguments_type
523 type(kim_compute_arguments_handle_type),
intent(in) :: &
524 compute_arguments_handle
525 type(kim_compute_argument_name_type),
intent(in) :: &
526 compute_argument_name
527 real(c_double),
intent(in),
target :: double1(:)
528 integer(c_int),
intent(out) :: ierr
529 type(kim_compute_arguments_type),
pointer :: compute_arguments
531 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
532 call set(compute_arguments, compute_argument_name, &
533 size(double1, 1, c_int), double1, ierr)
537 recursive subroutine set(compute_arguments, compute_argument_name, &
538 extent1, double1, ierr)
540 kim_compute_argument_name_type
541 use kim_interoperable_types_module
, only: kim_compute_arguments_type
544 integer(c_int) recursive function set_argument_pointer_double( &
545 compute_arguments, compute_argument_name, ptr) &
546 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerDouble")
547 use,
intrinsic :: iso_c_binding
549 kim_compute_argument_name_type
550 use kim_interoperable_types_module
, only: kim_compute_arguments_type
552 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
553 type(kim_compute_argument_name_type),
intent(in),
value :: &
554 compute_argument_name
555 type(c_ptr),
intent(in),
value :: ptr
556 end function set_argument_pointer_double
558 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
559 type(kim_compute_argument_name_type),
intent(in) :: &
560 compute_argument_name
561 integer(c_int),
intent(in) :: extent1
562 real(c_double),
intent(in),
target :: double1(extent1)
563 integer(c_int),
intent(out) :: ierr
565 ierr = set_argument_pointer_double(compute_arguments, &
566 compute_argument_name, c_loc(double1))
577 compute_arguments_handle, compute_argument_name, double2, ierr)
579 use kim_interoperable_types_module
, only: kim_compute_arguments_type
581 type(kim_compute_arguments_handle_type),
intent(in) :: &
582 compute_arguments_handle
583 type(kim_compute_argument_name_type),
intent(in) :: &
584 compute_argument_name
585 real(c_double),
intent(in),
target :: double2(:, :)
586 integer(c_int),
intent(out) :: ierr
587 type(kim_compute_arguments_type),
pointer :: compute_arguments
589 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
590 call set(compute_arguments, compute_argument_name, &
591 size(double2, 1, c_int),
size(double2, 2, c_int), double2, ierr)
595 recursive subroutine set(compute_arguments, compute_argument_name, &
596 extent1, extent2, double2, ierr)
598 kim_compute_argument_name_type
601 integer(c_int) recursive function set_argument_pointer_double( &
602 compute_arguments, compute_argument_name, ptr) &
603 bind(c, name=
"KIM_ComputeArguments_SetArgumentPointerDouble")
604 use,
intrinsic :: iso_c_binding
606 kim_compute_argument_name_type
607 use kim_interoperable_types_module
, only: kim_compute_arguments_type
609 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
610 type(kim_compute_argument_name_type),
intent(in),
value :: &
611 compute_argument_name
612 type(c_ptr),
intent(in),
value :: ptr
613 end function set_argument_pointer_double
615 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
616 type(kim_compute_argument_name_type),
intent(in) :: &
617 compute_argument_name
618 integer(c_int),
intent(in) :: extent1
619 integer(c_int),
intent(in) :: extent2
620 real(c_double),
intent(in),
target :: double2(extent1, extent2)
621 integer(c_int),
intent(out) :: ierr
623 ierr = set_argument_pointer_double(compute_arguments, &
624 compute_argument_name, c_loc(double2))
635 compute_arguments_handle, compute_callback_name, language_name, fptr, &
639 use kim_interoperable_types_module
, only: kim_compute_arguments_type
642 integer(c_int) recursive function set_callback_pointer( &
643 compute_arguments, compute_callback_name, language_name, fptr, &
644 data_object) bind(c, name="KIM_ComputeArguments_SetCallbackPointer")
645 use,
intrinsic :: iso_c_binding
648 kim_compute_callback_name_type
649 use kim_interoperable_types_module
, only: kim_compute_arguments_type
651 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
652 type(kim_language_name_type),
intent(in),
value :: language_name
653 type(kim_compute_callback_name_type),
intent(in),
value :: &
654 compute_callback_name
655 type(c_funptr),
intent(in),
value :: fptr
656 type(c_ptr),
intent(in),
value :: data_object
657 end function set_callback_pointer
659 type(kim_compute_arguments_handle_type),
intent(in) :: &
660 compute_arguments_handle
661 type(kim_compute_callback_name_type),
intent(in) :: &
662 compute_callback_name
663 type(kim_language_name_type),
intent(in) :: language_name
664 type(c_funptr),
intent(in),
value :: fptr
665 type(c_ptr),
intent(in) :: data_object
666 integer(c_int),
intent(out) :: ierr
667 type(kim_compute_arguments_type),
pointer :: compute_arguments
669 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
670 ierr = set_callback_pointer(compute_arguments, compute_callback_name, &
671 language_name, fptr, data_object)
682 compute_arguments_handle, result_value, ierr)
683 use kim_interoperable_types_module
, only: kim_compute_arguments_type
686 integer(c_int) recursive function &
687 are_all_required_arguments_and_callbacks_present( &
688 compute_arguments, result_value) &
691 "KIM_ComputeArguments_AreAllRequiredArgumentsAndCallbacksPresent")
692 use,
intrinsic :: iso_c_binding
693 use kim_interoperable_types_module
, only: kim_compute_arguments_type
695 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
696 integer(c_int),
intent(out) :: result_value
697 end function are_all_required_arguments_and_callbacks_present
699 type(kim_compute_arguments_handle_type),
intent(in) :: &
700 compute_arguments_handle
701 integer(c_int),
intent(out) :: result_value
702 integer(c_int),
intent(out) :: ierr
703 type(kim_compute_arguments_type),
pointer :: compute_arguments
705 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
706 ierr = are_all_required_arguments_and_callbacks_present( &
707 compute_arguments, result_value)
717 compute_arguments_handle, ptr)
718 use kim_interoperable_types_module
, only: kim_compute_arguments_type
721 recursive subroutine set_simulator_buffer_pointer( &
722 compute_arguments, ptr) &
723 bind(c, name=
"KIM_ComputeArguments_SetSimulatorBufferPointer")
724 use,
intrinsic :: iso_c_binding
725 use kim_interoperable_types_module
, only: kim_compute_arguments_type
727 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
728 type(c_ptr),
intent(in),
value :: ptr
729 end subroutine set_simulator_buffer_pointer
731 type(kim_compute_arguments_handle_type),
intent(in) :: &
732 compute_arguments_handle
733 type(c_ptr),
intent(in) :: ptr
734 type(kim_compute_arguments_type),
pointer :: compute_arguments
736 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
737 call set_simulator_buffer_pointer(compute_arguments, ptr)
747 compute_arguments_handle, ptr)
748 use kim_interoperable_types_module
, only: kim_compute_arguments_type
751 recursive subroutine get_simulator_buffer_pointer( &
752 compute_arguments, ptr) &
753 bind(c, name=
"KIM_ComputeArguments_GetSimulatorBufferPointer")
754 use,
intrinsic :: iso_c_binding
755 use kim_interoperable_types_module
, only: kim_compute_arguments_type
757 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
758 type(c_ptr),
intent(out) :: ptr
759 end subroutine get_simulator_buffer_pointer
761 type(kim_compute_arguments_handle_type),
intent(in) :: &
762 compute_arguments_handle
763 type(c_ptr),
intent(out) :: ptr
764 type(kim_compute_arguments_type),
pointer :: compute_arguments
766 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
767 call get_simulator_buffer_pointer(compute_arguments, ptr)
776 compute_arguments_handle, string)
777 use kim_convert_string_module
, only: kim_convert_c_char_ptr_to_string
778 use kim_interoperable_types_module
, only: kim_compute_arguments_type
781 type(c_ptr)
recursive function compute_arguments_string( &
782 compute_arguments) bind(c, name=
"KIM_ComputeArguments_ToString")
783 use,
intrinsic :: iso_c_binding
784 use kim_interoperable_types_module
, only: kim_compute_arguments_type
786 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
787 end function compute_arguments_string
789 type(kim_compute_arguments_handle_type),
intent(in) :: &
790 compute_arguments_handle
791 character(len=*, kind=c_char),
intent(out) :: string
792 type(kim_compute_arguments_type),
pointer :: compute_arguments
796 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
797 p = compute_arguments_string(compute_arguments)
798 call kim_convert_c_char_ptr_to_string(p, string)
807 compute_arguments_handle, log_id)
808 use kim_interoperable_types_module
, only: kim_compute_arguments_type
811 recursive subroutine set_log_id(compute_arguments, log_id) &
812 bind(c, name=
"KIM_ComputeArguments_SetLogID")
813 use,
intrinsic :: iso_c_binding
814 use kim_interoperable_types_module
, only: kim_compute_arguments_type
816 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
817 character(c_char),
intent(in) :: log_id(*)
818 end subroutine set_log_id
820 type(kim_compute_arguments_handle_type),
intent(in) :: &
821 compute_arguments_handle
822 character(len=*, kind=c_char),
intent(in) :: log_id
823 type(kim_compute_arguments_type),
pointer :: compute_arguments
825 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
826 call set_log_id(compute_arguments, trim(log_id)//c_null_char)
836 compute_arguments_handle, log_verbosity)
838 use kim_interoperable_types_module
, only: kim_compute_arguments_type
841 recursive subroutine push_log_verbosity( &
842 compute_arguments, log_verbosity) &
843 bind(c, name=
"KIM_ComputeArguments_PushLogVerbosity")
844 use,
intrinsic :: iso_c_binding
846 use kim_interoperable_types_module
, only: kim_compute_arguments_type
848 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
849 type(kim_log_verbosity_type),
intent(in),
value :: log_verbosity
850 end subroutine push_log_verbosity
852 type(kim_compute_arguments_handle_type),
intent(in) :: &
853 compute_arguments_handle
854 type(kim_log_verbosity_type),
intent(in) :: log_verbosity
855 type(kim_compute_arguments_type),
pointer :: compute_arguments
857 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
858 call push_log_verbosity(compute_arguments, log_verbosity)
868 compute_arguments_handle)
870 use kim_interoperable_types_module
, only: kim_compute_arguments_type
873 recursive subroutine pop_log_verbosity(compute_arguments) &
874 bind(c, name=
"KIM_ComputeArguments_PopLogVerbosity")
875 use,
intrinsic :: iso_c_binding
877 use kim_interoperable_types_module
, only: kim_compute_arguments_type
879 type(kim_compute_arguments_type),
intent(in) :: compute_arguments
880 end subroutine pop_log_verbosity
882 type(kim_compute_arguments_handle_type),
intent(in) :: &
883 compute_arguments_handle
884 type(kim_compute_arguments_type),
pointer :: compute_arguments
886 call c_f_pointer(compute_arguments_handle%p, compute_arguments)
887 call pop_log_verbosity(compute_arguments)
recursive subroutine kim_compute_arguments_set_argument_pointer_double1(compute_arguments_handle, compute_argument_name, double1, ierr)
Set the data pointer for a ComputeArgumentName.
recursive subroutine kim_compute_arguments_get_callback_support_status(compute_arguments_handle, compute_callback_name, support_status, ierr)
Get the SupportStatus of a ComputeCallbackName.
recursive subroutine kim_compute_arguments_set_log_id(compute_arguments_handle, log_id)
Set the identity of the Log object associated with the ComputeArguments object.
recursive subroutine kim_compute_arguments_set_simulator_buffer_pointer(compute_arguments_handle, ptr)
Set the Simulator's buffer pointer within the ComputeArguments object.
recursive subroutine kim_compute_arguments_get_simulator_buffer_pointer(compute_arguments_handle, ptr)
Get the Simulator's buffer pointer from the ComputeArguments object.
recursive subroutine kim_compute_arguments_set_argument_pointer_double0(compute_arguments_handle, compute_argument_name, double0, ierr)
Set the data pointer for a ComputeArgumentName.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
type(kim_compute_arguments_handle_type), save, public, protected kim_compute_arguments_null_handle
NULL handle for use in comparisons.
recursive subroutine kim_compute_arguments_set_argument_pointer_double2(compute_arguments_handle, compute_argument_name, double2, ierr)
Set the data pointer for a ComputeArgumentName.
recursive subroutine kim_compute_arguments_are_all_required_present(compute_arguments_handle, result_value, ierr)
Determine if non-NULL pointers have been set for all ComputeArgumentName's and ComputeCallbackName's ...
recursive subroutine kim_compute_arguments_set_argument_pointer_int1(compute_arguments_handle, compute_argument_name, int1, ierr)
Set the data pointer for a ComputeArgumentName.
recursive subroutine kim_compute_arguments_push_log_verbosity(compute_arguments_handle, log_verbosity)
Push a new LogVerbosity onto the ComputeArguments object's Log object verbosity stack.
Provides the primary interface to a KIM API ComputeArguments object and is meant to be used by simula...
recursive subroutine kim_compute_arguments_pop_log_verbosity(compute_arguments_handle)
Pop a LogVerbosity from the ComputeArguments object's Log object verbosity stack. ...
An Extensible Enumeration for the SupportStatus's supported by the KIM API.
recursive subroutine kim_compute_arguments_set_callback_pointer(compute_arguments_handle, compute_callback_name, language_name, fptr, data_object, ierr)
Set the function pointer for a ComputeCallbackName.
recursive subroutine kim_compute_arguments_set_argument_pointer_int0(compute_arguments_handle, compute_argument_name, int0, ierr)
Set the data pointer for a ComputeArgumentName.
recursive subroutine set(compute_arguments, compute_argument_name, extent1, int1, ierr)
An Extensible Enumeration for the ComputeCallbackName's supported by the KIM API. ...
recursive subroutine kim_compute_arguments_set_argument_pointer_int2(compute_arguments_handle, compute_argument_name, int2, ierr)
Set the data pointer for a ComputeArgumentName.
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API. ...
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
recursive subroutine kim_compute_arguments_to_string(compute_arguments_handle, string)
Get a string representing the internal state of the ComputeArguments object.