Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,51 @@
$ include "seed7_05.s7i";
include "float.s7i";
const type: vec3 is new struct
var float: x is 0.0;
var float: y is 0.0;
var float: z is 0.0;
end struct;
const func vec3: vec3 (in float: x, in float: y, in float: z) is func
result
var vec3: aVector is vec3.value;
begin
aVector.x := x;
aVector.y := y;
aVector.z := z;
end func;
$ syntax expr: .(). dot .() is -> 6;
const func float: (in vec3: a) dot (in vec3: b) is
return a.x*b.x + a.y*b.y + a.z*b.z;
$ syntax expr: .(). X .() is -> 6;
const func vec3: (in vec3: a) X (in vec3: b) is
return vec3(a.y*b.z - a.z*b.y,
a.z*b.x - a.x*b.z,
a.x*b.y - a.y*b.x);
const func string: str (in vec3: v) is
return "(" <& v.x <& ", " <& v.y <& ", " <& v.z <& ")";
enable_output(vec3);
const func float: scalarTriple (in vec3: a, in vec3: b, in vec3: c) is
return a dot (b X c);
const func vec3: vectorTriple (in vec3: a, in vec3: b, in vec3: c) is
return a X (b X c);
const proc: main is func
local
const vec3: a is vec3(3.0, 4.0, 5.0);
const vec3: b is vec3(4.0, 3.0, 5.0);
const vec3: c is vec3(-5.0, -12.0, -13.0);
begin
writeln("a = " <& a <& ", b = " <& b <& ", c = " <& c);
writeln("a . b = " <& a dot b);
writeln("a x b = " <& a X b);
writeln("a .(b x c) = " <& scalarTriple(a, b, c));
writeln("a x(b x c) = " <& vectorTriple(a, b, c));
end func;