Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/torch/nn.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Köpf <andreas.koepf@xamla.com>2015-12-17 12:43:49 +0300
committersoumith <soumith@gmail.com>2015-12-30 00:38:06 +0300
commitbaf9255c6cf6ea6fb5b5b804d264d49f16d5ce81 (patch)
tree5647209ca77cef0be966aa4137299050142d7955 /THNN.lua
parent410fb11e2ec0b11fabbbbccfd5c888538042097c (diff)
Add package.searchpath polyfill for LUA 5.1 backward compatibility
Diffstat (limited to 'THNN.lua')
-rw-r--r--THNN.lua22
1 files changed, 19 insertions, 3 deletions
diff --git a/THNN.lua b/THNN.lua
index bfd94f8..1e2a88f 100644
--- a/THNN.lua
+++ b/THNN.lua
@@ -2,9 +2,6 @@ local ffi = require 'ffi'
local THNN = {}
--- load libTHNN
-THNN.C = ffi.load(package.searchpath('libTHNN', package.cpath))
-
local generic_THNN_h = [[
TH_API void THNN_(Abs_updateOutput)(
THNNState *state,
@@ -47,6 +44,25 @@ typedef struct {
} THGenerator;
]]
+-- polyfill for LUA 5.1
+if not package.searchpath then
+ local sep = package.config:sub(1,1)
+ function package.searchpath(mod, path)
+ mod = mod:gsub('%.', sep)
+ for m in path:gmatch('[^;]+') do
+ local nm = m:gsub('?', mod)
+ local f = io.open(nm, 'r')
+ if f then
+ f:close()
+ return nm
+ end
+ end
+ end
+end
+
+-- load libTHNN
+THNN.C = ffi.load(package.searchpath('libTHNN', package.cpath))
+
ffi.cdef(base_declarations)
-- expand macros, allow to use original lines from lib/THNN/generic/THNN.h