yinspire 0.1.0

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.
Files changed (78) hide show
  1. data/README +24 -0
  2. data/bench/pq/Makefile +5 -0
  3. data/bench/pq/bench.cc +321 -0
  4. data/bench/pq/bench.rb +125 -0
  5. data/bench/pq/bench_binaryheap.h +46 -0
  6. data/bench/pq/bench_calendarqueue.h +58 -0
  7. data/bench/pq/bench_pairingheap.h +61 -0
  8. data/bench/pq/bench_stlpq.h +46 -0
  9. data/bench/pq/benchmark.h +225 -0
  10. data/bench/pq/distribution.h +93 -0
  11. data/bench/pq/make.rb +24 -0
  12. data/bin/yinspire +186 -0
  13. data/examples/nets/gereon2005.c.json +93723 -0
  14. data/examples/nets/gereon2005.yin +232650 -0
  15. data/examples/nets/skorpion.graphml +396 -0
  16. data/examples/nets/spiketrains_angle_180.txt +8 -0
  17. data/lib/Algorithms/Array.h +52 -0
  18. data/lib/Algorithms/BinaryHeap.h +265 -0
  19. data/lib/Algorithms/CalendarQueue.h +257 -0
  20. data/lib/Algorithms/IndexedBinaryHeap.h +90 -0
  21. data/lib/Algorithms/PairingHeap.h +169 -0
  22. data/lib/Allocators/ChunkedFreelistAllocator.h +96 -0
  23. data/lib/Allocators/MemoryAllocator.h +45 -0
  24. data/lib/Allocators/RubyMemoryAllocator.h +37 -0
  25. data/lib/Yinspire.rb +69 -0
  26. data/lib/Yinspire/All.rb +10 -0
  27. data/lib/Yinspire/Core/NeuralEntity.rb +133 -0
  28. data/lib/Yinspire/Core/Neuron.rb +162 -0
  29. data/lib/Yinspire/Core/Scheduling/NeuralEntity.rb +123 -0
  30. data/lib/Yinspire/Core/Scheduling/Simulator.rb +94 -0
  31. data/lib/Yinspire/Core/Simulator.rb +36 -0
  32. data/lib/Yinspire/Core/StimuliMixin.rb +103 -0
  33. data/lib/Yinspire/Core/Stimulus.rb +25 -0
  34. data/lib/Yinspire/Core/Synapse.rb +64 -0
  35. data/lib/Yinspire/Dumpers/Dumper.rb +19 -0
  36. data/lib/Yinspire/Dumpers/Dumper_Dot.rb +28 -0
  37. data/lib/Yinspire/Loaders/GraphML.rb +84 -0
  38. data/lib/Yinspire/Loaders/Loader.rb +31 -0
  39. data/lib/Yinspire/Loaders/Loader_GraphML.rb +97 -0
  40. data/lib/Yinspire/Loaders/Loader_JSON.rb +181 -0
  41. data/lib/Yinspire/Loaders/Loader_Spike.rb +42 -0
  42. data/lib/Yinspire/Loaders/Loader_Yin.rb +62 -0
  43. data/lib/Yinspire/Loaders/YinScanner.rb +247 -0
  44. data/lib/Yinspire/Models/Neuron_Base.rb +38 -0
  45. data/lib/Yinspire/Models/Neuron_Input.rb +12 -0
  46. data/lib/Yinspire/Models/Neuron_InputOutput.rb +39 -0
  47. data/lib/Yinspire/Models/Neuron_Output.rb +15 -0
  48. data/lib/Yinspire/Models/Neuron_SRM01.rb +50 -0
  49. data/lib/Yinspire/Models/Neuron_SRM02.rb +64 -0
  50. data/lib/Yinspire/Models/Synapse_Hebb.rb +67 -0
  51. data/pure_cpp/Makefile +22 -0
  52. data/pure_cpp/README +2 -0
  53. data/pure_cpp/src/algo/binary_heap.h +277 -0
  54. data/pure_cpp/src/algo/indexed_binary_heap.h +90 -0
  55. data/pure_cpp/src/json/json.cc +542 -0
  56. data/pure_cpp/src/json/json.h +182 -0
  57. data/pure_cpp/src/json/json_parser.cc +685 -0
  58. data/pure_cpp/src/json/json_parser.h +15 -0
  59. data/pure_cpp/src/json/json_parser.rl +213 -0
  60. data/pure_cpp/src/main.cc +49 -0
  61. data/pure_cpp/src/memory_allocator.h +45 -0
  62. data/pure_cpp/src/neural_entity.cc +208 -0
  63. data/pure_cpp/src/neural_entity.h +243 -0
  64. data/pure_cpp/src/neuron.cc +136 -0
  65. data/pure_cpp/src/neuron.h +70 -0
  66. data/pure_cpp/src/neuron_srm_01.cc +77 -0
  67. data/pure_cpp/src/neuron_srm_01.h +36 -0
  68. data/pure_cpp/src/simulator.cc +151 -0
  69. data/pure_cpp/src/simulator.h +116 -0
  70. data/pure_cpp/src/synapse.cc +117 -0
  71. data/pure_cpp/src/synapse.h +60 -0
  72. data/pure_cpp/src/types.h +18 -0
  73. data/run.rb +68 -0
  74. data/tools/conv_jsonc_to_yin.rb +165 -0
  75. data/tools/converter.rb +93 -0
  76. data/tools/json_writer.rb +122 -0
  77. data/yinspire.gemspec +20 -0
  78. metadata +156 -0
@@ -0,0 +1,20 @@
1
+ require 'rubygems'
2
+
3
+ spec = Gem::Specification.new do |s|
4
+ s.name = "yinspire"
5
+ s.version = "0.1.0"
6
+ s.summary = "An efficient Spiking Neural Net Simulator"
7
+ s.files = Dir['**/*']
8
+ s.add_dependency('cplus2ruby', '>= 1.1.1')
9
+ s.executables = ['yinspire']
10
+
11
+ s.author = "Michael Neumann"
12
+ s.email = "mneumann@ntecs.de"
13
+ s.homepage = "http://www.ntecs.de/projects/yinspire/"
14
+ s.rubyforge_project = "yinspire"
15
+ end
16
+
17
+ if __FILE__ == $0
18
+ Gem::manage_gems
19
+ Gem::Builder.new(spec).build
20
+ end
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yinspire
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Neumann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-03-31 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: cplus2ruby
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.1.1
23
+ version:
24
+ description:
25
+ email: mneumann@ntecs.de
26
+ executables:
27
+ - yinspire
28
+ extensions: []
29
+
30
+ extra_rdoc_files: []
31
+
32
+ files:
33
+ - bench
34
+ - bench/pq
35
+ - bench/pq/bench_pairingheap.h
36
+ - bench/pq/bench_binaryheap.h
37
+ - bench/pq/bench.rb
38
+ - bench/pq/bench_calendarqueue.h
39
+ - bench/pq/Makefile
40
+ - bench/pq/distribution.h
41
+ - bench/pq/make.rb
42
+ - bench/pq/bench_stlpq.h
43
+ - bench/pq/bench.cc
44
+ - bench/pq/benchmark.h
45
+ - yinspire.gemspec
46
+ - pure_cpp
47
+ - pure_cpp/src
48
+ - pure_cpp/src/algo
49
+ - pure_cpp/src/algo/indexed_binary_heap.h
50
+ - pure_cpp/src/algo/binary_heap.h
51
+ - pure_cpp/src/neuron.cc
52
+ - pure_cpp/src/neural_entity.cc
53
+ - pure_cpp/src/neuron.h
54
+ - pure_cpp/src/simulator.h
55
+ - pure_cpp/src/neuron_srm_01.h
56
+ - pure_cpp/src/neural_entity.h
57
+ - pure_cpp/src/memory_allocator.h
58
+ - pure_cpp/src/synapse.h
59
+ - pure_cpp/src/main.cc
60
+ - pure_cpp/src/synapse.cc
61
+ - pure_cpp/src/json
62
+ - pure_cpp/src/json/json_parser.rl
63
+ - pure_cpp/src/json/json_parser.h
64
+ - pure_cpp/src/json/json.cc
65
+ - pure_cpp/src/json/json.h
66
+ - pure_cpp/src/json/json_parser.cc
67
+ - pure_cpp/src/neuron_srm_01.cc
68
+ - pure_cpp/src/simulator.cc
69
+ - pure_cpp/src/types.h
70
+ - pure_cpp/Makefile
71
+ - pure_cpp/README
72
+ - lib
73
+ - lib/Allocators
74
+ - lib/Allocators/MemoryAllocator.h
75
+ - lib/Allocators/ChunkedFreelistAllocator.h
76
+ - lib/Allocators/RubyMemoryAllocator.h
77
+ - lib/Yinspire.rb
78
+ - lib/Yinspire
79
+ - lib/Yinspire/Models
80
+ - lib/Yinspire/Models/Neuron_Base.rb
81
+ - lib/Yinspire/Models/Synapse_Hebb.rb
82
+ - lib/Yinspire/Models/Neuron_Input.rb
83
+ - lib/Yinspire/Models/Neuron_Output.rb
84
+ - lib/Yinspire/Models/Neuron_InputOutput.rb
85
+ - lib/Yinspire/Models/Neuron_SRM01.rb
86
+ - lib/Yinspire/Models/Neuron_SRM02.rb
87
+ - lib/Yinspire/Core
88
+ - lib/Yinspire/Core/StimuliMixin.rb
89
+ - lib/Yinspire/Core/NeuralEntity.rb
90
+ - lib/Yinspire/Core/Scheduling
91
+ - lib/Yinspire/Core/Scheduling/Simulator.rb
92
+ - lib/Yinspire/Core/Scheduling/NeuralEntity.rb
93
+ - lib/Yinspire/Core/Synapse.rb
94
+ - lib/Yinspire/Core/Neuron.rb
95
+ - lib/Yinspire/Core/Simulator.rb
96
+ - lib/Yinspire/Core/Stimulus.rb
97
+ - lib/Yinspire/Dumpers
98
+ - lib/Yinspire/Dumpers/Dumper.rb
99
+ - lib/Yinspire/Dumpers/Dumper_Dot.rb
100
+ - lib/Yinspire/Loaders
101
+ - lib/Yinspire/Loaders/Loader_Yin.rb
102
+ - lib/Yinspire/Loaders/Loader_GraphML.rb
103
+ - lib/Yinspire/Loaders/Loader.rb
104
+ - lib/Yinspire/Loaders/YinScanner.rb
105
+ - lib/Yinspire/Loaders/GraphML.rb
106
+ - lib/Yinspire/Loaders/Loader_Spike.rb
107
+ - lib/Yinspire/Loaders/Loader_JSON.rb
108
+ - lib/Yinspire/All.rb
109
+ - lib/Algorithms
110
+ - lib/Algorithms/IndexedBinaryHeap.h
111
+ - lib/Algorithms/Array.h
112
+ - lib/Algorithms/PairingHeap.h
113
+ - lib/Algorithms/CalendarQueue.h
114
+ - lib/Algorithms/BinaryHeap.h
115
+ - bin
116
+ - bin/yinspire
117
+ - README
118
+ - run.rb
119
+ - examples
120
+ - examples/nets
121
+ - examples/nets/gereon2005.c.json
122
+ - examples/nets/spiketrains_angle_180.txt
123
+ - examples/nets/skorpion.graphml
124
+ - examples/nets/gereon2005.yin
125
+ - tools
126
+ - tools/converter.rb
127
+ - tools/json_writer.rb
128
+ - tools/conv_jsonc_to_yin.rb
129
+ has_rdoc: false
130
+ homepage: http://www.ntecs.de/projects/yinspire/
131
+ post_install_message:
132
+ rdoc_options: []
133
+
134
+ require_paths:
135
+ - lib
136
+ required_ruby_version: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: "0"
141
+ version:
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: "0"
147
+ version:
148
+ requirements: []
149
+
150
+ rubyforge_project: yinspire
151
+ rubygems_version: 1.1.0
152
+ signing_key:
153
+ specification_version: 2
154
+ summary: An efficient Spiking Neural Net Simulator
155
+ test_files: []
156
+