Source: ml/linalg/DenseVector.js

  1. /*
  2. * Copyright 2016 IBM Corp.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. module.exports = function(kernelP) {
  17. return (function() {
  18. var Utils = require('../../utils.js');
  19. var gKernelP = kernelP;
  20. /**
  21. * A dense vector represented by a value array.
  22. * @classdesc
  23. */
  24. /**
  25. * @param {number[]} values
  26. * @class
  27. * @memberof module:eclairjs/mllib/linalg
  28. * @extends Vector
  29. */
  30. function DenseVector() {
  31. Utils.handleConstructor(this, arguments, gKernelP);
  32. }
  33. /**
  34. * @returns {Promise.<number>}
  35. */
  36. DenseVector.prototype.size = function() {
  37. throw "not implemented by ElairJS";
  38. //
  39. // function _resolve(result, resolve, reject) {
  40. // var returnValue=parseInt(result)
  41. // resolve(returnValue);
  42. // };
  43. // var args ={
  44. // target: this,
  45. // method: 'size',
  46. // resolver: _resolve,
  47. // returnType: Number
  48. //
  49. // };
  50. //
  51. // return Utils.generate(args);
  52. };
  53. /**
  54. * @returns {Promise.<string>}
  55. */
  56. DenseVector.prototype.toString = function() {
  57. throw "not implemented by ElairJS";
  58. //
  59. // function _resolve(result, resolve, reject) {
  60. // var returnValue=result
  61. // resolve(returnValue);
  62. // };
  63. // var args ={
  64. // target: this,
  65. // method: 'toString',
  66. // resolver: _resolve,
  67. // returnType: String
  68. //
  69. // };
  70. //
  71. // return Utils.generate(args);
  72. };
  73. /**
  74. * @returns {Promise.<number[]>}
  75. */
  76. DenseVector.prototype.toArray = function() {
  77. throw "not implemented by ElairJS";
  78. //
  79. // function _resolve(result, resolve, reject) {
  80. // var returnValue=JSON.parse(result)
  81. // resolve(returnValue);
  82. // };
  83. // var args ={
  84. // target: this,
  85. // method: 'toArray',
  86. // stringify: true,
  87. // resolver: _resolve,
  88. // returnType: [Double]
  89. //
  90. // };
  91. //
  92. // return Utils.generate(args);
  93. };
  94. /**
  95. * @param {number} i
  96. * @returns {Promise.<number>}
  97. */
  98. DenseVector.prototype.apply = function(i) {
  99. throw "not implemented by ElairJS";
  100. //
  101. // function _resolve(result, resolve, reject) {
  102. // var returnValue=parseInt(result)
  103. // resolve(returnValue);
  104. // };
  105. // var args ={
  106. // target: this,
  107. // method: 'apply',
  108. // args: [
  109. // { value: i, type: 'number' }
  110. // ],
  111. // resolver: _resolve,
  112. // returnType: Number
  113. //
  114. // };
  115. //
  116. // return Utils.generate(args);
  117. };
  118. /**
  119. * @returns {module:eclairjs/mllib/linalg.DenseVector}
  120. */
  121. DenseVector.prototype.copy = function() {
  122. throw "not implemented by ElairJS";
  123. // var args ={
  124. // target: this,
  125. // method: 'copy',
  126. // returnType: DenseVector
  127. //
  128. // };
  129. //
  130. // return Utils.generate(args);
  131. };
  132. /**
  133. * @param {func} f
  134. * @returns {Promise.<Void>} A Promise that resolves to nothing.
  135. */
  136. DenseVector.prototype.foreachActive = function(f) {
  137. throw "not implemented by ElairJS";
  138. // var args ={
  139. // target: this,
  140. // method: 'foreachActive',
  141. // args: [
  142. // { value: f, type: 'func' }
  143. // ],
  144. // returnType: null
  145. //
  146. // };
  147. //
  148. // return Utils.generate(args);
  149. };
  150. /**
  151. * @returns {Promise.<number>}
  152. */
  153. DenseVector.prototype.hashCode = function() {
  154. throw "not implemented by ElairJS";
  155. //
  156. // function _resolve(result, resolve, reject) {
  157. // var returnValue=parseInt(result)
  158. // resolve(returnValue);
  159. // };
  160. // var args ={
  161. // target: this,
  162. // method: 'hashCode',
  163. // resolver: _resolve,
  164. // returnType: Number
  165. //
  166. // };
  167. //
  168. // return Utils.generate(args);
  169. };
  170. /**
  171. * @returns {Promise.<number>}
  172. */
  173. DenseVector.prototype.numActives = function() {
  174. throw "not implemented by ElairJS";
  175. //
  176. // function _resolve(result, resolve, reject) {
  177. // var returnValue=parseInt(result)
  178. // resolve(returnValue);
  179. // };
  180. // var args ={
  181. // target: this,
  182. // method: 'numActives',
  183. // resolver: _resolve,
  184. // returnType: Number
  185. //
  186. // };
  187. //
  188. // return Utils.generate(args);
  189. };
  190. /**
  191. * @returns {Promise.<number>}
  192. */
  193. DenseVector.prototype.numNonzeros = function() {
  194. throw "not implemented by ElairJS";
  195. //
  196. // function _resolve(result, resolve, reject) {
  197. // var returnValue=parseInt(result)
  198. // resolve(returnValue);
  199. // };
  200. // var args ={
  201. // target: this,
  202. // method: 'numNonzeros',
  203. // resolver: _resolve,
  204. // returnType: Number
  205. //
  206. // };
  207. //
  208. // return Utils.generate(args);
  209. };
  210. /**
  211. * @returns {SparseVector}
  212. */
  213. DenseVector.prototype.toSparse = function() {
  214. throw "not implemented by ElairJS";
  215. // var args ={
  216. // target: this,
  217. // method: 'toSparse',
  218. // returnType: SparseVector
  219. //
  220. // };
  221. //
  222. // return Utils.generate(args);
  223. };
  224. /**
  225. * @returns {Promise.<number>}
  226. */
  227. DenseVector.prototype.argmax = function() {
  228. throw "not implemented by ElairJS";
  229. //
  230. // function _resolve(result, resolve, reject) {
  231. // var returnValue=parseInt(result)
  232. // resolve(returnValue);
  233. // };
  234. // var args ={
  235. // target: this,
  236. // method: 'argmax',
  237. // resolver: _resolve,
  238. // returnType: Number
  239. //
  240. // };
  241. //
  242. // return Utils.generate(args);
  243. };
  244. /**
  245. * @returns {Promise.<string>}
  246. */
  247. DenseVector.prototype.toJson = function() {
  248. throw "not implemented by ElairJS";
  249. //
  250. // function _resolve(result, resolve, reject) {
  251. // var returnValue=result
  252. // resolve(returnValue);
  253. // };
  254. // var args ={
  255. // target: this,
  256. // method: 'toJson',
  257. // resolver: _resolve,
  258. // returnType: String
  259. //
  260. // };
  261. //
  262. // return Utils.generate(args);
  263. };
  264. DenseVector.moduleLocation = '/ml/linalg/DenseVector';
  265. return DenseVector;
  266. })();
  267. };