June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -6,16 +6,16 @@ dp(list a, list b)
p = 0;
for (i, v in a) {
p += v * __real(b[i]);
p += v * b[i];
}
return p;
p;
}
integer
main(void)
{
o_(dp(l_effect(1r, 3r, -5r), l_effect(4r, -2r, -1r)), "\n");
o_(dp(list(1r, 3r, -5r), list(4r, -2r, -1r)), "\n");
return 0;
0;
}

View file

@ -0,0 +1,20 @@
100 :
110 REM DOT PRODUCT
120 :
130 REM INITIALIZE VECTORS OF LENGTH N
140 N = 3
150 DIM V1(N): DIM V2(N)
160 FOR I = 1 TO N
170 V1(I) = INT ( RND (1) * 20 - 9.5)
180 V2(I) = INT ( RND (1) * 20 - 9.5)
190 NEXT I
300 :
310 REM CALCULATE THE DOT PRODUCT
320 :
330 FOR I = 1 TO N:DP = DP + V1(I) * V2(I): NEXT I
400 :
410 REM DISPLAY RESULT
420 :
430 PRINT "[";: FOR I = 1 TO N: PRINT " ";V1(I);: NEXT I
440 PRINT "] . [";: FOR I = 1 TO N: PRINT " ";V2(I);: NEXT I
450 PRINT "] = ";DP

View file

@ -0,0 +1,7 @@
DIM vec1(2), vec2(2), dot(0)
vec1() = 1, 3, -5
vec2() = 4, -2, -1
dot() = vec1() . vec2()
PRINT "Result is "; dot(0)

View file

@ -0,0 +1,13 @@
import extensions.
import system'routines.
extension $op
{
method dotProduct array:array
= self zip(array) by(:x:y)(x * y); summarize.
}
program =
[
console printLine((1, 3, -5) dotProduct:(4, -2, -1)).
].

View file

@ -1,5 +1,5 @@
program test_dot_product
write (*, '(i0)') dot_product ((/1, 3, -5/), (/4, -2, -1/))
write (*, '(i0)') dot_product ([1, 3, -5], [4, -2, -1])
end program test_dot_product

View file

@ -0,0 +1,25 @@
MODULE DotProduct;
FROM RealStr IMPORT RealToStr;
FROM Terminal IMPORT WriteString,WriteLn,ReadChar;
TYPE Vector =
RECORD
x,y,z : REAL
END;
PROCEDURE DotProduct(u,v : Vector) : REAL;
BEGIN
RETURN u.x*v.x + u.y*v.y + u.z*v.z
END DotProduct;
VAR
buf : ARRAY[0..63] OF CHAR;
dp : REAL;
BEGIN
dp := DotProduct(Vector{1.0,3.0,-5.0},Vector{4.0,-2.0,-1.0});
RealToStr(dp, buf);
WriteString(buf);
WriteLn;
ReadChar
END DotProduct.