whisper.cpp / src /coreml /whisper-compat.m
glaszig
coreml : backport CoreML features to macos < 14 (#3255)
dc0917f unverified
#import "whisper-compat.h"
#import <Foundation/Foundation.h>
@implementation MLModel (Compat)
#if !defined(MAC_OS_X_VERSION_14_00) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_14_00
- (void) predictionFromFeatures:(id<MLFeatureProvider>) input
completionHandler:(void (^)(id<MLFeatureProvider> output, NSError * error)) completionHandler {
[NSOperationQueue.new addOperationWithBlock:^{
NSError *error = nil;
id<MLFeatureProvider> prediction = [self predictionFromFeatures:input error:&error];
[NSOperationQueue.mainQueue addOperationWithBlock:^{
completionHandler(prediction, error);
}];
}];
}
- (void) predictionFromFeatures:(id<MLFeatureProvider>) input
options:(MLPredictionOptions *) options
completionHandler:(void (^)(id<MLFeatureProvider> output, NSError * error)) completionHandler {
[NSOperationQueue.new addOperationWithBlock:^{
NSError *error = nil;
id<MLFeatureProvider> prediction = [self predictionFromFeatures:input options:options error:&error];
[NSOperationQueue.mainQueue addOperationWithBlock:^{
completionHandler(prediction, error);
}];
}];
}
#endif
@end