Princeton1/module5/src/main/java/com/hithomelabs/princeton1/module5/MeasurableHelper.java
hitanshu310 8c47ac248c
All checks were successful
sample gradle build and test / build (push) Successful in 52s
Adding benchmarking code (#17)
Reviewed-on: #17
Reviewed-by: kruti <krutis0201@gmail.com>
Co-authored-by: hitanshu310 <hitanshu98@gmail.com>
Co-committed-by: hitanshu310 <hitanshu98@gmail.com>
2025-02-19 19:53:59 +00:00

26 lines
766 B
Java

package com.hithomelabs.princeton1.module5;
import java.util.Comparator;
public interface MeasurableHelper extends ComparatorHelper{
static <T> boolean less(T v, T w, Comparator<T> cmp, SortingMetaData metaData) {
if (metaData != null)
metaData.incrementCompares();
return ComparatorHelper.less(v, w, cmp);
}
static <T> boolean equals(T v, T w, Comparator<T> cmp, SortingMetaData metaData) {
if (metaData != null)
metaData.incrementCompares();
return ComparatorHelper.equals(v, w, cmp);
}
static <T> void exch(T[] arr, int j, int i, SortingMetaData metaData) {
if (metaData != null)
metaData.incrementExchanges();
ComparableHelper.exch(arr, j, i);
}
}