Changes between Version 125 and Version 126 of IR
- Timestamp:
- 12/10/15 11:17:33 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR
v125 v126 542 542 === the basic library `civlc` === 543 543 544 * Type 545 * Operation: an enumeration type of operations 546 * Integer_iter: integer iterator type 547 548 * set the leaf nodes of a variable to be the default value of zero 549 550 `fun[lib="civlc"] $set_default(obj: Pointer)` 551 552 * apply operations to two objects 553 554 `fun[lib="civlc"] $apply(obj1: Pointer, op: Operation, obj2: Pointer, result: Pointer)` 555 556 * elaborate an integer expression 557 558 `fun[lib="civlc"] $elaborate(x: Integer)` 559 560 * get a unique non-negative integer for time count 561 562 `fun[lib="civlc"] $next_time_count()` 563 564 * print path condition of the current state 565 566 `fun[lib="civlc", pure] $pathCondition()` 567 544 568 * non-deterministic choice of integer 545 569 … … 548 572 This function takes as input a positive integer `n` and nondeterministicaly returns an integer in the range `[0, n − 1]`. 549 573 574 * integer iterator operations 575 * creation: `fun[lib="civlc"] $int_iter_create(scope: Scope, data: Pointer[Integer], size: int): Integer_iter` 576 * has-next test: `fun[lib="civlc"] $int_iter_hasNext(iter: Integer_iter): Bool` 577 * get next: `fun[lib="civlc"] $int_iter_next(iter: Integer_iter): Integer` 578 * destroy: `fun[lib="civlc"] $int_iter_destroy(iter: Integer_iter)` 579 550 580 * parent of a scope 551 581 552 `fun[lib="scope"] $scope_parent(s: Scope): Scope`582 `fun[lib="scope"] $scope_parent(s: Scope): Scope` 553 583 554 584 This function returns the parent dynamic scope of the dynamic scope referenced by `s`. If `s` is the root dynamic scope, it returns the `scope_null`. … … 567 597 * pointer translation: 568 598 569 `fun[lib="pointer"] $translate_ptr(ptr: Pointer, obj: Pointer): Pointer`599 `fun[lib="pointer"] $translate_ptr(ptr: Pointer, obj: Pointer): Pointer` 570 600 571 601 this function returns a pointer which is the result of translating the pointer `ptr` (a pointer into one object) to a pointer into a different object `obj` with similar structure. … … 604 634 `fun[lib="pointer"] $pointer_add(ptr: Pointer, offset: Integer, type_size: Integer)` 605 635 636 === bundle === 637 638 * Type: `Bundle`, which is a union type of all system types and user-defined types of a given program 639 640 * size of bundle 641 642 `fun[lib="bundle", pure] $bundle_size(b: Bundle): Integer` 643 644 * pack data into a bundle 645 646 `fun[lib="bundle"] $bundle_pack(ptr: Pointer, size: Integer): Bundle` 647 648 * unpack a bundle 649 650 `fun[lib="bundle"] $bundle_unpack(bundle: Bundle, ptr: Pointer)` 651 652 * unpack a bundle and apply some operation to the data 653 654 `fun[lib="bundle"] $bundle_unpack_apply(data: Bundle, buf: Pointer, size: Integer, op: Operation)` 606 655 607 656 === concurrency === 608 657 609 * barrier operations 610 * global barrier creation658 ==== barrier operations ==== 659 * global barrier creation 611 660 612 `fun[lib="concurrency"] $gbarrier_create(scope: Scope, size: Integer): GBarrier`613 614 * global barrier destroy615 616 `fun[lib="concurreny"] $gbarrier_destroy(barrier: Gbarrier)`617 618 * local barrier creation661 `fun[lib="concurrency"] $gbarrier_create(scope: Scope, size: Integer): GBarrier` 662 663 * global barrier destroy 664 665 `fun[lib="concurreny"] $gbarrier_destroy(barrier: Gbarrier)` 666 667 * local barrier creation 619 668 620 `fun[lib="concurrency"] $barrier_create(scope: Scope, gbarrier: Gbarrier, place: Integer): Barrier`621 622 * local barrier destroy669 `fun[lib="concurrency"] $barrier_create(scope: Scope, gbarrier: Gbarrier, place: Integer): Barrier` 670 671 * local barrier destroy 623 672 624 `fun[lib="concurrency"] $barrier_destroy(barrier: Barrier)`673 `fun[lib="concurrency"] $barrier_destroy(barrier: Barrier)` 625 674 626 675 * barrier call 627 676 628 `fun [lib="concurrency"]$barrier_call(barrier: Barrier)`629 630 * collective records 631 * Type: `Collect_record`, `GCollect_checker`, and `Collect_checker`632 633 * global collective checker creation677 `fun $barrier_call(barrier: Barrier)` 678 679 ==== collective records ==== 680 * Type: `Collect_record`, `GCollect_checker`, and `Collect_checker` 681 682 * global collective checker creation 634 683 635 `fun[lib="concurrency"] $gcollect_checker_create(scope: Scope): Gcollect_checker`636 637 * global collective checker destroy684 `fun[lib="concurrency"] $gcollect_checker_create(scope: Scope): Gcollect_checker` 685 686 * global collective checker destroy 638 687 639 `fun[lib="concurrency"] $gcollect_checker_destroy(gchecker: Gcollect_checker)`640 641 * collective checker creation642 643 `fun[lib="concurrency"] $collect_checker_create(scope: Scope, gchecker: Gcollect_checker)`644 645 * collective checker destroy688 `fun[lib="concurrency"] $gcollect_checker_destroy(gchecker: Gcollect_checker)` 689 690 * collective checker creation 691 692 `fun[lib="concurrency"] $collect_checker_create(scope: Scope, gchecker: Gcollect_checker)` 693 694 * collective checker destroy 646 695 647 `fun[lib="concurrency"] $collect_checker_destroy(checker: Collect_checker)`648 649 * collective records checking696 `fun[lib="concurrency"] $collect_checker_destroy(checker: Collect_checker)` 697 698 * collective records checking 650 699 651 700 `fun[lib="concurrency"] $collect_check(checker: Collect_checker, place: Integer, nprocs: Integer, entries: Bundle)` 652 701 653 702 654 703 655 704
