File size: 1,246 Bytes
dc0917f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#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