Büyük bir ana diziye sahip olmak ve alt dizileri kullanarak farklı bölümlerine başvurmak istiyorum. Şu anda bunu yapmak için ofset indisleri kullanıyorum, ancak bu şekilde yapmak çok karmaşık olabilir.Fortran'da işaretçiler kullanarak alt diziler oluşturabilir miyim?
Bir alt boyut dizisi (9) ve alt_diziler1 ana_dizisinin ilk 3 öğesine işaret eden alt_diziler2 alt_dizisi2'nin sonraki 3 öğeye ve alt_dizge3 noktalarına işaret edecek şekilde bir alt boyut dizisi (3) alabilir miyim? son 3 öğe?
Örneğin, diziler şöyle tanımlanacaktır:
integer, dimension(9) :: master_array
integer, dimension(3) :: sub_array1, sub_array2, sub_array3
dizileri arasındaki ilişki şöyle olacaktır: Bundan başka
sub_array1(1) -> master_array(1)
sub_array1(2) -> master_array(2)
sub_array1(3) -> master_array(3)
sub_array2(1) -> master_array(4)
sub_array2(2) -> master_array(5)
sub_array2(3) -> master_array(6)
sub_array3(1) -> master_array(7)
sub_array3(2) -> master_array(8)
sub_array3(3) -> master_array(9)
, sahip olacak şekilde karıştırılarak veri türleri olması mümkündür Daha büyük bir ana dizi tamsayı içinde bir alt alt dizisi?
Teşekkürler, bu tam olarak aradığım şey. GPU programlama ve CUDA hakkında bir şey biliyor olsaydınız, geziyordum? CUDA'daki paylaşılan bellek dizileri için aynı şeyi yapmaya çalışıyorum, ancak 'işaretçi' ve 'hedef' özniteliklerinin 'paylaşılan' öznitelikle çakışması mümkün görünmüyor – Eddy
Paylaşılan belleğe işaretçiler biraz CUDA C'de bile garip (OpenCL'de iyi olmasına rağmen); Onlara desteklerin pg fortran ile nasıl olduğu hakkında hiçbir fikrim yok. –