Skip to content

Commit 7c7b729

Browse files
authored
1 parent b021fd0 commit 7c7b729

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

extension/apple/ExecuTorch/Exported/ExecuTorchModule.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,27 +126,27 @@ NS_SWIFT_NAME(Module)
126126
* Initializes a module with a file path, data path and a specified load mode.
127127
*
128128
* @param filePath A string representing the path to the ExecuTorch program file.
129-
* @param dataFilePath A string representing the path to a .ptd file with
129+
* @param dataFilePaths A list of strings representing paths to .ptd files with
130130
* external tensors and external data.
131131
* @param loadMode A value from ExecuTorchModuleLoadMode that determines the
132132
* file loading behavior.
133133
* @return An initialized ExecuTorchModule instance.
134134
*/
135135
- (instancetype)initWithFilePath:(NSString *)filePath
136-
dataFilePath:(NSString *)dataFilePath
136+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths
137137
loadMode:(ExecuTorchModuleLoadMode)loadMode
138138
NS_DESIGNATED_INITIALIZER;
139139

140140
/**
141141
* Initializes a module with a file path, data path and a specified load mode.
142142
*
143143
* @param filePath A string representing the path to the ExecuTorch program file.
144-
* @param dataFilePath A string representing the path to a .ptd file with
144+
* @param dataFilePaths A list of strings representing paths to .ptd files with
145145
* external tensors and external data.
146146
* @return An initialized ExecuTorchModule instance.
147147
*/
148148
- (instancetype)initWithFilePath:(NSString *)filePath
149-
dataFilePath:(NSString *)dataFilePath;
149+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths;
150150

151151
/**
152152
* Initializes a module with a file path and a specified load mode.

extension/apple/ExecuTorch/Exported/ExecuTorchModule.mm

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -250,13 +250,20 @@ @implementation ExecuTorchModule {
250250
}
251251

252252
- (instancetype)initWithFilePath:(NSString *)filePath
253-
dataFilePath:(NSString *)dataFilePath
253+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths
254254
loadMode:(ExecuTorchModuleLoadMode)loadMode {
255255
self = [super init];
256256
if (self) {
257+
// Convert NSArray<NSString *> to std::vector<std::string>
258+
std::vector<std::string> dataFilePathsVector;
259+
if (dataFilePaths != nil) {
260+
for (NSString *dataFile in dataFilePaths) {
261+
dataFilePathsVector.emplace_back(dataFile.UTF8String);
262+
}
263+
}
257264
_module = std::make_unique<Module>(
258265
filePath.UTF8String,
259-
dataFilePath.UTF8String,
266+
dataFilePathsVector,
260267
static_cast<Module::LoadMode>(loadMode)
261268
);
262269
_inputs = [NSMutableDictionary new];
@@ -266,21 +273,21 @@ - (instancetype)initWithFilePath:(NSString *)filePath
266273
}
267274

268275
- (instancetype)initWithFilePath:(NSString *)filePath
269-
dataFilePath:(NSString *)dataFilePath {
276+
dataFilePaths:(NSArray<NSString *> *)dataFilePaths {
270277
return [self initWithFilePath:filePath
271-
dataFilePath:dataFilePath
278+
dataFilePaths:dataFilePaths
272279
loadMode:ExecuTorchModuleLoadModeFile];
273280
}
274281

275282
- (instancetype)initWithFilePath:(NSString *)filePath
276283
loadMode:(ExecuTorchModuleLoadMode)loadMode {
277284
return [self initWithFilePath:filePath
278-
dataFilePath:@""
285+
dataFilePaths:@[]
279286
loadMode:loadMode];
280287
}
281288
- (instancetype)initWithFilePath:(NSString *)filePath {
282289
return [self initWithFilePath:filePath
283-
dataFilePath:@""
290+
dataFilePaths:@[]
284291
loadMode:ExecuTorchModuleLoadModeFile];
285292
}
286293

0 commit comments

Comments
 (0)