Here is my quick test implementation. I recycle the Rank Transformation.vi from the NI version and then sum the ranks of the 0 elements to make the correction for multiple ties. p-value.vi performs a linear interpolation on two consecutive integer p-values. You could add a check to only interpolate for non-integer values if you like. pk(i).vi uses native recursion to solve the recurrence relation for a p-value. The lookup table used by the NI version is probably faster, I just wanted a quick ground-up implementation.