79425456

Date: 2025-02-09 18:35:51
Score: 3
Natty:
Report link

I have found Accelerate framework and vImage functions, which look like what I am looking for, however documentation is scarce and I got lost in it.

The primary documentation for vImage, especially for older functions like this may actually be the headers, the C headers. If you were looking at that, you almost certainly would have found what you wanted because the functions are in there together.

At the time it was written, the tech pubs budget didn’t span the whole software stack, so it was the only way for engineers to communicate with developers about what these functions are for and how to use them. They didn’t let us write the main HTML developer documentation, and shut down the group’s Velocity Engine web page which detailed how to write AltiVec code, one of the last “rogue” pages on apple.com. Since then, some of the stuff has been “officially” documented, so YMMV, but I doubt much effort has gone into the subject “so you want to calculate Shanon Entropy?”

The “official” documentation process involves having a tech writer, trained to use techpub’s tools and Apple’s documentation policies review, summarize and rewrite the engineering provided documentation, in this case the headers, and put it up on the website. It alas doesn’t necessarily involve a lot of deep engineering insight, since the writer when they arrive on the project at day one usually doesn’t know more than you about how the framework works and any important details that need to be presented. So, unless new content was specifically developed for the web page it is in essence often just a (pretty looking) derivative work, especially in cases where the header documentation is detailed. This is why you’ll sometimes see documentation pages that look like:

// fictitious example

CGMakeRect

Make a CGRect.

Which is what happens when engineering wasn’t completely forthcoming with a torrent of details.

MetalPerformanceShaders.framework has some image statistics functions which would also serve this purpose, if your workload is on the GPU.

Reasons:
  • Blacklisted phrase (2): I am looking for
  • Long answer (-1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: Ian Ollmann