master
xieguigang 8 years ago
parent fb729ce461
commit 7b3ceb03ff

@ -1,6 +1,38 @@
namespace Math2D {
/// <reference path="../../../build/linq.d.ts"/>
export class Vector {
namespace Math2D {
export class Vector extends IEnumerator<number> {
public constructor(x: number[] | IEnumerator<number>) {
super(x);
}
public Add(x: number | IEnumerator<number> | Vector): Vector {
var type = TypeInfo.typeof(x);
var out: number[] = [];
if (type.typeOf == "number") {
x = <number>x;
for (var i: number = 0; i < this.Count; i++) {
out.push(x + this.sequence[i]);
}
} else if (type.IsEnumerator || type.class == "Vector") {
x = <IEnumerator<number>>x;
if (x.Count != this.Count) {
throw `Two sequence length not agree!`;
}
for (var i: number = 0; i < this.Count; i++) {
out.push(x.ElementAt(i) + this.sequence[i]);
}
} else {
throw `Unsupported type: ${type.class}!`;
}
return new Vector(out);
}
}
}
Loading…
Cancel
Save