packages feed

descript-lang-0.2.0.0: test-resources/Import/Math/Vector.dscr

module Import>Math>Vector

Vec3[x, y, z].
Dot[left, right].
Cross[left, right].

Dot[left: Vec3[x, y, z], right: Vec3[x, y, z]]: #Add[
  #Multiply[left>x, right>x]
  #Add[
    #Multiply[left>y, right>y]
    #Multiply[left>z, right>z]
  ]
]

Cross[left: Vec3[x, y, z], right: Vec3[x, y, z]]: Vec3[
  x: #Subtract[#Multiply[left>y, right>z], #Multiply[left>z, right>y]]
  y: #Subtract[#Multiply[left>z, right>x], #Multiply[left>x, right>z]]
  z: #Subtract[#Multiply[left>x, right>y], #Multiply[left>y, right>x]]
]