OpenMatriX 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Debian-HOWTO.md +18 -11
- data/README.md +5 -0
- data/lib/OpenMatriX.rb +13 -5
- data/lib/OpenMatriX/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9756eb016b4fc012dea543550b67beaf6038102
|
4
|
+
data.tar.gz: 3e6b86681e09163cc8480bf180277ae60903cd6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4593f8addcf7e95215217b837de8fe05358713e5be1c37196b4872e19da9d23db131880ae98c9c02ce7d6a7062b454b6c41e11b9ca01812d6aedb705f84f8198
|
7
|
+
data.tar.gz: 2156c6007e7a4717984da7c0499afc3be59592988464f770d757420e5075de5e0e388e2422a2df672746b54cd29b7ed4c86d48b81e595bb77240005477586776
|
data/Debian-HOWTO.md
CHANGED
@@ -1,11 +1,20 @@
|
|
1
1
|
# Debian Installation and Use Howto
|
2
2
|
|
3
3
|
This how-to MAY be applicable to other linux distros. This was written while making stuff work
|
4
|
-
on a Debian Jessie virtual machine that was upgraded from Debian Wheezy.
|
4
|
+
on a Debian Jessie virtual machine that was upgraded from Debian Wheezy. After realizing that
|
5
|
+
the virtual machine had a 32-bit OS and there is an addressing error somewhere, an attempt was
|
6
|
+
made to upgrade from 32-bit to 64-bit. This did not go well and left the virtual machine in
|
7
|
+
an entirely messed up state. A new virtual machine was built with a fresh install of Debian
|
8
|
+
Jessie (64-bit this time!) and all of these were reviewed and some revisions were made.
|
5
9
|
|
6
10
|
# Prep
|
7
11
|
|
8
|
-
First off,
|
12
|
+
First off, make sure gcc, g++, and build-essentials are installed.
|
13
|
+
```
|
14
|
+
sudo apt-get install -y gcc g++ build-essentials
|
15
|
+
```
|
16
|
+
|
17
|
+
Second off, remove the included hdf5 distro if it exists. You need 1.8.15, Jessie stable comes
|
9
18
|
with 1.8.13. And make sure you have 64 bit Debian. THIS WILL NOT WORK WITH A
|
10
19
|
32 BIT OPERATING SYSTEM.
|
11
20
|
|
@@ -13,7 +22,11 @@ with 1.8.13. And make sure you have 64 bit Debian. THIS WILL NOT WORK WITH A
|
|
13
22
|
sudo apt-get remove libhdf5-dev
|
14
23
|
```
|
15
24
|
|
16
|
-
|
25
|
+
# HDF Library Installation
|
26
|
+
|
27
|
+
Download the source for hdf5 and szip from hdf5's webpage and un-tar it, compile, test (optional, but highly recommended),
|
28
|
+
and install it:
|
29
|
+
|
17
30
|
```
|
18
31
|
wget http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz
|
19
32
|
gunzip szip-2.1.tar.gz
|
@@ -22,6 +35,7 @@ rm szip-2.1.tar
|
|
22
35
|
cd szip-2.1
|
23
36
|
./configure --prefix=/usr/local/hdf5
|
24
37
|
make
|
38
|
+
make check
|
25
39
|
sudo make install
|
26
40
|
|
27
41
|
wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.15-patch1.tar
|
@@ -46,11 +60,4 @@ Then, reload the linker:
|
|
46
60
|
```
|
47
61
|
sudo ldconfig
|
48
62
|
```
|
49
|
-
|
50
|
-
# Landing
|
51
|
-
|
52
|
-
Install Ruby and Rails:
|
53
|
-
```
|
54
|
-
sudo apt-get install ruby
|
55
|
-
sudo apt-get install rubygems
|
56
|
-
gem install rails
|
63
|
+
At this point, the gem should work
|
data/README.md
CHANGED
@@ -57,6 +57,11 @@ puts tt.getIJ(i,j) # Returns value at i,j
|
|
57
57
|
file.close()
|
58
58
|
```
|
59
59
|
|
60
|
+
## Linux Notes
|
61
|
+
|
62
|
+
This has only been tested on Debian Jessie, and it MUST be a 64-bit version. See
|
63
|
+
the [howto](Debian-HOWTO.md).
|
64
|
+
|
60
65
|
## Important Concepts for Non-Travel-Modelers
|
61
66
|
|
62
67
|
Note that our use of matrices may be a little different from others', and we
|
data/lib/OpenMatriX.rb
CHANGED
@@ -250,6 +250,9 @@ module OMX
|
|
250
250
|
#ssize_t H5Lget_name_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id )
|
251
251
|
attach_function :tNames2, :H5Lget_name_by_idx, [H5Types.hid_t, :string, :int, :int, :int, :pointer, :int, :int ], :int
|
252
252
|
|
253
|
+
# hid_t H5Pcreate( hid_t cls_id )
|
254
|
+
attach_function :createpl, :H5Pcreate, [H5Types.hid_t], H5Types.hid_t64
|
255
|
+
|
253
256
|
def initialize(file)
|
254
257
|
@id = file.id
|
255
258
|
@gId = gOpen(@id, "data",0)
|
@@ -267,19 +270,24 @@ module OMX
|
|
267
270
|
def getTableNames()
|
268
271
|
nT = self.getNTables()-1
|
269
272
|
gName = FFI::MemoryPointer.new(:string)
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
273
|
+
#idxOrder = OMX::h5_INDEX_CRT_ORDER
|
274
|
+
#ii = OMX::h5_ITER_INC
|
275
|
+
puts "before pl"
|
276
|
+
puts "link access constant = #{OMX::h5P_CLS_LINK_ACCESS_ID}"
|
277
|
+
pl = createpl(OMX::h5P_CLS_LINK_ACCESS_ID)
|
278
|
+
puts "pl = #{pl}, pl.class = #{pl.class}"
|
274
279
|
tN ||= []
|
275
280
|
for t in 0..nT
|
276
|
-
|
281
|
+
size = 1 + tNames2(@gId, ".", 0, 0, t, nil, 0, createpl(OMX::h5P_CLS_LINK_ACCESS_ID))
|
282
|
+
puts "size = #{size}"
|
283
|
+
tn2o = tNames2(@gId, ".", 0, 0, t, gName, size, pl)
|
277
284
|
#puts "gName = #{gName.read_string()}"
|
278
285
|
tN << gName.read_string()
|
279
286
|
end
|
280
287
|
return(tN)
|
281
288
|
end
|
282
289
|
|
290
|
+
|
283
291
|
end #class OMXTables
|
284
292
|
|
285
293
|
#Class to read the data from the OMX file
|
data/lib/OpenMatriX/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: OpenMatriX
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Rohne
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|