# Accessing derived-data type array components via pointers

**URL:** <https://fortran-lang.discourse.group/t/accessing-derived-data-type-array-components-via-pointers/10869>\
**Category:** Help\
**Created:** [April 23, 2026, 5:08pm UTC](https://fortran-lang.discourse.group/t/accessing-derived-data-type-array-components-via-pointers/10869 "2026-04-23T17:08:52Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![ivanpribec](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/ivanpribec/32/3290_2.png) [@ivanpribec](https://fortran-lang.discourse.group/u/ivanpribec)\
**Post date:** [April 24, 2026, 10:26pm UTC](https://fortran-lang.discourse.group/t/accessing-derived-data-type-array-components-via-pointers/10869/15 "2026-04-24T22:26:13Z")

</div>

The callback solution of @jwmwalrus reminds me a bit of the [Apple Accelerate Quadrature](https://developer.apple.com/documentation/accelerate/quadrature/) library. Many numerical quadrature libraries expect the user to provide a function which evaluates a _scalar_ integrand\_. This “cripples” the use of SIMD parallelism. But in Accelerate, the functions expects a “vector callback”.

The Apple documentation only shows the Swift API, but at least last time I checked there was also an (Objective-)C API, which can be combined with [Fortran callbacks using C interop](https://codeberg.org/ivan-pi/shed/src/branch/main/apple_integrate/main.c).

I’ve mentioned this idea on Discourse before: [Iso\_c\_binding: pass an array from c to fortran (Edit: python interop content) - #26 by ivanpribec](https://fortran-lang.discourse.group/t/iso-c-binding-pass-an-array-from-c-to-fortran-edit-python-interop-content/514/26)

---

_[View the full topic](https://fortran-lang.discourse.group/t/accessing-derived-data-type-array-components-via-pointers/10869)._
