@lijuhong1981/jsmath 1.0.6 → 1.0.7

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.
package/index.js CHANGED
@@ -25,7 +25,7 @@ import lerp from "./src/lerp.js";
25
25
  import percentInRange from "./src/percentInRange.js";
26
26
  import randomInteger from "./src/randomInteger.js";
27
27
  import randomNumber from "./src/randomNumber.js";
28
- import Interval from "./src/Interval.js";
28
+ import Range from "./src/Range.js";
29
29
 
30
30
  export {
31
31
  PI,
@@ -53,5 +53,5 @@ export {
53
53
  percentInRange,
54
54
  randomInteger,
55
55
  randomNumber,
56
- Interval,
56
+ Range,
57
57
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lijuhong1981/jsmath",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -3,18 +3,18 @@ import isBetween from "./isBetween.js";
3
3
  import lerp from "./lerp.js";
4
4
  import percentInRange from "./percentInRange.js";
5
5
 
6
- function checkMinMaxValue(interval) {
7
- if (interval.minimum > interval.maximum) {
8
- const temp = interval.minimum;
9
- interval.minimum = interval.maximum;
10
- interval.maximum = temp;
6
+ function checkMinMaxValue(range) {
7
+ if (range.minimum > range.maximum) {
8
+ const temp = range.minimum;
9
+ range.minimum = range.maximum;
10
+ range.maximum = temp;
11
11
  }
12
12
  }
13
13
 
14
14
  /**
15
- * Interval对象用来表示数学上的区间集合
15
+ * Range对象用来表示数学上的区间集合
16
16
  */
17
- class Interval {
17
+ class Range {
18
18
  /**
19
19
  * 构造函数
20
20
  * @param {Number} minimum 区间较小数,默认0
@@ -30,10 +30,38 @@ class Interval {
30
30
  checkMinMaxValue(this);
31
31
  }
32
32
 
33
- get isInterval() {
33
+ get isRange() {
34
34
  return true;
35
35
  }
36
36
 
37
+ /**
38
+ * @deprecated
39
+ */
40
+ set min(value) {
41
+ this.minimum = value;
42
+ }
43
+
44
+ /**
45
+ * @deprecated
46
+ */
47
+ get min() {
48
+ return this.minimum;
49
+ }
50
+
51
+ /**
52
+ * @deprecated
53
+ */
54
+ set max(value) {
55
+ this.maximum = value;
56
+ }
57
+
58
+ /**
59
+ * @deprecated
60
+ */
61
+ get max() {
62
+ return this.maximum;
63
+ }
64
+
37
65
  /**
38
66
  * 判断该区间是否为空集
39
67
  * @returns {Boolean}
@@ -83,13 +111,13 @@ class Interval {
83
111
 
84
112
  /**
85
113
  * 判断两个区间对象是否相等
86
- * @param {Interval} left
87
- * @param {Interval} right
114
+ * @param {Range} left
115
+ * @param {Range} right
88
116
  * @returns {Boolean}
89
117
  */
90
118
  static equals(left, right) {
91
- Check.instanceOf('left', left, Interval);
92
- Check.instanceOf('right', right, Interval);
119
+ Check.instanceOf('left', left, Range);
120
+ Check.instanceOf('right', right, Range);
93
121
  if (left === right)
94
122
  return true;
95
123
  if (left && right && left.minimum === right.minimum && left.maximum === right.maximum && left.containsMinimum === right.containsMinimum && left.containsMaximum === right.containsMaximum)
@@ -99,23 +127,23 @@ class Interval {
99
127
 
100
128
  /**
101
129
  * 判断当前区间是否与另一个区间相等
102
- * @param {Interval} other
130
+ * @param {Range} other
103
131
  * @returns {Boolean}
104
132
  */
105
133
  equals(other) {
106
- return Interval.equals(this, other);
134
+ return Range.equals(this, other);
107
135
  }
108
136
 
109
137
  /**
110
138
  * 两个区间相加,left + right
111
- * @param {Interval} left
112
- * @param {Interval} right
113
- * @param {Interval} result 结果区间对象,可不填
114
- * @returns {Interval} 结果区间对象
139
+ * @param {Range} left
140
+ * @param {Range} right
141
+ * @param {Range} result 结果区间对象,可不填
142
+ * @returns {Range} 结果区间对象
115
143
  */
116
- static add(left, right, result = new Interval()) {
117
- Check.instanceOf('left', left, Interval);
118
- Check.instanceOf('right', right, Interval);
144
+ static add(left, right, result = new Range()) {
145
+ Check.instanceOf('left', left, Range);
146
+ Check.instanceOf('right', right, Range);
119
147
 
120
148
  result.minimum = left.minimum + right.minimum;
121
149
  result.maximum = left.maximum + right.maximum;
@@ -127,23 +155,23 @@ class Interval {
127
155
 
128
156
  /**
129
157
  * 当前区间与另一个区间相加
130
- * @param {Interval} other
131
- * @returns {Interval} 当前区间对象
158
+ * @param {Range} other
159
+ * @returns {Range} 当前区间对象
132
160
  */
133
161
  add(other) {
134
- return Interval.add(this, other, this);
162
+ return Range.add(this, other, this);
135
163
  }
136
164
 
137
165
  /**
138
166
  * 两个区间相减,left - right
139
- * @param {Interval} left
140
- * @param {Interval} right
141
- * @param {Interval} result 结果区间对象,可不填
142
- * @returns {Interval} 结果区间对象
167
+ * @param {Range} left
168
+ * @param {Range} right
169
+ * @param {Range} result 结果区间对象,可不填
170
+ * @returns {Range} 结果区间对象
143
171
  */
144
- static subtract(left, right, result = new Interval()) {
145
- Check.instanceOf('left', left, Interval);
146
- Check.instanceOf('right', right, Interval);
172
+ static subtract(left, right, result = new Range()) {
173
+ Check.instanceOf('left', left, Range);
174
+ Check.instanceOf('right', right, Range);
147
175
 
148
176
  result.minimum = left.minimum - right.minimum;
149
177
  result.maximum = left.maximum - right.maximum;
@@ -155,23 +183,23 @@ class Interval {
155
183
 
156
184
  /**
157
185
  * 当前区间减去另一个区间
158
- * @param {Interval} other
159
- * @returns {Interval} 当前区间对象
186
+ * @param {Range} other
187
+ * @returns {Range} 当前区间对象
160
188
  */
161
189
  subtract(other) {
162
- return Interval.subtract(this, other, this);
190
+ return Range.subtract(this, other, this);
163
191
  }
164
192
 
165
193
  /**
166
194
  * 两个区间相乘,left x right
167
- * @param {Interval} left
168
- * @param {Interval} right
169
- * @param {Interval} result 结果区间对象,可不填
170
- * @returns {Interval} 结果区间对象
195
+ * @param {Range} left
196
+ * @param {Range} right
197
+ * @param {Range} result 结果区间对象,可不填
198
+ * @returns {Range} 结果区间对象
171
199
  */
172
- static multiply(left, right, result = new Interval()) {
173
- Check.instanceOf('left', left, Interval);
174
- Check.instanceOf('right', right, Interval);
200
+ static multiply(left, right, result = new Range()) {
201
+ Check.instanceOf('left', left, Range);
202
+ Check.instanceOf('right', right, Range);
175
203
 
176
204
  const ac = left.minimum * right.minimum;
177
205
  const ad = left.minimum * right.maximum;
@@ -187,23 +215,23 @@ class Interval {
187
215
 
188
216
  /**
189
217
  * 当前区间乘以另一个区间
190
- * @param {Interval} other
191
- * @returns {Interval} 当前区间对象
218
+ * @param {Range} other
219
+ * @returns {Range} 当前区间对象
192
220
  */
193
221
  multiply(other) {
194
- return Interval.multiply(this, other, this);
222
+ return Range.multiply(this, other, this);
195
223
  }
196
224
 
197
225
  /**
198
226
  * 两个区间相除,left / right
199
- * @param {Interval} left
200
- * @param {Interval} right
201
- * @param {Interval} result 结果区间对象,可不填
202
- * @returns {Interval} 结果区间对象
227
+ * @param {Range} left
228
+ * @param {Range} right
229
+ * @param {Range} result 结果区间对象,可不填
230
+ * @returns {Range} 结果区间对象
203
231
  */
204
- static divide(left, right, result = new Interval()) {
205
- Check.instanceOf('left', left, Interval);
206
- Check.instanceOf('right', right, Interval);
232
+ static divide(left, right, result = new Range()) {
233
+ Check.instanceOf('left', left, Range);
234
+ Check.instanceOf('right', right, Range);
207
235
 
208
236
  const ac = left.minimum / right.minimum;
209
237
  const ad = left.minimum / right.maximum;
@@ -219,53 +247,53 @@ class Interval {
219
247
 
220
248
  /**
221
249
  * 当前区间除以另一个区间
222
- * @param {Interval} other
223
- * @returns {Interval} 当前区间对象
250
+ * @param {Range} other
251
+ * @returns {Range} 当前区间对象
224
252
  */
225
253
  divide(other) {
226
- return Interval.divide(this, other, this);
254
+ return Range.divide(this, other, this);
227
255
  }
228
256
 
229
257
  /**
230
258
  * 克隆一个区间对象
231
- * @param {Interval} interval 需要克隆的区间对象
232
- * @param {Interval} result 结果区间对象,可不设置
233
- * @returns {Interval} 结果区间对象
259
+ * @param {Range} range 需要克隆的区间对象
260
+ * @param {Range} result 结果区间对象,可不设置
261
+ * @returns {Range} 结果区间对象
234
262
  */
235
- static clone(interval, result = new Interval()) {
236
- Check.instanceOf('interval', interval, Interval);
263
+ static clone(range, result = new Range()) {
264
+ Check.instanceOf('range', range, Range);
237
265
 
238
- result.minimum = interval.minimum;
239
- result.maximum = interval.maximum;
240
- result.containsMinimum = interval.containsMinimum;
241
- result.containsMaximum = interval.containsMaximum;
266
+ result.minimum = range.minimum;
267
+ result.maximum = range.maximum;
268
+ result.containsMinimum = range.containsMinimum;
269
+ result.containsMaximum = range.containsMaximum;
242
270
 
243
271
  return result;
244
272
  }
245
273
 
246
274
  /**
247
275
  * 克隆当前区间对象
248
- * @param {Interval} result 结果区间对象,可不设置
249
- * @returns {Interval} 结果区间对象
276
+ * @param {Range} result 结果区间对象,可不设置
277
+ * @returns {Range} 结果区间对象
250
278
  */
251
279
  clone(result) {
252
- return Interval.clone(this, result);
280
+ return Range.clone(this, result);
253
281
  }
254
282
 
255
283
  /**
256
284
  * 将一个区间对象的所有属性打包到一个数组中
257
- * @param {Interval} interval 需要打包的区间对象
285
+ * @param {Range} range 需要打包的区间对象
258
286
  * @param {Array} array 打包到的数组
259
287
  * @param {Integer} startingIndex 数组起始索引,默认0
260
288
  * @returns {Array} 打包后的数组
261
289
  */
262
- static pack(interval, array = [], startingIndex = 0) {
263
- Check.instanceOf('interval', interval, Interval);
290
+ static pack(range, array = [], startingIndex = 0) {
291
+ Check.instanceOf('range', range, Range);
264
292
 
265
- array[startingIndex++] = interval.minimum;
266
- array[startingIndex++] = interval.maximum;
267
- array[startingIndex++] = interval.containsMinimum;
268
- array[startingIndex++] = interval.containsMaximum;
293
+ array[startingIndex++] = range.minimum;
294
+ array[startingIndex++] = range.maximum;
295
+ array[startingIndex++] = range.containsMinimum;
296
+ array[startingIndex++] = range.containsMaximum;
269
297
 
270
298
  return array;
271
299
  }
@@ -277,17 +305,17 @@ class Interval {
277
305
  * @returns {Array} 打包后的数组
278
306
  */
279
307
  toArray(array, startingIndex = 0) {
280
- return Interval.pack(this, array, startingIndex);
308
+ return Range.pack(this, array, startingIndex);
281
309
  }
282
310
 
283
311
  /**
284
312
  * 从一个数组中提取一个区间对象的所有属性
285
313
  * @param {Array} array 提取属性的数组
286
314
  * @param {Integer} startingIndex 数组起始索引,默认0
287
- * @param {Interval} result 结果区间对象,可不填
288
- * @returns {Interval} 结果区间对象
315
+ * @param {Range} result 结果区间对象,可不填
316
+ * @returns {Range} 结果区间对象
289
317
  */
290
- static unpack(array, startingIndex = 0, result = new Interval()) {
318
+ static unpack(array, startingIndex = 0, result = new Range()) {
291
319
  Check.typeOf.array("array", array);
292
320
  //>>includeEnd('debug');
293
321
 
@@ -303,17 +331,17 @@ class Interval {
303
331
  * 从一个数组给当前区间对象赋值
304
332
  * @param {Array} array 提取属性的数组
305
333
  * @param {Integer} startingIndex 数组起始索引,默认0
306
- * @returns {Interval} 当前区间对象
334
+ * @returns {Range} 当前区间对象
307
335
  */
308
336
  fromArray(array, startingIndex = 0) {
309
- return Interval.unpack(array, startingIndex, this);
337
+ return Range.unpack(array, startingIndex, this);
310
338
  }
311
339
 
312
340
  toString() {
313
- return 'Interval:' + this.containsMinimum ? '[' : '(' + this.minimum + ', ' + this.maximum + this.containsMaximum ? ']' : ')'
341
+ return 'Range:' + this.containsMinimum ? '[' : '(' + this.minimum + ', ' + this.maximum + this.containsMaximum ? ']' : ')'
314
342
  }
315
343
  };
316
344
 
317
- Interval.packedLength = 4;
345
+ Range.packedLength = 4;
318
346
 
319
- export default Interval;
347
+ export default Range;