reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
512 EXPECT_EQ(UMAP("{ A[] -> [i] : i <= 0; B[] -> [i] : i <= 0 }"), 513 beforeScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), false)); 514 EXPECT_EQ(UMAP("{ A[] -> [i] : i < 0; B[] -> [i] : i < 0 }"), 515 beforeScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), true)); 518 EXPECT_EQ(UMAP("{ [] -> [i, j] : i < 0; [] -> [i, j] : i = 0 and j <= 0 }"), 519 beforeScatter(UMAP("{ [] -> [0, 0] }"), false)); 520 EXPECT_EQ(UMAP("{ [] -> [i, j] : i < 0; [] -> [i, j] : i = 0 and j < 0 }"), 521 beforeScatter(UMAP("{ [] -> [0, 0] }"), true)); 524 EXPECT_EQ(UMAP("{ [i] -> [j] : j <= i }"), 525 beforeScatter(UMAP("{ [i] -> [i] }"), false)); 526 EXPECT_EQ(UMAP("{ [i] -> [j] : j < i }"), 527 beforeScatter(UMAP("{ [i] -> [i] }"), true)); 530 EXPECT_EQ(UMAP("[i] -> { [] -> [j] : j <= i }"), 531 beforeScatter(UMAP("[i] -> { [] -> [i] }"), false)); 532 EXPECT_EQ(UMAP("[i] -> { [] -> [j] : j < i }"), 533 beforeScatter(UMAP("[i] -> { [] -> [i] }"), true)); 536 EXPECT_EQ(UMAP("{ [] -> [i] : i <= 10 }"), 537 beforeScatter(UMAP("{ [] -> [0]; [] -> [10] }"), false)); 538 EXPECT_EQ(UMAP("{ [] -> [i] : i < 10 }"), 539 beforeScatter(UMAP("{ [] -> [0]; [] -> [10] }"), true)); 542 EXPECT_EQ(UMAP("{ [] -> [i] : 1 = 0 }"), 543 beforeScatter(UMAP("{ [] -> [i] : 1 = 0 }"), false)); 544 EXPECT_EQ(UMAP("{ [] -> [i] : 1 = 0 }"), 545 beforeScatter(UMAP("{ [] -> [i] : 1 = 0 }"), true)); 559 EXPECT_EQ(UMAP("{ A[] -> [i] : i >= 0; B[] -> [i] : i >= 0 }"), 560 afterScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), false)); 561 EXPECT_EQ(UMAP("{ A[] -> [i] : i > 0; B[] -> [i] : i > 0 }"), 562 afterScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), true)); 565 EXPECT_EQ(UMAP("{ [] -> [i, j] : i > 0; [] -> [i, j] : i = 0 and j >= 0 }"), 566 afterScatter(UMAP("{ [] -> [0, 0] }"), false)); 567 EXPECT_EQ(UMAP("{ [] -> [i, j] : i > 0; [] -> [i, j] : i = 0 and j > 0 }"), 568 afterScatter(UMAP("{ [] -> [0, 0] }"), true)); 571 EXPECT_EQ(UMAP("{ [i] -> [j] : j >= i }"), 572 afterScatter(UMAP("{ [i] -> [i] }"), false)); 573 EXPECT_EQ(UMAP("{ [i] -> [j] : j > i }"), 574 afterScatter(UMAP("{ [i] -> [i] }"), true)); 577 EXPECT_EQ(UMAP("[i] -> { [] -> [j] : j >= i }"), 578 afterScatter(UMAP("[i] -> { [] -> [i] }"), false)); 579 EXPECT_EQ(UMAP("[i] -> { [] -> [j] : j > i }"), 580 afterScatter(UMAP("[i] -> { [] -> [i] }"), true)); 583 EXPECT_EQ(UMAP("{ [] -> [i] : i >= 0 }"), 584 afterScatter(UMAP("{ [] -> [0]; [] -> [10] }"), false)); 585 EXPECT_EQ(UMAP("{ [] -> [i] : i > 0 }"), 586 afterScatter(UMAP("{ [] -> [0]; [] -> [10] }"), true)); 589 EXPECT_EQ(UMAP("{ }"), afterScatter(UMAP("{ }"), false)); 589 EXPECT_EQ(UMAP("{ }"), afterScatter(UMAP("{ }"), false)); 590 EXPECT_EQ(UMAP("{ }"), afterScatter(UMAP("{ }"), true)); 590 EXPECT_EQ(UMAP("{ }"), afterScatter(UMAP("{ }"), true)); 612 EXPECT_EQ(UMAP("{ A[] -> [i] : 0 < i < 10; B[] -> [i] : 0 < i < 10 }"), 613 betweenScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), 614 UMAP("{ A[] -> [10]; B[] -> [10] }"), false, false)); 615 EXPECT_EQ(UMAP("{ A[] -> [i] : 0 <= i < 10; B[] -> [i] : 0 <= i < 10 }"), 616 betweenScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), 617 UMAP("{ A[] -> [10]; B[] -> [10] }"), true, false)); 618 EXPECT_EQ(UMAP("{ A[] -> [i] : 0 < i <= 10; B[] -> [i] : 0 < i <= 10 }"), 619 betweenScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), 620 UMAP("{ A[] -> [10]; B[] -> [10] }"), false, true)); 621 EXPECT_EQ(UMAP("{ A[] -> [i] : 0 <= i <= 10; B[] -> [i] : 0 <= i <= 10 }"), 622 betweenScatter(UMAP("{ A[] -> [0]; B[] -> [0] }"), 623 UMAP("{ A[] -> [10]; B[] -> [10] }"), true, true)); 633 singleton(UMAP("{ }"), SPACE("{ [] -> [] }"))); 638 singleton(UMAP("{ [] -> [] }"), SPACE("{ [] -> [] }"))); 645 singleton(UMAP("{ [i] -> [i] : 0 <= i < 10 }"), SPACE("{ [i] -> [j] }"))); 651 singleton(UMAP("[i] -> { [i] -> [i] }"), SPACE("{ [i] -> [j] }"))); 659 EXPECT_EQ(0u, getNumScatterDims(UMAP("{ [] -> [] }"))); 660 EXPECT_EQ(1u, getNumScatterDims(UMAP("{ [] -> [i] }"))); 661 EXPECT_EQ(2u, getNumScatterDims(UMAP("{ [] -> [i,j] }"))); 662 EXPECT_EQ(3u, getNumScatterDims(UMAP("{ [] -> [i,j,k] }"))); 665 EXPECT_EQ(0u, getNumScatterDims(UMAP("{ A[] -> []; [] -> []}"))); 666 EXPECT_EQ(1u, getNumScatterDims(UMAP("{ A[] -> []; [] -> [i] }"))); 667 EXPECT_EQ(2u, getNumScatterDims(UMAP("{ A[] -> [i]; [] -> [i,j] }"))); 668 EXPECT_EQ(3u, getNumScatterDims(UMAP("{ A[] -> [i]; [] -> [i,j,k] }"))); 676 EXPECT_EQ(SPACE("{ [] }"), getScatterSpace(UMAP("{ [] -> [] }"))); 677 EXPECT_EQ(SPACE("{ [i] }"), getScatterSpace(UMAP("{ [] -> [i] }"))); 678 EXPECT_EQ(SPACE("{ [i,j] }"), getScatterSpace(UMAP("{ [] -> [i,j] }"))); 679 EXPECT_EQ(SPACE("{ [i,j,k] }"), getScatterSpace(UMAP("{ [] -> [i,j,k] }"))); 682 EXPECT_EQ(SPACE("{ [] }"), getScatterSpace(UMAP("{ A[] -> []; [] -> [] }"))); 684 getScatterSpace(UMAP("{ A[] -> []; [] -> [i] }"))); 686 getScatterSpace(UMAP("{ A[] -> [i]; [] -> [i,j] }"))); 688 getScatterSpace(UMAP("{ A[] -> [i]; [] -> [i,j,k] }"))); 696 EXPECT_EQ(UMAP("{ [i] -> [i] }"), makeIdentityMap(USET("{ [0] }"), false)); 697 EXPECT_EQ(UMAP("{ [0] -> [0] }"), makeIdentityMap(USET("{ [0] }"), true)); 700 EXPECT_EQ(UMAP("{ [] -> []; [i] -> [i] }"), 702 EXPECT_EQ(UMAP("{ [] -> []; [0] -> [0] }"), 706 EXPECT_EQ(UMAP("{ }"), makeIdentityMap(USET("{ }"), false)); 707 EXPECT_EQ(UMAP("{ }"), makeIdentityMap(USET("{ }"), true)); 717 EXPECT_EQ(UMAP("{ [B[] -> A[]] -> [] }"), 718 reverseDomain(UMAP("{ [A[] -> B[]] -> [] }"))); 740 EXPECT_EQ(UMAP("{ [1] -> [] }"), 741 shiftDim(UMAP("{ [0] -> [] }"), isl::dim::in, 0, 1)); 744 EXPECT_EQ(UMAP("{ [] -> [1] }"), 745 shiftDim(UMAP("{ [] -> [0] }"), isl::dim::out, 0, 1)); 753 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : 0 < i }"), 754 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 755 UMAP("{ Dom[] -> Elt[] }"), false, false, 757 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : 0 < i }"), 758 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 759 UMAP("{ Dom[] -> Elt[] }"), false, false, 761 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : 0 <= i }"), 762 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 763 UMAP("{ Dom[] -> Elt[] }"), false, true, 765 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : 0 <= i }"), 766 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 767 UMAP("{ Dom[] -> Elt[] }"), false, true, 770 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : i < 0 }"), 771 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 772 UMAP("{ Dom[] -> Elt[] }"), true, false, 774 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : i <= 0 }"), 775 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 776 UMAP("{ Dom[] -> Elt[] }"), true, false, 778 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : i < 0 }"), 779 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 780 UMAP("{ Dom[] -> Elt[] }"), true, true, 782 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[] : i <= 0 }"), 783 computeReachingWrite(UMAP("{ Dom[] -> [0] }"), 784 UMAP("{ Dom[] -> Elt[] }"), true, true, true)); 787 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom1[] : 0 < i < 10; [Elt[] -> [i]] -> " 789 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 790 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 792 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom1[] : 0 <= i < 10; [Elt[] -> [i]] -> " 794 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 795 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 797 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom1[] : 0 < i <= 10; [Elt[] -> [i]] -> " 799 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 800 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 802 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom1[] : 0 <= i <= 10; [Elt[] -> [i]] -> " 804 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 805 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 808 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom2[] : 0 < i < 10; [Elt[] -> [i]] -> " 810 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 811 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 813 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom2[] : 0 <= i < 10; [Elt[] -> [i]] -> " 815 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 816 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 818 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom2[] : 0 < i <= 10; [Elt[] -> [i]] -> " 820 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 821 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 823 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom2[] : 0 <= i <= 10; [Elt[] -> [i]] -> " 825 computeReachingWrite(UMAP("{ Dom1[] -> [0]; Dom2[] -> [10] }"), 826 UMAP("{ Dom1[] -> Elt[]; Dom2[] -> Elt[] }"), 830 EXPECT_EQ(UMAP("{ [Elt[] -> [i]] -> Dom[1] : 0 < i <= 10; [Elt[] -> [i]] -> " 832 computeReachingWrite(UMAP("{ Dom[i] -> [10i - 10] }"), 833 UMAP("{ Dom[1] -> Elt[]; Dom[2] -> Elt[] }"), 837 EXPECT_EQ(UMAP("[p] -> { [Elt[] -> [i]] -> Dom[] : p < i }"), 838 computeReachingWrite(UMAP("[p] -> { Dom[] -> [p] }"), 839 UMAP("{ Dom[] -> Elt[] }"), false, false, 844 UMAP("{ [Elt[] -> [i]] -> Dom[0] : 0 < i <= 3; [Elt[] -> [i]] -> Dom[1] " 847 computeReachingWrite(UMAP("{ Dom[i] -> [3i] : 0 <= i <= 4 }"), 848 UMAP("{ Dom[i] -> Elt[] : 0 <= i <= 4 }"), false, 862 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 < i < 10 }"), 863 computeArrayUnused(UMAP("{ Read[] -> [0]; Write[] -> [10] }"), 864 UMAP("{ Write[] -> Elt[] }"), 865 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 867 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 < i <= 10 }"), 868 computeArrayUnused(UMAP("{ Read[] -> [0]; Write[] -> [10] }"), 869 UMAP("{ Write[] -> Elt[] }"), 870 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 872 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 <= i < 10 }"), 873 computeArrayUnused(UMAP("{ Read[] -> [0]; Write[] -> [10] }"), 874 UMAP("{ Write[] -> Elt[] }"), 875 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 877 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 <= i <= 10 }"), 878 computeArrayUnused(UMAP("{ Read[] -> [0]; Write[] -> [10] }"), 879 UMAP("{ Write[] -> Elt[] }"), 880 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 884 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 < i <= 10 }"), 886 UMAP("{ Read[0] -> [-10]; Read[1] -> [0]; Write[] -> [10] }"), 887 UMAP("{ Write[] -> Elt[] }"), UMAP("{ Read[i] -> Elt[] }"), 887 UMAP("{ Write[] -> Elt[] }"), UMAP("{ Read[i] -> Elt[] }"), 891 EXPECT_EQ(UMAP("{}"), 892 computeArrayUnused(UMAP("{ Read[] -> [0] }"), UMAP("{}"), 892 computeArrayUnused(UMAP("{ Read[] -> [0] }"), UMAP("{}"), 893 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 897 EXPECT_EQ(UMAP("{ Elt[] -> [i] : i <= 0 }"), 898 computeArrayUnused(UMAP("{ Write[] -> [0] }"), 899 UMAP("{ Write[] -> Elt[] }"), UMAP("{}"), 899 UMAP("{ Write[] -> Elt[] }"), UMAP("{}"), 904 UMAP("{ Elt[] -> [i] : i <= 10 }"), 905 computeArrayUnused(UMAP("{ WriteA[] -> [0]; WriteB[] -> [10] }"), 906 UMAP("{ WriteA[] -> Elt[]; WriteB[] -> Elt[] }"), 907 UMAP("{}"), ReadEltInSameInst, false, true)); 912 UMAP("{ Elt[] -> [i] : 0 < i <= 10; Elt[] -> [i] : 20 < i <= 30 }"), 913 computeArrayUnused(UMAP("{ ReadA[] -> [0]; WriteA[] -> [10]; ReadB[] " 915 UMAP("{ WriteA[] -> Elt[]; WriteB[] -> Elt[] }"), 916 UMAP("{ ReadA[] -> Elt[]; ReadB[] -> Elt[] }"), 921 UMAP("{ Elt[] -> [i] : i <= 10 }"), 923 UMAP("{ WriteA[] -> [0]; WriteB[] -> [10]; Read[] -> [20] }"), 924 UMAP("{ WriteA[] -> Elt[]; WriteB[] -> Elt[] }"), 925 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, false, true)); 928 EXPECT_EQ(UMAP("{ Elt[] -> [i] : i <= 0 }"), 929 computeArrayUnused(UMAP("{ Write[] -> [0]; Read[] -> [10] }"), 930 UMAP("{ Write[] -> Elt[] }"), 931 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, 935 EXPECT_EQ(UMAP("{ Elt[] -> [i] : 0 < i <= 10 }"), 937 UMAP("{ ReadA[] -> [0]; Write[] -> [10]; ReadB[] -> [20] }"), 938 UMAP("{ Write[] -> Elt[] }"), 939 UMAP("{ ReadA[] -> Elt[]; ReadB[] -> Elt[] }"), 944 UMAP("{ Elt[] -> [i] : 0 < i <= 20 }"), 946 UMAP("{ Read[] -> [0]; WriteA[] -> [10]; WriteB[] -> [20] }"), 947 UMAP("{ WriteA[] -> Elt[]; WriteB[] -> Elt[] }"), 948 UMAP("{ Read[] -> Elt[] }"), ReadEltInSameInst, false, true)); 952 UMAP("{ Elt[] -> [i] : 0 < i <= 20 }"), 953 computeArrayUnused(UMAP("{ ReadA[] -> [0]; WriteA[] -> [10]; WriteB[] " 955 UMAP("{ WriteA[] -> Elt[]; WriteB[] -> Elt[] }"), 956 UMAP("{ ReadA[] -> Elt[]; ReadB[] -> Elt[] }"), 961 EXPECT_EQ(UMAP("{ Elt[] -> [i] : i < 0 }"), 962 computeArrayUnused(UMAP("{ RW[] -> [0] }"), 963 UMAP("{ RW[] -> Elt[] }"), 964 UMAP("{ RW[] -> Elt[] }"), true, false, false)); 965 EXPECT_EQ(UMAP("{ Elt[] -> [i] : i <= 0 }"), 966 computeArrayUnused(UMAP("{ RW[] -> [0] }"), 967 UMAP("{ RW[] -> Elt[] }"), 968 UMAP("{ RW[] -> Elt[] }"), true, false, true)); 969 EXPECT_EQ(UMAP("{ Elt[] -> [0] }"), 970 computeArrayUnused(UMAP("{ RW[] -> [0] }"), 971 UMAP("{ RW[] -> Elt[] }"), 972 UMAP("{ RW[] -> Elt[] }"), false, true, true)); 1028 EXPECT_EQ(UMAP("{}"), convertZoneToTimepoints(UMAP("{ [1] -> [] }"), 1028 EXPECT_EQ(UMAP("{}"), convertZoneToTimepoints(UMAP("{ [1] -> [] }"), 1030 EXPECT_EQ(UMAP("{ [0] -> [] }"), 1031 convertZoneToTimepoints(UMAP("{ [1] -> [] }"), isl::dim::in, true, 1033 EXPECT_EQ(UMAP("{ [1] -> [] }"), 1034 convertZoneToTimepoints(UMAP("{ [1] -> [] }"), isl::dim::in, false, 1037 UMAP("{ [0] -> []; [1] -> [] }"), 1038 convertZoneToTimepoints(UMAP("{ [1] -> [] }"), isl::dim::in, true, true)); 1041 EXPECT_EQ(UMAP("{}"), convertZoneToTimepoints(UMAP("{ [] -> [1] }"), 1041 EXPECT_EQ(UMAP("{}"), convertZoneToTimepoints(UMAP("{ [] -> [1] }"), 1043 EXPECT_EQ(UMAP("{ [] -> [0] }"), 1044 convertZoneToTimepoints(UMAP("{ [] -> [1] }"), isl::dim::out, true, 1046 EXPECT_EQ(UMAP("{ [] -> [1] }"), 1047 convertZoneToTimepoints(UMAP("{ [] -> [1] }"), isl::dim::out, false, 1049 EXPECT_EQ(UMAP("{ [] -> [0]; [] -> [1] }"), 1050 convertZoneToTimepoints(UMAP("{ [] -> [1] }"), isl::dim::out, true, 1067 UMAP( 1071 UMAP("{ DomainA[i,j] -> [RangeA1[i,k] -> RangeA2[j,k]];" 1080 EXPECT_EQ(UMAP("{ [Factor[] -> Domain[]] -> [Factor[] -> Range[]] }"), 1081 liftDomains(UMAP("{ Domain[] -> Range[] }"), USET("{ Factor[] }"))); 1082 EXPECT_EQ(UMAP("{ [Factor[l] -> Domain[i,k]] -> [Factor[l] -> Range[j,k]] }"), 1083 liftDomains(UMAP("{ Domain[i,k] -> Range[j,k] }"), 1088 UMAP("{ [FactorA[] -> DomainA[]] -> [FactorA[] -> RangeA[]];" 1092 liftDomains(UMAP("{ DomainA[] -> RangeA[]; DomainB[] -> RangeB[] }"), 1102 UMAP("{ [DomainDomain[] -> NewDomainRange[]] -> Range[] }"), 1103 applyDomainRange(UMAP("{ [DomainDomain[] -> DomainRange[]] -> Range[] }"), 1104 UMAP("{ DomainRange[] -> NewDomainRange[] }"))); 1106 UMAP("{ [DomainDomain[i,k] -> NewDomainRange[j,k,l]] -> Range[i,j] }"), 1108 UMAP("{ [DomainDomain[i,k] -> DomainRange[j,k]] -> Range[i,j] }"), 1109 UMAP("{ DomainRange[j,k] -> NewDomainRange[j,k,l] }"))); 1112 EXPECT_EQ(UMAP("{ [DomainDomainA[] -> NewDomainRangeA[]] -> RangeA[];" 1115 UMAP("{ [DomainDomainA[] -> DomainRangeA[]] -> RangeA[];" 1117 UMAP("{ DomainRangeA[] -> NewDomainRangeA[];"