Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (def by-coord-op #(partial mapv %))
- (def mapv-partial #(fn [a b] (mapv (partial % b) a)))
- (def v+ (by-coord-op +))
- (def v- (by-coord-op -))
- (def v* (by-coord-op *))
- (def scalar #(apply + (v* %1 %2)))
- (defn fn-for-vect [num1 num2 vec1 vec2]
- (- (* (nth vec1 num1) (nth vec2 num2))
- (* (nth vec1 num2) (nth vec2 num1))))
- (defn vect [a b]
- [(fn-for-vect 1 2 a b)
- (fn-for-vect 2 0 a b)
- (fn-for-vect 0 1 a b)
- ])
- (def v*s (mapv-partial *))
- (def s*v #(v*s %2 %1))
- (def m+ (by-coord-op v+))
- (def m- (by-coord-op v-))
- (def m* (by-coord-op v*))
- (def m*s (mapv-partial s*v))
- (def m*v (mapv-partial scalar))
- (def transpose (partial apply mapv vector))
- (defn m*m [a b] (mapv #(mapv (partial scalar %) (transpose b)) a))
- (def shape-op #(fn calc [a b] (if (vector? a) (mapv calc a b) (% a b))))
- (def s+ (shape-op +))
- (def s- (shape-op -))
- (def s* (shape-op *))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement