chapel

    6熱度

    1回答

    我試圖返回數組的一個片段的引用,但正在以下編譯時錯誤(其中違規行爲slice test.chpl:9: error: illegal expression to return by ref 返回全陣列工作正常,一樣。在主程序中採取參照切片 是否有一個正確的方式提前返回裁判切片感謝 record R { var A : [0.. #10] int; proc full() re

    1熱度

    1回答

    我怎樣才能找出哪些任務正在執行一個 循環的迭代? 例如,我想獲得不同DynamicIters如何表現的感覺, use DynamicIters; var r = 1..1000; var A: [r] int; forall i in adaptive(r) { A[i] = ???; } 我可以用here.id發現什麼語言環境的FORALL循環已經提上了 迭代,但我不不

    2熱度

    1回答

    我有一個類,其中包含一個具有eltTypes數組的字段。這看起來是這樣的: type eltType; var size = 5; var elementsDomain: domain(1) = {0..size-1}; var elements: [elementsDomain] eltType; 後來,我有這樣的使用了這個(仍然類的內部)的方法: proc add(eltType e

    0熱度

    1回答

    所以我有一個教堂問題,我似乎無法弄清楚。我有一個可以設置大小的隊列。唯一的是它是設置大小,並用一堆0填充隊列(這是有道理的)。我試圖用null而不是數字值填充隊列,所以稍後當我使用add方法時,我可以檢查隊列是否爲空。我附加了如何設置一切的圖像。讓我知道你們是否有任何指導或想法。 是我得到的錯誤是: 錯誤:在分配從字符串類型不匹配爲int(64) 我一定要在這裏做了錯誤的方式。

    3熱度

    1回答

    當我嘗試將對象轉換爲字符串時,是否存在被調用的默認方法? (如的toString Java或__str__在Python)我希望能夠做對象數組以下,但其中一些可能是零: for item in array { writeln(item : string); }

    5熱度

    1回答

    與其他語言不同,Chapel中沒有allocate或new語法用於在堆上分配數組,而是使用通常的「聲明」類語法。例如,在下面的代碼,I「聲明」兩個陣列在功能A和B基於正式(虛設)參數: proc test(n, D) { var A: [1..n] real; // local array var B: [D] real; // local array writ

    2熱度

    1回答

    在下面的代碼中,我試圖通過使用var或ref來獲取數組A的第1行和第2行。在這裏,我的理解是,var總是創建一個新的數組,而ref創建一個別名(或引用)到右側。 var A: [1..2, 1..3] int; A = 0; var row1 = A[ 1, .. ]; ref row2 = A[ 2, .. ]; row1 = 10; row2 = 20; writeln("r

    2熱度

    1回答

    我想並行計算一些信息並使用cobegin以外的結果。 更確切地說,我的要求是檢索這樣 var a,b: domain(1,stridable=true); cobegin{ a = foo1(); b = foo2(); } foo3(a,b); 我知道sync/single類型的,但沒有爲工作域的域(以及其他非基本類型)。 注意: 在程序中使用out參數也不起作用。

    2熱度

    1回答

    我正在挖掘Chapel,而我被卡在切片函數內的矩陣。該函數在接收到矩陣如下: proc outer_function(x: [?DX]) { var number_rows: int = x.shape(1); var number_columns: int = DX.rank; var result: [1..number_columns] real;

    1熱度

    1回答

    我有一些代碼,我認爲應該是這樣的: on Locales[0] { var slice: domain(1) = {0..#widthOfLocaleMatrix}; on Locales[1] { slice(0) = A.localSubdomain(); } var localSlice: [slice(0)] int = A[slice(0