41 lines
873 B
Plaintext
41 lines
873 B
Plaintext
struct &Vector {
|
|
$x
|
|
$y
|
|
}
|
|
|
|
fp.initVector = ($x, $y) -> {
|
|
return &Vector(fn.double($x), fn.double($y))
|
|
}
|
|
|
|
fp.addVector = ($a, $b) -> {
|
|
return parser.op(&Vector($a::$x + $b::$x, $a::$y + $b::$y))
|
|
}
|
|
|
|
fp.subVector = ($a, $b) -> {
|
|
return parser.op(&Vector($a::$x - $b::$x, $a::$y - $b::$y))
|
|
}
|
|
|
|
fp.mulVector = ($vec, $scalar) -> {
|
|
return parser.op(&Vector($vec::$x * $scalar, $vec::$y * $scalar))
|
|
}
|
|
|
|
fp.divVector = ($vec, $scalar) -> {
|
|
return parser.op(&Vector($vec::$x / $scalar, $vec::$y / $scalar))
|
|
}
|
|
|
|
fp.printVector = ($vec) -> {
|
|
fn.println([parser.op($vec::$x), parser.op($vec::$y)])
|
|
}
|
|
|
|
$vec1 = fp.initVector(5, 7)
|
|
$vec2 = fp.initVector(2, 3)
|
|
|
|
fp.printVector($vec1)
|
|
fp.printVector($vec2)
|
|
fn.println()
|
|
|
|
fp.printVector(fp.addVector($vec1, $vec2))
|
|
fp.printVector(fp.subVector($vec1, $vec2))
|
|
fp.printVector(fp.mulVector($vec1, 11))
|
|
fp.printVector(fp.divVector($vec1, 2))
|