Exploring Inline Arrays

Inline arrays have been introduced as new feature in C# 12. As the feature is preview at the time of writing, it may change before the .NET team releases the final version of C#.

A type attributed with inline array can be used to represent a fixed-size, contiguous sequence of primitives. The runtime and language provide type and overrun safe indexing operations to the underlying primitives.

At the time of writing one can define an inline array by applying the [InlineArray] attribute on a struct, that has a single field.

[System.Runtime.CompilerServices.InlineArray(8)]
struct Octet
{
    private int _element0;
}

Find out more


IDE0005 as Build Error

I recently set up the IDE0005 .editorconfig file rule to break the CLI build. This is an IDE rule, that normally is not emitted as warnings / errors in the CLI build.

IDE0005 rule flags unnecessary using directives. It wraps CS8019 that also does the same.

Setup

Add an .editorconfig file containing the rule and set the severity as a warning. It may be also set as an error if one prefers to get a build error without setting warnings to break builds.

Find out more


An approach to pseudo-Median with SIMD

In a previous posts I looked into using Single instruction, multiple data, SIMD to find the Median value in a sample of integer values as well as I looked into generating pairwise averages.

The definition of median in case of

  • an odd sample size, find 'middle' element of the ordered samples.

  • an even sample size, find the 2 elements in the middle of an ordered sample size, and calculate the average of those.

I have recently came across a blog post from Andrey Akinshin proposing to benefits of using Hodges-Lehmann location estimator to calculate a pseudo-median value.

Find out more


An approach to Walsh pais with SIMD

In a previous posts I looked into using Single instruction, multiple data, SIMD to find the Median value in a sample integers.

The definition of median in case of

  • an odd sample size, find 'middle' element of the ordered samples.

  • an even sample size, find the 2 elements in the middle of an ordered sample size, and calculate the average of those.

I have recently came across a blog post from Andrey Akinshin proposing to benefits of using Hodges-Lehmann location estimator to calculate a pseudo median.

Find out more


An approach to 95th Percentile with SIMD

Introduction

In a previous post I looked into using Single instruction, multiple data, SIMD to Sum an array of integer elements and to find the Median value of sample.

When working with statistical data, we often need to find the 95th percentile element of a sample. Calculating the Sum is useful for finding the mean value but finding the 95th percentile element requires a different approach. However, the P95 algorithm is similar to the way the Median element is found.

The 95th percentile is a statistical term that means the value below which 95% of the data in a given set is found. For example, if you have a set of test scores, the 95th percentile score is the one that is higher than 95% of the other scores. You can calculate the 95th percentile using this formula: n = (P/100) x N, where P = percentile, N = number of values in the data set, and n = ordinal rank of the given set. The 95th percentile is often used to measure service response times, as it allows for burstable usage patterns.

Find out more