Z3 prima notes
Notes Only - Not all commands may work...
a=[1 2; 3]
a=[[1,2],[3]]
a=[1 2; 3 4]
a=[1 20; 2 3]
a=[[1, 20],[2, 3]]
a=[[1, 20],[2, [3 4]]];
a=[[1, 20],[2, [3; 4]]];
a=[[1, 20],[2, [3; 4;]]]; // worked with after 4 nothing was taken. Is that something to change later? with a null?
a=[1 20; 2;[3,4]; 3]
a=[1, (a+b); 2;[3,4]; 3]
a=[1*(a+b); 2;[3,4]; 3]
a=[1*(a+b); 2;[3,4+34]; 3];
a=[1 3 2; 3 3 4;4 4 4] // check
|a|;
|10|;
a=|44|
b=34
a=[3,4,2..20]
a={"car":a}
a=|4x3x3|
|4||(3*x)^2||4|
a=|3||*||4|
a=|5x5|
a=|5|
|10x3|
a=a|x+3|b;
a=|5||+||5|
a=|5||\||5| //for INTDIV
a=|5||/\||5| //for DIVPARTS
a=|5||%||5| //for MATRIXMOD
a=|3||CHIDIST||4| // should we make this CHIDIST with MOP? Could decide later for MATRIXOPS
1..100@"x^2"
CHIDIST(1..100,2..3) .graph(1,0)
[1..2,1..4,1..20]@"x^3+y^2+z^3"
FOR 20..30 "det(MAGICSQUARE(x))";
a=FOR 1..100 SIN;
a= FOR 20..30 "det(MAGICSQUARE(x))";
var a=FOR 20..30 "det(MAGICSQUARE(x))";
var a=FOR 20..30 "det(MAGICSQUARE(x))",b=FOR 1..100 COS;
radpiby3
a=SIN(radpiby3)
1..100.fillwith(1..10)
(1..100).fillwith(1..10)
(1..100..10).fillwith(1..10)
1..100.fillwith(10..100).$(CIRCLE)
1..100 .fillwith(10..100).$(CIRCLE)
1..100..130.fillwith(10..100).$(CIRCLE)
SIN@1..100@COS
SIN@1..100
1..100@COS
1..100..10@COS
1..100..10.fillwith(10..100).$(CIRCLE)
1..100.23..1023.1 .fillwith(10..1020).$(CIRCLE)
1..100..10.fillwith(1..10)
FOR 20..30 "det(MAGICSQUARE(x))";
FOR 20..30 "det(MAGICSQUARE(x))";
FOR 20..30 "det(MAGICSQUARE(x))";
1...100.0343..103.fillwith(1..10)
a=[1 (a+b); 2;[3,4]; 3]
function z()
{
if(a<3)
{
return(false);
}
}
function ()
{
if(a<3)
{
return(false)
}
}
A=(|3x4|@4.3)@SIN
|4|.$i([SUM,SIN,COS]);
|4|.$i(SUM,SIN,COS)
[["cats1","dogs1"],"birds"]<<<[[2,[COS]],[SIN]]
[["cats1","dogs1"],"birds"]<<<<[[2,[COS]],[SIN]]
[["cats1","dogs1"],"birds"]>>>>[[2,[COS]],[SIN]]
[["cats1","dogs1"],"birds"]>>>>[[2,[COS]],[SIN]]
birds // check
[#a-z,#A-Z,1..10,4..500]
a=#a-z
a=#1/1/16
var a=#;
b=#;
c=#;
d=#;
PMT(#1/1/2011,#2/2012) // worked
var a=#a-x;
b=#1/1/2011;
a = a < 34 ? 3
#TABLE3!A3:E6
a=#TABLE3!A3:E6
a=#A3:E6
a=SIN(#D8:E11,#H11:K12)
#TABLE3!A3:E6
a=#TABLE3!A3:E6
a=#A3:E6
#D8:E11
#TABLE3!A3:E6
[1,2,undefined,#].$(SIN)
a=[#1/1/2011,#2/2/2015]
[1,2,undefined].$(SIN)
[1,2,undefined,#].$(SIN)
v:=u+a*t
E=m*c^2;
a=5!;
a=(a+x)!;
a=(a+x)*!34;
a=(5!)!
a=5!! will not work.
a=34!P!3
a=34!C!3
a=34!P!3!C!3
/*Enter Code Here in Z3/Javascript...*/
a1=#a-g
a1.$("x+x+x")
var a=2;
v:=u+a*t;
var b=3;
var a=2;
var v:=u+a*t;
var b=3;
var a=2;
var v:=u+a*t;
var b=3;
var a=2;
var v:=u+a*t,d=34;
var b=3;
var a=#a-x,d=#1/1/2011;
# means undefined by itself.
ad := a+b
1..3**3.$d (SIN)
(1..3**3).$d (SIN)
PRODUCT(n..1..-3)
a=#,b=#,c=#
FACTTRIPLE:=PRODUCT(n..1..-3)
FACTTRIPLE:=PRODUCT(n..1..-3)
1..10|x<4|
1..10|x?x<4|
1..10|x?x<4:u|
1..10|x?x<4:u|1..10
1..10|x?u+x<4:u|1..10
|4||x?x<4:false||34| ;
|4||x?x<4||34|;
|4||x?x<4||34| ;
|4||x?x<4:34+y+z||34|;
|4||x?x<4|;
|4||x<4|;
|1||x<4||x>10|
1..10|x<4&&y>9|2..20
a=3!
a=100..|x+y|3
..100
10..
1..10|x<4|
1..10|x<4|34
1..10|x^3&&x^3<3000?x|w
0..10@"SIN(x^2,1..10)" .graph() // what does this mean?
0..10@"SIN(x^2)" .graph() // works.
0..10@("SIN(x^2,1..10)" .graph())
0..10@"SIN(x^2,1..23..10)".graph(30).sin()
0..10@"SIN(x^2,1..23..10)".graph(30).sin()
1..1000..100@["x^2",COS] .graph()
0..10@"SIN(x^2,1..10)" .graph()
0..10@("SIN(x^2,1..10)" .graph())
0..10@"SIN(x^2,1..23..10)".graph(30).sin()
0..10@"SIN(x^2,1..23..10)".graph(30).sin()
0..10@"SIN(x^2,1..10)" .graph()
SIN(x^2,1..10)
1..3**3.$d (SIN)
(1..3**3).$d (SIN)
(1..1000..100@["x^2",COS] .$(SIN)) @SIN
0..10@"SIN(x^2)" .graph()
0..10@"SIN(x^2)".graph()
1..10|x<4|34
1..10|(x?x<4)|
var a=FOR 20..30 "det(MAGICSQUARE(x))", b=FOR 1..100 COS;
a=[1*(a+b); 2;[3,4+34]; 3]
|a|
|10|
a=[1*(a+b); 2;[3,4+34]; 3]; |a|; |10|
PMT(100000,44%,40)
a=FOR(PMT, 100000,41% ,1..12)
pmt12:=PMT(x,y,12);
pmt12(1000,26%)
vary...
Θ=3+x;
vs
Θ:=3+x;
Θ(34)
അത:=34+അതx;
അത(4)
/*Enter Code Here in Z3/Javascript...*/
var a=10;
for(var b=1;b<a;b++)
{
console.log(b)
}
/*Enter Code Here in Z3/Javascript...*/
function test()
{
var a=25;
c=[]
for(var b=1;b<a;b++)
{
c.push(b)
}
return(c);
}
test()
test:=x!;
test(3);
// NEW
1..67..4@[SIN,COS] .graphin()
1..(160%19)@SIN
a=radpiby3;
c=a@SIN;
c.graphin()
//check
deg222by3
rad2piby3
a=radpiby3 |*| 2
rad2piby3
radpiby3 |*| 2
a=radpiby3 |*| 3
//http://www.tribology-abc.com/calculators/default.htm
//drag-drop calculate.
LOAD("loans")
LOAN(10000,12%,12)
LOAN(10000,12%3, 0)
LOAD("loans")
LOAN(10000,12%,12).PAYMENTS()
LOAD("countries")
COUNTRY(3..23)
LOAD("elements")
ELEMENT(3..23)
THINK "Jaipur"
|10|.fillwith(10..1000) |*| 20
|4|.fillwith(34..200..3).$("2*x^3")
a=radpiby4 |*| 28
a=|5||++||6|
CAL(6..11,2012)
["sunny"]<<<[[1..10]]
SIN(sunny)
morethanthree:=u>3
1..10@morethanthree
1..10|++|2..20
mary=[SIN,COS,TAN]
1..10@mary
["divya"]<<<["SIN(x)+COS(x)+x^2"]
1..10@divya
["sunny","sneha"]<<<[[1..100],[500..1000]]
sunny
sneha
c=1..35@SIN .graphin()
d=1..100;
[49,31,#].$(z^2)
vs.
[49,31,#].$("z^2")
a=#TABLE1!B1:B1*46
a=#TABLE1!B1*46 // has issues.
a=#TABLE1!B1:B1*462
a=#TABLE1!B1*462
a=(#1/1/2012-2/1/2012).length
|4|.fillwith(34..200..3).$("2*x^3")
a=2..9|*|TRANSPOSE(2..9)
(2..3)~ for transpose.
a=2..9|*|(2..9)~; //for transpose.
((2..3)~)*34
(2..3)*~34
//~ for transpose.
a=|3|
a~;
a=(#TABLE1!B1)~*46
/* Showing intermediate output */
a=1..100;
OUTPUT(a);
a=1..25;
OUTPUT(a);
b=SUM(a);
[a,b]
Obi:=z^3;
d=FOR Obi 1..431;
SUM(d)
c8:=u+a*t
c8
SET(#TABLE1!B2:D5,1100);
// sets into calci such values
SET(#TABLE1!B2:D5,1..100);
1..1100.chunks(3) did not parse.
SET(#TABLE1!B2:D5,54..100.chunks(2));
SET(#TABLE1!B2:D5,54..100.chunks(2)~);
1..100.fillwith(1..10)
1..1100.chunks(3)
2Space!zcontrol2
FOR "SUM(1..x)" 1...1000000000...100
b=|4|
b.fillwith(1..123);
SIN(1..34)
a=1..20;
a.fillwith(2..3);
d=13;
SUM(d..10..-1)
b=1..100;
function Jay(x)
{
return(x+34)
}
1..100@Jay
a:=π*r^2;
a=|3|;
α:=π*r^2;
α(39);
Σ(1..100);
r=1..100@"π*r^2";
θ=1..5;
SIN(θ);
ctrl+g type greek name or unicode code and select and press ctrl+g to get the conversion into code.
ctrl+u for uppercase greek etc.
ctrl+space for hints.
sigma select ctrl+u gets Σ and then Σ(1..100).
മോോ=1..100;
ഐങ=2|*|മോോ
a="🍏🍎";
function x(n){return(REPEATCHAR(a,n))}
1..100@x
success="🍤";
1..100.map(()=>success);
ഒട്ടക൦=34;
ഒട്ടക൦=44+ഒട്ടക൦;
Yurttas:=SIN(c..30)
Yurttas(28)
(1..1000..100@["x^2",COS] .$(SIN))@SIN
fx:=SERIESSTR("x*3*_x+",1..x).join("")
1..10@fx
a=|3|;
(a).rotate(45)
function das(x)
{
var adi=3;
return(adi+x)
}
das(4);
function fact(x)
{
return(x<1?1:fact(x-1)*x)
}
fact(19)
তণ=0;
FOR 1..(তণ+4) SIN;
v:=u+a*t;
ARRAYFY(v);
v(1..10,2..3,10..12);
//think of why this is not accurate.
// the matrix comes in incorrectly.
// Seems like it needs v:=u+a[0][0]*t;
v:=u[0]+a*t;
ARRAYFY(v,[0]);
v(1..10,2..3,10..12);
BOTTOMN([[1,2],[3,4],[4,5]],1..2)
TOPN([[1,2],[3,4],[4,5]],1..2)
VLOOKUP(5, [1..10]~, 1,TRUE)
// note ! is required to make it into a 2-D array. Any other tricks we could suggest?
VLOOKUP(21..26,|5|.fillwith(11..50), 1..5,FALSE)
(1..10~)
(1..10)~ // this makes a 2D array to be more accurate.
(1..10)
VLOOKUP(21..26,|5|.fillwith(11..50), 1..5,FALSE)
function x1(x){return(x+34)};x1(304)
v:=u+a*t;
FOR v 1..100 23 44
05162016
---------
√(3+34)
∛(27.01)
√√64
ROOTNTH(1..10,4)
// root is first parameter
NTHROOT(1..10,4)
// root is second parameter
NTHROOT(1..100,2)
NTHROOT(1..100,4)
ROOTNTH(1..100,2)
ROOTNTH(1..100,4)
3√81
todo
a=|4 2 3|
// had issue with VariableExpression.
// when do we var nowmark=Z3SetBookmark(); // when do we unset this?
SELECT * FROM A
// assignment to left and right.
3+4==>a;
a+3;
a<==3+4;
a+3;
(
function (x)
{
∴(3+x)
}
)(45)
// ∴ means therefore, and is a replacement for return statement.
// ∵ means since, if etc.
/*
NOTE:
∴ means therefore or return
∧ means and
∨ means or
∩ means intersection
∪ means union.
*/
(1..100)∩(1..10 )
¬34
¬true
a=34;
¬a
UNION(1..100,1..10)
a=3;
since(a<4)
{
OUTPUT(31);
}
// since|when|because|etc works instead of if.
a=34;
if(!(a<1))
{
a=34;
}
a=⊤; // true tack
if(a)
{
a=34;
}
a=!⊤; // true tack
a?4:54
∅ //- for null.
a=∅ ;
a?224:524
// get this right. a has to be declared outside of do.
var a=34;
do
{
a=2;
}when(a<3)
a;
/*
case '⌈': // left ceiling
case '⌉': // right ceiling
case '⌊': // left floor
case '⌋': // right floor
case '≈': // round
*/
2⌈3 // ceiling
2⌋3 // floor
2.0001⌋0.00001
2.0001⌋0.01
2.003≈3
// round to 3 digits
2.234≈
// round to zero digits.
40%6; // mod.
1..100⋰ // ascending
1..100⋱ // descending
(100..1..-2)⋰
(100..1..-2)⋰
a=(1..100);
a⋱
a=(34.5454≈)==(34.53454545≈)
(1..100)⋱
//to type in the ascending or descending, type ascending and press ctrl+G.
//we can type first few letters of the string and press ctrl+g.
(∛729)⌈
a=1;
do
{
a++
}
until(a>20); // do while(!condition)
a; // here this will be 21, since !condition is checked like a do while loop.
a=11;
b=45;
because(a<b)
{
a++
OUTPUT(a)
}
a=11;
do
{
a++
}
unless(a==11);
a;
a=⊤;
b=⊥;
[[a,b],[a ∧ b,a ∨ b]]
(2334/344)⌋
a=!∅;
(a)?4135:645
a=23÷3.4
function y(x)
{
∵(x<345)
{
∴(x+3434)
}
∵(x>345)
{
∴(x-3434)
}
}
y(13);
Ƒ y(x)
{
∵(x<345)
{
∴(x+3434)
}
∵(x>345)
{
∴(x-3434)
}
}
y(13);
FORALL(1..100,"z<=100")
THEREEXISTS(1..100,"x<=0")
THEREEXISTS(1..100,"x>100")
THEREEXISTSONE(1..100,"x<=0")
THEREDOESNOTEXIST(1..100,"x<=0")
THEREDOESNOTEXIST(1..100,"x<=1")
∑(1..100)
∏(1..100)
a=1..100;
∀a("x<810")
∃a("x<810")
∄a("x<810")
a=1..100;
[∀a("x<810"),∃a("x<810"),∄a("x<810")]
a=1..100;
[∀a("x<810"),∃a("x<810"),(!∄a("x<0"))]
a=1..100;
b= ∀a("y*2<200");
b.result
a=1..100;
b= ∀a("y*2<=50");
a.pick(b.result)
//make a pick operator based on a similar array of true false. or non-existant to get the values out.
//PICK
a=1..100;
b= ∀a("y*2<50");
a.pick(b.result)
a=☺; // true
a=☹; // false
// to get smileys type :-) or :-( and ctrl+g on this after selection.
// Ƒ is function
// ∴ is therfore or return
Ƒ n(a,t)
{
∴(a+t)
}
n(2,34)
a=1m;
b=2cm;
velocity=3(m/s^2)
// these give these with units.
// how about variable names with units? Does it work like that?
// how to do unit operations?
/*
if(cond)
{
what to do
}
when(cond)
{
what to do
}
else because
{
what to do
}because(cond)
*/
a=1m;
b=2cm;
c=a<+>b;
// some minor issue in the .add with normalize units.
//can we convert a variable to appropriate unit with unit notation?
a=1m;
b=2cm;
c=a<+>b;
c ⚖m // make this work with identifier parsing out units also.
// what is a better symbol for unit conversion of a variable?
c ⚖mm;
[c⚖mm,c ⚖cm] // works
a=1°;
[SIN(a),SIN(1)]
a=1°;
b=2°;
c=3㎭;
e=23℃;
a=1°;
b=2°;
(a<+>b)<>rad
ACOS(0.1..1.0..0.1)
SPEEDOFLIGHT()
a=1kg;
a<*>(SPEEDOFLIGHT()<^>2)
(1m<+>100cm<+>1ly)<*>-1(s-1);
//centrigrade etc.
a=1℃ ;
a<>3℉;
a=14℃;
b=2℉;
[a<>℉,a<>K]
// had issues.
a=14℃;
b=2℉;
[a<>℉,a<>℃,a<>°]; //° is angle, not temperature.
a=35℃;
b=a<^>2
b
a=77℃;
a<> ℉
a=0℃;
a<> ℉
a=100℃;
a<> ℉
a=1-ⅈ3.4
a=1-ⅈ3.4;
b=+ⅈ3; // + is required to make it prevent from being a simple identifier.
b=1+ⅈ3;
a=2+ⅈ3;
IMSUM(a,b);
b=1+ⅈ3;
a=2+ⅈ3;
a<+>b; // make this work. 05292016.
//made MakeVectorToMatrix to handle complex numbers as one object. Other items like this? like vectors?
0degF<>degK
a=1m;
a<>cm;
a=1m;
a<>ym;
a=1mi;
a<>km;
a=1..100
b=a<>(mi);
b<>km; // titles still have chinese in production.
a=(1..100)<>℃
b=a<>℉
E:=(m<>kg)*(SPEEDOFLIGHT()<^>2);
E(2kg)
a=1mi;
b=10km;
[a,b,(a<+>b)<>mi]
10mi<>km
Pi seems to be obfuscated.
//Use degC, degF and degK for temperature units.
SIN(90<>deg)
(rad2piby10)<>rad<>deg
((rad2piby10)<>rad<>deg)@SIN .graphin()
//did not work in safari.
(1..10)<>kg
b=(100$<+>3020¢);
b<>$;
SETCONVERSION("USD","INR",1.1)
34USD<>INR
SETCONVERSION(1<>euro,1<>dollar,1.1)
SETCONVERSION(1$,1€,0.9);
PRINTCONVERSION();
345$<>€
1$<>1₹ // without conversion will fail.
(1..100)<>℃<>℉
SETCONVERSION(1<>€,1<>$,1.1);
(1..100)<>€<>$
SETCONVERSION(1<>€,1<>$,1.10);
(1..1000..10)<>€<>$
SETCONVERSION(1<>€,1<>$,1.10);
(0..1000..20)<>€<>$
UNITIFY([1m,2m,3cm])
SUM(UNITIFY([1m,2m,3mm]))
(100$<+>300¢<+>30¢)<>$
PMT(4%,12,1000$,120000¢,0)
PMT(4%,12,1000$,1200.00¢,0)
PMT(4%,12,1000$,120000¢,0)
1<>gal<>l
1<>l<>oz
(1..100)<>l<>ul
1Pa<>atm
E:=(m<>kg)<*>(SPEEDOFLIGHT()<^>2);
b=E(2g);
ConvertToUnitOfNature(b,"energy")
1m<>>1cm;
[1m,2m]<>>[1cm,200cm];
[1m,2m]<>=>[1cm,200cm];
[1m,2m]<<>[1cm,200cm];
[1m,2m]<<>[1cm,200cm];
[1m,2m]<==>[1cm,200cm];
[1m,2m]<!=>[1cm,200cm];
[1m,2m]<<=>[1cm,199.99cm];
[1m,2m]<<=>[1cm,200.01cm];
((1..10)<>m)<>>3m;
((0.1..10)<>m)<>>30cm
CONSTANT("G")
CONSTANT("G")<*>1kg<*>110kg</>(6000m<^>2) // did not work.
(CONSTANT("G")<*>1kg<*>110kg)</>((6000m)<^>2) // how to bracket the units to be inside and ignore < etc?
// ## can be used to name variables with spaces in them.
// the actual variable is named by removing the spaces.
// otherwise it goes into code as it is.
##weight of zone=3m;
++(##weight of zone);
##weight of zone=3m;
a=3.4mm<+>(##weight of zone);
h:=%planck*ν;
h(1.0e100);
//%G is gravitational constant
GF:=%G*m1*m2/r^2;
GF(1,2,300)
v:=u+%g*t; // this uses %g as default g value
v(1,2)
%planck
%boltzmann;
%planck length;
// PRINTCONVERSIONS()
// CONSTANTS()
// CONVERT()
SUPPORTEDUNITS()
A¹=34;
A=[23,4,5,5];
/* no array indexing on subscript yet. Will decide on that later. */
A¹=[23,4,5,5]
A¹[2]
a=%gravit;
b=30<*>a
a=%gravit;
b=(1..10)<*>a
E:=m<>kg<*>%c<^>2;
E(1000kg)
E(1000kg<>lbm) // - will gave same result as 1000kg
E(1000lbm)
//lbm is used for units of lb mass.
// %G<*>1kg<*>110kg(6000m<^>2)
// %G<*>1kg<*>110kg((6000m)<^>2)
// -did not work. Said 7.34149141e-9Nm3UNITPOWERUNITSOF
%G<*>1kg<*>110kg<*>((6000m)<^>2)
%G<*>1kg<*>110kg</>((6000m)<^>2)
// make this work.
1..100 @> x.txt; // send output to
a <@ x.txt; // read input from
a;
1.3J<>GeV
1.3J<>eV
1J<>l.atm; // 0.0098692latm
1J<>(l.atm-1) // this should fail. and will keep original units. maybe safer.
1m2<>in2
1m²<>in²
10m2<>are
1m2<>are
100m2<>acre
1(m2/s)<>(cm2/hr)
E:=m<>kg<*>%c<^>2;
b=E(1000kg)<>J
c=b<>eV;
[b,c]
1..100.$("[SIN(x),COS(x),TAN(x)]")
1..100.$([SIN,COS,TAN]) worked.
1..100.$("[x,x^2,x^3,x^4,x^3+x^4,SIN(x)]") works
1..100.$("[SIN(x),COS(x),TAN(x)]")
1..100.$([SIN,COS,TAN])
x=SERIESOF("1/x",9,10) //this is to from in parameter sequence.
x=SERIESOF("1/x",19,10)
SERIESOF("1/x",10,5)
x=SERIESOF "1/LOG(x,2)" 100 1
x=SERIESOF "1/log2x" 100 91
//removed: 1..10.$_([+,-])
1..10.$_([SUM,MINUS])
//removed: 1..10.$_|+|
EXPOF(5)
[SIN,COS]@[1..100]
1..10.$_("+")
1..10.$_("+")
1..10@["+"]
1..10@"+"
(1..100)<>m<+>10cm
MAGICSQUARE(3).$$(SUM)
MAGICSQUARE(3).$$$(SUM)
MAGICSQUARE(3).$_(SUM)
a=1m<>mm<+>400km
1m<>eor // should give nothing as there is no such conversion.
(((1..100)<>m)<^>2)<>are
(1..1000)<>$
(((1..100)<>m)<^>2)<>km2 // why chinese headers here?
(1..100)m<>cm
F=%G<*>100kg<*>10g</>((100km)<^>2);
1.3J<>GeV //check this
velocity=3<>(m/sec);
time=1hr;
velocity<*>time;
1(g.m)<>(mg.cm)
a=LAZYRANGE(1,100)
a(1..100) // generate numbers in the range at that interval, without having to generate the array ahead of time. Useful in things like INTEGRALS etc.
a()
a=LAZYOBJECT(1,100,1000) // can even take
a(0.1);
a.islazyrange()
1(kg.m2s-2)<>(N.m)
1(kg.m2s-2)<>J
1(kg.m2s-2)<>(N) // also should work as we want to get rid of the /s here in this case.
1(kg.m2s-2)<>(N.m2) // should fail.
1(kg.m2s-2)<>(J/s) // should fail.
1(kg.m2s-3)<>(J/s)
1(kg.m2.s)<>(J/s) // should this fail? it works now.
12(g.m-1/s)<>(g.cm) // should fail.
12(g.m)<>(g.mm) // should not fail.
12(g.m)<>(g.cm) // should not fail.
12(g.m)<>(g.s) // should fail. original should be returned.
12(g.m)<>(g.mm)
12(g.m)<>(g.s)
12(g.m-1)<>(g.mm-1)
12(g.m-1/s)<>(g.cm-1) // converts, but this is ok, since /s on left sometimes we want to get rid off for some reason for using it on another calculation. Say N/s but you only want to use the N on it.
1(kg.m2/s2)<>e // how to make this conversion?
1(kg.m2/s2)<>J<>e
1.3(kg.m2/s2)<>Jo // would fail and original will be kept.
(((1..100)<>m)<^>2)<>are
(1..100)<>are
[1cm2,2m2]<>are
%pi*34;
%e;
%avo;
q=1(mol/s);
heat=%avo<*>q;
1Pa<>atm
1atm<>psi
1atm<>hPa
a=1<>(kg/m.s-2)<>Pa<>torr
1J<>BTU
1ly<>m
10ly<>m<>km
1atm<>inHg<>mmHg
1atm<+>1bar
(1atm<+>1bar)<>atm
1km<>m<>lightyear
1lightyear<>km
1lightyear<>pc
1m<>ly
1km<>ly //seemed off. this is possibly correct.
(1km<+>1ly)<>km
1Å<>km
1Å<>m
(1..100)<>AU<>m
1degree<>arcminute
1Tsec<>sec
1(m/s)<>(km/hr)
1(km/s)<>(km/hr)
1(cal/mn)<>(J/sec) // d
1(kg/m3)<>(slug.ft-3)
2(rad/sec)<>rpm // did not convert. not sure why.
(1..100)<>USD<>EUR
SUPPORTEDUNITS()
1nibble<>bit
102400000000bit<>MB
1kB<>MB // seems wrong.
1kB<>Mb
1(kb)<>(bit)
Pi<>(rad/sec)<>rpm
1(rad/sec)<>rpm
1(rad/mn)<>rpm
(1(rad/mn)<>rpm)*2*Pi // should give 1.
1(rotation/mn)<>rpm
1(cycle/mn)<>(rad/mn)
1(cycle/mn)<>rpm
60rad<>deg
60rad<>deg<>rotation
1MB<>kB
1B<>kB
1MB<>B
1kB<>B
a=1(kg/m/s-2/t3)
a=1(kg/m/s-2/t3)
a=1(kg/m/s-2/t3)
a=1(kg/m/s-2/t3)
a=1<>(kg/m.s-2) // this worked though.
1(kg/m3)<>(slug/ft^3) // will not work due to ^.
1(kg/m3)<>(slug/ft3) //works
1(kg/m3)<>(slug.ft-3) //works
1(s-1)<>Hz
1(mn-1)<>Hz
velocity=3<>(m/s);
time=1hr;
velocity<*>time;
(((1..100)<>m)<^>2)<>acre
((1..100)<>m)<^>2
// ⏱(1000,ZC()) todo.
1m<>eor // this should say 1m as result.
UNITSFAILTONULL=true
1m<>eor this should give null as result.
UNITSFAILTONULL=false
1m<>eor // this should say 1m as result.
// 6/15/2016.
(1km</>3)≈3 // this is how we round things.
a=1m;
a^3;
1m<*>3m<*>34m
rad2piby10@SIN .graph()
z=LAZYOBJECT(1,100,10)
z(1);
z(100);
z=LAZYOBJECT(1,100,10)
z("length")
(1..100)∫SIN
(0..10)∫"z^7"
(0..100..20)∫("x")
[(0..100..20)∫("x"),(0..100..20)]
(1..100..23)∫(square:=x^2)
LAZYOBJECT("x^2")(6)
LAZYOBJECT("x^2")(34)
x=34;
(x<5)::x++; // similar to if statement.
x;
x=34;
(x<5)::{x++};
(x>5)::{x--};
x;
// else and else if with ,
x=34;
(x<5):: {x++},
(x>5):: {x--},
{x=x*2};
x;
x=34;
(x<5)::
{
x++
},
(x>5)::
{
x--
},
{
x=x*2
};
x;
// This did not work. Check.
DoubleIfEven:=
(x%2==0)::
{
2*x
},
(x>5)::
{
x;
};
Ƒ DoubleIfEven(x)
{
(x%2==0)::
{
∴(2*x)
},
(x>5)::
{
∴(x);
},
//otherwise // should we eat this term if there?
{
x=x*2
};
}
DoubleIfEven(24)
Ƒ DoubleIfEven(x)
{
(x%2==0)::
{
∴(2*x)
},
!(x>5)::
{
∴(x);
},
//otherwise // should we eat this term if there?
{
x=x*2
};
}
DoubleIfEven(24)
// !:
// can be used as
// (x>5):!:
// check this did not work.
Ƒ IsOddOrEven(x)
{
(x%2==0)::
∴(true), // did not work. check.
∴(false)
}
IsOddOrEven(24)
// this worked.
Ƒ IsOddOrEven(x)
{
(x%2==0)::
{∴(true)},
{∴(false)};
}
IsOddOrEven(23)
// check the structure here.
// Ƒ IsOddOrEven(x)
// {
// ∴((x%2==0)::(true),false});
// }
// IsOddOrEven(23)
SURFACEGRAPH("SIN(x*y)")
SURFACEGRAPH("x^2-y^3")
SURFACEGRAPH("x^2+y^2")
SURFACEGRAPH([MandeliterZ3]) // requires array of functions.
SURFACEGRAPH("x^2")
SURFACEGRAPH("1/x+1/y^2")
SURFACEGRAPH("SIN(x)+LOG(y)")
mb=SURFACEGRAPH("SINC(SQRT((x/Pi)^2+(y/Pi)^2))")
mb.view.set("range",[[-30, 30], [-0.3,1.0], [-30, 30]]); // y and z had to be switched.
mb=SURFACEGRAPH([MandeliterZ3]) // requires array of functions.
mb.view.set("range",[[-3, 3], [-1.0,1.0], [-3, 3]]);
mb=SURFACEGRAPH([Mandeliter]) // requires array of functions.
mb.view.set("range",[[-3, 3], [-1.0,1.0], [-3, 3]]);
mb.view.set("range",[[-2, 2], [-1000.0,1000.0], [-2, 2]]);
//if width and height are 200 in points,
width: 200, // 2000 was too much.
height: 200,
mb.view.set("range",[[-2, 2], [-10.0,10.0], [-2, 2]]);
// then we can start to see the fractal.
mb=SURFACEGRAPH([Mandeliter]) // requires array of functions.
mb.view.set("range",[[-2, 2], [-10.0,10.0], [-2, 2]]);
// for color try: with width 200 etc.
var c = IntToColor(INT(y));
emit(c[0], c[1], c[2], c[3]);
mv=SURFACEGRAPH("SIN(x)+LOG(y)")
//Set range to:
-1,10, -1, 10, -1, 10
//Set scale to:
1,2,1
a=2;
b=0;
a:::
{
2::
{
b++;
break;
},
!3::
{
b=345;
break;
}
}
b;
a=2;
b=0;
a:::
{
2::
{
b++;
},
3::
{
b=345;
}
}
b;
a=2;
b=0;
fruits="mango"
fruits:::
{
"apple"::
{
b++;
break
},
"mango"::
{
b=345;
break;
},
//default:: or empty
{
b=345;
break;
}
}
b;
fruits="mango"
fruits:::
{
"apple"::
b++,
"mango"::
b=345;
}
b;
// had error.
fruits="mango";
fruits:::
{
"apple"::
b++,
"mango"::
b=345
}
b;
//do otherwise, and how to make , be handled with case also.
//auto insert break.
// this was supposed to work like if statement. did not.
b=23;
fruits="mango";
(fruits=="apple")::
b++,
(fruits=="mango")::
b=34.5;
b;
// this worked.
b=23;
fruits="mango";
(fruits=="apple")::
b++;
(fruits=="mango")::
b=34.5;
b;
This works:
b=23;
fruits="mango";
(fruits=="apple")::
{ b++},
(fruits=="mango")::
{b=3.5},
// else:: // or not given.
{b=45.5};
b;
// if statements
b=23;
fruits="mango1";
(fruits=="apple")::
{ b++},
(fruits=="mango")::
{b=3.5},
{b=5.6};
b;
b=23;
fruits="mango1";
(fruits=="apple")::{ b++},
(fruits=="mango")::{b=3.5},
{b=5.6};
b;
//introduces break automatically now.
b=0;
fruits="pear";
fruits:::
{
"apple"::
{
b++
},
"mango"::
{
b=345
},
default::
{
b=45.6;
}
}
b;
// how to make this work?
b=0;
fruits="mango";
fruits:::
{
"apple","tomoto"::
{
b++
},
"mango"::
{
b=345;
; // this empty statement makes it fall through.
},
default::
{
b=45.6;
}
}
b;
b=0;
c=343;
fruits="mango";
fruits:::
{
"apple","tomato"::
b++;
c=3.4;
,
"mango"::
b=34905;
,
default::
b=45.6;
}
[b,c];
switch(a)
{
case b:
case c:
break;
default:
break;
}
(a<0)::whatever,
(a>4)::whateverelse,
whateverelseleft;
// this worked, but had 3 semicolons at the end.
a=3;
(a<0)::"whatever";,
(a>4)::"whateverelse";,
"whateverelseleft"
a=3;
(a<0)::{"whatever"},
{
!(a>4)::
{"whateverelse"},
{"whateverelseleft"}
}
(a>4)::
{"whateverelse"},
{"whateverelseleft"}
function varun(a)
{
(a<5)::{return(a+4)},
(a>10)::{return(a+40)},
{return(a+4)}
}
[varun(4),varun(45)]
function varun(a)
{
(a<5)::
{return(a+4)},
(a>10)::
{return(a+40)},
{return(a+4)}
}
[varun(4),varun(45)]
1..100.map((x)=>x*x)
1..100.map(function (x){return(x*x)})
1..100.$("x*x*x")
MAGICSQUARE(3).$("x*x*x")
[[[1..10]~]~]~
// picking elements or rows or columns from an array.
1..100.X(1..40..2); // not .x
(1..100@SIN).X(1..3)
//(this picks every even from 1..40 index position)
|4|.r(2) // row // should we consider upper case here?
|4|.c(2) // col
|4|.c(2,3)
MAGICSQUARE(5).extract(1,3)
MAGICSQUARE(5).x(1,3)
(MAGICSQUARE(5)~).x(1,3) // for columns
MAGICSQUARE(5)!
(1..100)↓
(1..100)↑
//todo:
a=-1;
⧓(1,a,30)
a=29;
⧓(1,a,30) //between g
a=31;
⧒(1,a,30) //xlbetween g
a=30;
⧒(1,a,30) //xlbetween g
⧒(1,2,30) // xlb g
⧒(1,1,30)
a=29;
⋈(1,-1..31,30);
⧓(1,-1..5,4);
[
⧓(1,1,30),
⧓(1,0,30),
⧓(1,10,30),
⧓(1,31,30),
⧑(1,29,30),
⧑(1,30,30),
⧑(1,1,30),
⧑(1,30,30),
⋈(1,1,30),
⋈(1,3,30)
]
(1..100)⍌
//for //flatten.
|4|⍌
(1..100)⦚ //for random.
(1..100)⦚3 //for random upto 3.
((1..100)⦚5)≈ // upto 5 but then round them.
(|3|⦚450)≈
(|4|⦚35)≈
44545.43434⌋
44545.43434⌋6 // is this right?
((|4|⦚3)⌋)
(|4|⦚30)|/|3
a=2;
a<20::
{a++;},
a>20::
{a=456};
a;
a=20;
a:::
{ 2::
{a++;},
20::
{a=456};
}
a;
5*√3
5√3 // 5th root of 3.
(1..37)√3
3√144 // 3rd root of n.
√144
a=4;
b=144;
a√b
a=4;
b=144;
a*√b
a=1..100.make("cartesian-2d");
(1..100@"z^2").make("cartesian-2d");
a=(1..100@"z^2").make("cartesian-2d")
// this looks like 2d array.
// but we need to do res.push(this[i].makecore(SomeCompositeType)); with 1 or 2 if the number of points are lesser or equal to what is needed.
a=1..100@SIN .make()
//why did a.$("x['polar']") not work?
a.polar()
// why is a.graph() now not working?
rad2piby10@SIN .make("polar-2d")
//a=rad2piby10;
//a.make("polar-2d");
// this makes it by two. How to do without that?
//a.pair(1,false).print()
a=rad2piby10;
b=a.pair(1,false).make("polar-2d");
b.make("cartesian-2d") // this did not work. Check why.
//XYPOINT is a definition, we need to create a new Object out of it to use.,
// Could consider a core function.
a=3;
a isnt 3
a=false;
not a;
a=34;
b=43;
if((a is 34) or (b is 435))
{
34;
}
else
{
54
}
a=34;
b=435;
((a is 34) and (b is 435))::
{
34;
}
,
{
54
}
a=34;
b=43;
if((a is 34) and (b is 435))
{
34;
}
else
{
54
}
a="papaya";
b="apple"
a is b
a="papaya";
b="apple"
a isnt b
a=341;
a isnt 34
a=341;
a is not 34 // this is different from isnt (as this is ==!)
1 to 100 by 2
1 to 100 to 2
1 .. 100 by 20
a=1 to 100 by 12;
b=10;
∵(a and (b is 10))
{
c=3434
}
c
∵(b is 10)
{
c=45;
}
b?=3 // existential operator. replaces with 3 if it does not have a value.
a=APPLYTOKEYS(1..100,COS)
a=APPLYTOKEYS({a:1,b:2},COS)
a=APPLYTOKEYS({a:1,b:2},PRINT)
a={a:2,b:3} .* PRINT // apply function over.
a={a:2,b:33}.*PRINT
a=(1..2);
a.* PRINT
x={a:2,b:33};
x.*PRINT
x={a:2,b:33};
x.*(SIN)
x={a:2,b:33};
x.*("x^2")
x={a:2,b:33};
x.*(["x^2","z^3"])
(1..100) .* ["x^2","x^4"]
MAGICSQUARE(5) .* ["x^2","x^4"]
MAGICSQUARE(5) .* "x^2"
// did that work?
±3;
a=±3;
SIN(a)
a=±3;
SIN(a)|+|33
a=±3;
SIN(a)<+>33
car=3;
a="this is a ##car## whatever"
car=3;
a="this is a ##car"
// here arrays are used to mark the sequence of parameters that are assigned.
qe:=[a,b,c,((-b)<+>±SQRT(b^2-4*a*c))</>(2*a)];
qe(1,2,-3) // quadratic equation solution.
// should answer be given as 1, -3. plus minus uses plus first.
√(1..100)
a=3;b=4;
|a,b,(a+b)|
a=3;b=4;
|4x3|
|4x3|<<<3..10
x=45;y=45;
|4,3,[x+y]|
//The last element if an array will be used to fill the elements.
// Here there should be atleast one element in the array to the left of this.
// That is to handle creation of functions etc. And for array programming inside array notation.
x=45;y=45;
|4,3,1..10|
x=45;y=45;
|4,3,(x,y)=>SUM(x,y-3)|
x=45;y=45;
|4,3,(x,y)=>[x,y]|
x=10;y=10;
b=|x,y,1..100|
b=|10,10,1..100|
b=|10,10,1..100|~
|10,10,(x,y)=>x^2|
a=10;
|a,a,(x,y)=>((x-a/2)^2+(y-a/2)^2)|
a=100;
|a,a,(x,y)=>((x-a/2)^2+(y-a/2)^2)| // will be slow. This calculates the function at all these points.
v:=u+a*t;
[1,2,3..5]@@v // note @@ forces combinatorial on the data array.
1..10@SIN
[1..10]@@SIN // will work
//1..10@@SIN will not work, since array 1..100 combinatorially will be large array that will not mean what the intent of calling it.
//@@ operator is to force combinatorial behavior without adjustment for single parameter.
FRACTION("1 1/2").equivalents(2)
FRACTION("1/2").equivalents(1..100)
FRACTION("1 1/2").equivalents(1..100)
a=(4/5)%%;
a=(4/5)%%;
a.multiply((2/5)%%)
MAKEFRACTION(2).toString()
//gives 3. why????
5%%5<+>4%%5
/* Results is not showing */
(5%%5<+>4%%5)%%
1.4%%3 // should be 1 4/3.
(4%%5)<+>((1%%5)<>m)
((4%%5)<+>((1.3%%5)<>m))%%
((4%%5)<+>((1.3%%5)<>m))%%;
2.4%%;
((4%%5)<>m)<+>((1.3%%5)<>m)
(4%%5)<+>((1.3%%5)<>m) // this did not keep units. Should we correct it?
((34%%5)<>m)<+>((1.3%%5)<>m)
((3.4%%5)<>m)<+>((1.3%%5)<>m)
// note 3.4%%5 is the fraction 3 4/5
[2 2; 3 4; 4 4 4;1..10 4]
dany:=a+3*b;
ARRAYFY(dany)
a=dany(1..10,3..20)
b=SUM(a);
LOAD("loans");
a=LOAN(100000,12%,12) ;
a.PAYMENTS()
1..100 .extract(3..5)
cartoons=["test","another"];
FOR(0..1,"[i,_cartoons[i]][1]")
cartoons=["test","another"];
FOR(0..1,(i)=>cartoons[i]);
n=50;
|n,n,[1..(n*n)]|
n=50;
|n,n,[1..(n*n)]|~
FOR(1..10,"SUM(1..(n*n))")
FOR(1..26,"SUM(1..(n*n))") .graphin()
CHIDIST(1..4,3..4)
#a-z |x+""+y| #a-z
#a-z |x+""+x|
[["cats1","dogs1"],"birds"]<<<[[2,[COS]],[SIN]]
[["cats3","dogs3"],"birds3"]<<<<[[2,[COS]],[SIN]]
[[2,[COS]],[SIN]]>>>>[["cats1","dogs1"],"birds"]
// object programming.
x :=
{
"r": r,
"h": h,
"a": π<*>r<*>(r<+>(h^2<+>r^2)^0.5),
"v": π<*>r^2<*>h</>3
}
x(1m,2m);
(0..100)<>degK<>degC
(1..100..2)%
SERIESOF("'x^'+x",10)
a=1..100@SIN .mergeio() .graphin()
// works now.
[1..10,1..10].at(SIN)
[1..10,1..10].at(SIN,-100,2) // second param is subtractby and third param is scale by.
[1..10,1..10].at("x",5)
[1..10,1..10].at("x",5)
[1..10,1..10].at("x",0,5)
|10,10,1..1000|.at("x",[10,10],[5,5])
|10,10,1..1000|.at("x",10) // still not what we wanted. That worked better with x,y index.
|10,10,1..1000|.at("x",50) // seems more like it. How do we get it to align right?
(|10,10,1..1000|~).at("x",50)
(|100,100,1..10000|~).at("x",500)
Ƒ getsin2(x)
{
∴(SIN(x)^2)
}
getsin2(34..100)
for(var x in 32..60)
{
OUTPUT(IMAGE("http://media1.santabanta.com/full1/Indian Celebrities(F)/Vidya Balan/vidya-balan-" + x +"a.jpg",100,100))
}
a=1..1000;
f:=x^3+45;
a@f;
// new array function.
1..100.atevery(0,10)
1..100.atevery(3,10)
LOAD("loans");
a=LOAN(100100,5%,12);
a.PAYMENTS();
LOAN(100100,5%,22).PAYMENTS()
2000..2005@"CAL(x)"
√(4m3)
c:=√(a^2+b^2);
c:=√(a<^>2+b<^>2); // SQRT is already units based.
=TABLE2!B4:C6~
=TABLE2!B4:C6.flatten().chunks(2)
2..10.explode().calci()
//in this calci select all cells. then do a sigma sum.
///got a SpreadSheetCalc Error TypeError: Cannot read property 'Cell' of undefined in extended rows.
|4,3,1..10|.$(a:=[x].explode())
|4,30,1..100..5|.$(a:=[x].explode())
|4,30,1..100..5|.$(a:=[x].explode())
function f1(x)
{
return(x+1)
}
f1(43);
(f2:=x+1)(48);
|4,3,1..10|.$(a:=[x].explode());
|4,3,1..10|.$(x=>[x].explode())
c=PMT(10%,10..24,1000,2000,1).io()
SVD([1 0 1; -1 -2 0; 0 1 -1])
|5,5,1..10|.$(MAGICSQUARE)
|5,5,5..10|.$(ARRAY)
STATS(PMT(10%,12..15,1000,1200..20000..1000,0..1))
d3.csv.parse(ZText(2)) // to parse CSV strings.
d3.csv.parseRows(ZText(2))
//https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population
// drop and from the table.
data.toframe().where("d['Population']>1000000000")
(1<>"millions of gallons2")<*>23m</>(1<>"millions of gallons3")
SomeText.split("\n").spliteach("\t")
// to parse tab file texts.
-could make SPLIT to work like this also
-SLIDERCONTROLS(B1)
-FRACTAL(B1) and 1..(B1) @SIN .graphin() pointing to B1
-then dynamically change the slider
ZCOLOR()
ZDATE()
ZDATE(C1,"ENTER DATE",new Date("1/2/2018")) // default did not seem to stick in
ZCOLOR(C1,"COLOR PICKER","#303030")
ZEMAIL()
ZDATETIMELOCAL()
ZMONTH()
ZWEEK()
ZRANGE()
ZURL()
=HYPERLINK(B1) //to the control
=ZTEXTBOX(A3,"test","title",/d+/)
ZFILE(B3)
-
GETLOADEDCONTENT(#TABLE1!B3)
.replace(/\r\n/gi,"<br>")
-from GlobalFileStores
ZPROGRESS(B4,"PROGRESS IS",A2,C2,B2)
ZMETER(B4,"PROGRESS IS",A2,C2,B2)
etc
etc
ZORGCHART()
-similar to diagram concept
TIMER(C2,1000,1,true,true)
-C2 will change by 1 every 1 second
-put FRACTAL pointing to this maybe
ZUP(B2,200,20,"+")
ZDOWN(B2,200,20,"-")
ZUPDOWN(B2,200,20,"+/-")
ZUPPRESS(B2,200,20,"+")
ZDOWNPRESS(B2,200,20,"-")
ZUPDOWNPRESS(B2,200,20,"+/-")
ZNUMBER(B2,200,"+/-")
CHORDDIAGRAM(1..10@"TAN(x)")
LOAD("https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.6.1/p5.js")
-can include p5.js
-https://p5js.org/examples/instance-mode-instance-container.html
XNPV(0.1..10..1,[-10000,2750],[#1/1/2008,#3/1/2008]) .o() .graphin()
CALLLISP("(CHIDIST 1 (2 3 4) 32)")
CALLLISP("(+ 1 (2 3 4) 5)")
CALLLISP("(CHIDIST (3 4) (4 5) )")
-filter: url(#turbuMap); etc gives nice effects
((0..100..10)%)@(x=>NPV(x,[-75000,10000]))
NPV(0.1..1..0.01,-10000,3000,4200,6800)
v:=u<+>a<*>t;
v ⩨;
v(0,%g,(0..100)<>s)
BEZIERPOINTS([[0, 0], [1, 1], [2, 2]],100)
BEZIERPOINTS([[0, 0, 0], [1, 1, 1], [2, -3, 6]],10)
(1..100)∫(x=>x^2)
LATEX(INTEGRAL("sin(x)"))
LATEX(ROOTS("(x+3)*(x-4)"))
LATEX(ROOTS("(x^2+2*x+45)"))
NUMERATOR("3/33+4/44")
DENOMINATOR("3/33+4/44")
RATIONALIZE("3/33+4/44")
LATEX(EXPAND("x^2+x^3*(x+3x+3)"))
LATEX(SIMPLIFY("(x-4)/(x+3)*(x+3)"))
a=SIMPLIFY("(x-4)/(x+3)*(x+3)");
b=FUNCT(a)
b(23)
LATEX(ALGEBRA("(x-4)/(x+3)*(x+3)"))
LATEX(INTEGRAL("z^2+x^4","x","z"))
a=FUNCT(INTEGRAL("x^5/2+x^8"))
1..10@a
b=FUNCT(INTEGRAL("z^2+x^4","x","z"));
c=b ⩨;
c(1..10,2..20)
DERIVATIVE("x^2+y^2","[x,y]")
DEFINITEINTEGRAL("x^2","x",0,10)
ALGEBRA("A=[[a,b],[c,d]]\ndet(A)")
ALGEBRA("A=[[a,b],[c,d]]\ndet(A)\ninv(A)")
SIMPLIFY("((n^2)!/(n^2-1)!)/(x)")
1..100@FACTOR
LATEX(SIMPLIFY("a*b^2+a*c"))
LATEX(EXPAND("(x-1)*(x-2)^3"))
ROOTS("3 x + 12 + y = 24")
ROOTS("a*x^2+b*x+c")
ROOTS("(x^4+x^3)*(x^4*x^2)")
NROOTS("x^16+x^15+2")
ALGEBRA("nroots(x^16+x^15+2)")
LATEX(ALGEBRA("nroots(x^16+x^15+2)"))
fns=1..10@(x=>"(x+1)^"+x)
fns.$(EXPAND)
1..100@(x=>ALGEBRA("prime("+x+")"))
ALGEBRA("factor(100!)")
INTEGRAL("u+a*t","t") // integral of v with dt is S
ALGEBRA("(a+b)^3")
fns=1..10@(x=>"(a+b)^"+x)
fns.$(ALGEBRA)
ROOTS("x^2+3x+345")
ALGEBRA("(a+b)*(a-b)")
// in algebra mode
c=[[a,b],[d,e]]
det(c)
inv(c)
integral(sin(x)^2+cos(x)^4)
integral(u+a*t)
LATEX(INTEGRAL("u+a*t"))
LATEX(INTEGRAL("u*t+a*t^2","t"))
LATEX(INTEGRAL("u*t+a*t^2","t","u"))
ALGEBRA("taylor(e^x,x,5)")
TAYLOR("1/x","x",3,1)
TAYLOR("sin(x)","x",3,1)
TAYLOR("log(x)","x",3,1)
TAYLOR("log(x)+sin(x)","x",3,1)
RATIONALIZE("a^2/b+b/a")
1..10@(x=>ALGEBRA("legendre(x,"+ x + ")"))
1..10@(x=>LATEX(ALGEBRA("legendre(x,"+ x + ")")))
1..10@(x=>LATEX(ALGEBRA("laguerre(x,"+ x + ")")))
A=eval(NROOTS("2x^2+4x-5"))
A[1]
// lisp. add such a mode
CALLLISP("(SIN (1 2 3))")
1..10@"1/x"
|4|.$(x=>x<>m)
units.on;
ઔક=48m;
ઞટ=334cm;
ઔક/3*ઞટ
GEOCODE("10777 Westheimer, Houston, TX 77042")
SHA256(["This is a test","hello"])
(1..10@"'(a+b)^'+x").$(EXPAND)
1..10@(SERIESSTR("POWER(_x , x)",1..10).tofunctions())
d=[["z^1","z^3"],["z^4","z^5"]].tofunctions()
d.$(x=>x(3))
[["x^2","x^7"],["x^2","x^7"]].$(FUNCT)[0][0]
DIVISORS(10)
PRIMEFACTORS(100)
ABUNDANTNUMBERS(110) // wiki upto
DEFICIENTNUMBERS(110) // wiki upto
PERFECTNUMBERS(10) // wiki upto
DIGITS(1..100) // digits
1..100.inner(2) // skip 2 and give inner elements
1..100.outer() // and give outer 2 elements
1..100.outer(2) // and give outer includingsome (2 here) elements
1..100.allslices() // slices of length 1 to end
1..10.allslices(true) // reverse slices of length 1 to end
1..10.buckets() // returns an object with key frequency pairs
a=1..10.fillwith(1..3).buckets()
a=1..10.fillwith(1..3).buckets()
b=FLATTENOBJECT(a)
d=1..10@SIN;
d.columns("SIN")
d=1..10@SIN;
d.io().columns(["Number","SIN"])
d=1..10@SIN;
d.io().column("Number","SIN")
d=(#TABLE1) .toframe()
d.sortbykey("Column2")
d=(#TABLE1) .toframe() ;
d.sortbykey(4)
d=(#TABLE1) .toframe() ;
d.bykey(4)
d=(#TABLE1) .toframe() ;
boo=d.bykey(4);
boo[15]
ISINTEGER(15)
ISINTEGER("15")
ISSAFEINTEGER("15")
ISSAFEINTEGER("15.34")
1..100@["z^2",SIN,COS]
BERNOULLINUMBERS(0..30)
- not accurate after 12 or so
PYTHAGOREANTRIPLETS(10)
TRIANGULARSEQUENCE(1..100)
NSTEPFIBONACCI(1,10)
CONTINUEDFRACTION([2,3,4,"..."])
SERIESSTR("1/x^_x",1..5).concat("...").tolatex("+")
SERIESSTR("1/x^_x",1..5).concat("...").tolatex("+-".split(""))
SERIESSTR("1/x^_x",1..9).concat("...").tolatex("+-".split(""))
SQRT(5..100).$(x=>(x+"").letters())
5..100.$(x=>ALGEBRA('sqrt('+x+')')).$(x=>x.letters())
PYBERNOULLI(1..30)
"+-".letters()
1..1000@(n=>(1+1/n)^n) .last(10)
- to see how e is calculated
also
SUM(0..1000@"1/x!")
-both should add to E
-more numbers closer to result
PYBERNOULLI(14)
PYBERNOULLI(0..30)
ABS(BigInt(-100000))
PYBERNOULLI(0..60) - crashes and gives string 6 issue
PYBERNOULLI(39) gave non-zero result why???
PYBERNOULLI(25)
(13%%23) .add(12%%23)
a=DIVISORS(1..10)
.io()
//.$$(r=>r.print())
1..10@DIVISORS
.io()
//.$$(r=>r.print())
c=1..10@DIVISORS
.io()
.$$(r=>r[1].length)
//.transpose()
c.sortbykey(0)
// still not working as expected
d=1..100@DIVISORS
.io()
e=d .$$(r=>[r[0],r[1].length])
//.transpose()
f=e.sortbykey(1)
f
FACTORIAL(BIGN(1..100))
a=SUM(POWER(2,BIGN(200)),POWER(2,BIGN(201)))
a=SUM(POWER(2,BIGN(200)),POWER(2,BIGN(201)))
ACKERMANN(3,0..5)
TETRATE(2,0..4)
TETRATE(3,0..3)
PENTATE(2,0..3)
TETRATE(BIGN(4),3)
TETRATE(4,3)
POWER(2,BIGN(1..100))
POWER(2n,250)
23n<+>3434343343434343434343434343434343443n
(2^233n)<>n
(4%%6)<+>(10%%13)
a=10d45r4
a.sin()
((1.11%%112)<>m)<->((5%%12)<>cm)
a=10.3334d2;
b=12.33d7;
[a.times(b), a*b]
((1000n)<>mi)<*>((10n)<>km)
((10000000000000000000n)<>mi)<*>((1000000000000000000000000000000000n)<>km)
a=[(1%%3),2]<>m
a=COMPLEX(2..4,3)
SIN(a)
a=COMPLEX(1,2,"j")
IMSIN(a)
Check all these
IMABS
IMAGINARY
IMARGUMENT
IMCONGUGATE
IMCOS
IMCOT
IMCOSH
IMCSC
IMCSCH
IMEXP
IMDIV
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
0.75f;
0.25f;
0.4f;
SIN(30deg)<>f
SIN(30deg)<>f2
SIN(30deg)<>f3
SIN((1..30)<>deg)<>f3
SIN((1..30)<>deg)<>f1
COS((1..30)<>deg)<>f1
COTAN((1..30)<>deg)<>f1
SIN((1..100)<>d32)
SIN((1..100)<>d32)
ATANH(1%%1)
Infinity
COMBIN(3000,40n)
FACT(400n)
SQRT(2d300)
SIN((1..10)+ⅈ(3..4))
POWER(1+ⅈ3,3)
LONGPI(400)
.split("")
.buckets()
(1+ⅈ3)<*>(2+ⅈ4)
units.on;
(1+ⅈ3)*(2+ⅈ4)
a=(1+ⅈ3)<>m;
b=(1+ⅈ3)<>m;
c=a<*>b;
a=(1+ⅈ3)<>m;
b=(1+ⅈ3)<>m;
c=a<*>b;
a=(1+ⅈ3)<>m;
b=(1+ⅈ3)<>ft;
c=(a<*>b)<>cm2;
((1%%6)<>m)<+>((34%%7)<>mm)
LATEX((1%%6)<>m))
LATEX((1%%6)<>m)
((1+ⅈ9) <>m)^23
a=SIN(1+ⅈ4);
b=SIN(14+ⅈ34);
(a<+>b)<^>2
a=SIN(1+ⅈ4);
b=SIN(14+ⅈ34);
(a<+>b)<^>(2+ⅈ3)
a=SIN(1+ⅈ4);
b=SIN(14+ⅈ34);
(a<+>b)<>mm<^>2
// flu types
ZC(
[1..17,1..10]@"'H'+x+'N'+y"
.parts(17)
)
a=SIN((1..30)<>deg)<>f3;
a.$(x=>x.value())
a=10+ⅈ45;
b=23+ⅈ34;
SIN(a)
a=(10..15)+ⅈ(45..56);
b=23+ⅈ34;
SIN(a)
a=4+ⅈ5;
a=a<>m;
a<>cm
a=4+ⅈ5;
a=a<>m;
a<>cm
((1+ⅈ3)<>cm)<*>((2+ⅈ4)<>mm)
((1+ⅈ3)<>m)<*>((2+ⅈ4)<>mm)
AVG(1cm,1m)
SUM((1+ⅈ3)<>m,1m)
AVG((1+ⅈ3)<>m,1m)
AVG((1+ⅈ3)<>m,1m)
-do VAR VARCORE etc.
STDEV((1+ⅈ3)<>m,1m)
STDEV((1+ⅈ3)<>m,1m)
STDEV((3)<>m,1m)
SUM(1%%4,1%%3)
SUM(1%%4<>m,1%%3<>cm)
-confusing since m was applied only to denominator
-should we apply to the entire fraction if any have a unit?
SUM((1%%4)<>m,(1%%3)<>cm)
MINUS(2m,100cm)
MAX(2.1%%4cm,100cm)
MIN(12000m,2km)
MIN(1m,2kg)
MIN(1+ⅈ43,1+ⅈ30)
IMABS([1+ⅈ43,1+ⅈ30])
MIN(1+ⅈ43,1+ⅈ30)
IMABS([1+ⅈ43,1+ⅈ30]);
(1+ⅈ43).subtract(1+ⅈ30)
MIN(3,1)
PRODUCT((1..10)<>m)
PRODUCT(1m,2m,4)
DIVIDE(1.1%%3m,2%%3kg)
MINUS(1.1%%3,2%%3)
OR(1%%3)
LARGE([1m,2cm,3cm],1)
SMALL([1m,2cm,3cm],1..4)
SMALL((1..10)<>m,1..4)
HARMEAN(4,5,8,7,11,4,3)
HARMEAN(4%%5,5,8,7,11,4,3)
GEOMEAN(4,5,8,7,11,4,3)
CORREL([3,2,4,5,6],[9,7,12,15,17])
CORREL([3m,2cm,4,5,6],[9m,7cm,12,15,17])
SortAsFlatArray(((1..10)<>m).concat(1000cm) ⋱)
SORT(((1..10)<>m).concat([[900cm]]));
FACTORIAL((1..63)<>n)
FACTUNTIL((1..10)<>n,5)
FACTORIAL((2..106)<>n)
SUMXMY2((1..10)<>m,(11..20)<>m)
SUMX2PY2((1..10)<>m,(11..20)<>m)
SUMX2MY2((1..10)<>m,(11..20)<>m)
[1,2,3].backward(AVG)
[1,2,3].backward(sum,15)
[1,2,3].backward(sum)
[1,2,3].backward()
PRIMES(10)
.allslices()
.$$(r=>r.backward())
SUM(4%%5,1%%6)
Z3EVAL("(155n)!")
NTHROOT(3%%4,4)
NTHROOT(3%%4,4).value()
NTHROOT(-3%%4,4)//.value()
FACTDOUBLE(1..100)
FACTDOUBLE(1..100,5)
MULTIFACTORIAL(1..100,5)
MULTIFACTORIAL(1..100,5,10)
FACTDOUBLE(230n)
FACTDOUBLE(2300%%213)
FACTDOUBLE(11.1%%3m)
FACTDOUBLE(11.1%%3m)
FACTDOUBLE(32%%5)
FACT(6+ⅈ3)
FACT((1..10)+ⅈ(3..10))
FACTORIAL(35%%4)
FACTORIAL(35%%4<>m)
FACTORIAL(34n)
NTHROOT(34d100,3)
NTHROOT(34d3,3)
PERCENTAGES(1%%4,2%%4,3%%3)
RATIOS(1%%4,2%%4,3%%3)
RATIOS(1m,2cm,45nm)
COMBIN(34%%3,2)
COMBIN(34%%3,2)
COMBIN(34,2)
// why are they so different?
TRUNC(44%%5)
TRUNC(44%%5)
TRUNC(44%%5,1)
TRUNC(44%%3,0)
PERMUT(34%%3,2)
PERMUT(34/3,2)
a=((1m)..(10m))
a=((1m)..(10m)..(2m))
LT(BIGN(0),(0.001))
LT(BIGN(0),BIGN(1))
LT(BIGN(10),BIGN(1))
a=((1d)..(10d)..(2n))
a=((1%%3)..(1%%2)..(1%%6))
a=((1%%3)..(1%%2)..(1%%100)) ~
a=((1%%3)..(1%%2)..(1%%100)) ~
SUM(1%%2<>cm,4m)
a=(1m)..(200cm)
KFUNCTION((1..20)<>n)
SUPERFACTORIAL((1..20)<>n)
NONFALSEVALUE(1)
NONFALSEVALUE(BIGN(1))
NONFALSEVALUE(BIGN(0))
LT(FRACTION(1,2),0.000000001)
GT(FRACTION(1,2),0.000000001)
GT(FRACTION(1,2000000000)<>m,0.000000001cm)
GT(FRACTION(1,200)<>cm,0.000001km)
GT(FRACTION(1,200)<>mi,1.01m)
#MONTHS!A1:B4
A=1..100;
#A!A1
A=MAGICSQUARE(3);
#A!A1
A=MAGICSQUARE(3);
#A!A1:C2
#MONTHS!A1:A4
#MONTHS!1:4
#DAYS!1:4
#MONTHS!4:7
MULTIPLES(1000,10m,2mm,60,false)
MULTIPLES(100,10mm,2m,60)
((2%%4)! ).value()
((2%%4)! )
4.5!
BINOMIAL(190,2)
BINOMIAL(10,2)
BINOMIAL(1..10,2)
|4,4,RANDOM|.$(FRACTION)
UNIFORMDISTRIBUTED(10,1,100).$(FRACTION)
a=[1 2 4 43 32 2 12 2 1];
a ⋰;
a=[1mm 2mm 4m 43cm 32mm 2mm 12cm 2cm 1mm];
a ⋰;
a=[1mm 2%%34 4 43 32 2 12 2 1];
a ⋰;
a.nounits(false,true)
a
//a.nounits()
a.nounits(true,true)
a=1+3i;
b=1+ⅈ3;
c=1+3ⅈ;
d=1+3j;
e=1+3k;
b1=23;
f=1+b1<>k;
[a,b,c,d,e,f]
IMABS(f)
a=10;
b=23.33;
y=a+b<>k;
a=SUM(4,3i<>m);
a=SUM(4,3i<>m);
GAMMAFUNCTION(10.00001131+3i)
NORMDIST(42,40,1.5,TRUE)
NORMDIST(42d30,40,1.5)
// this followed by normal accuracy still had original accuracy
NORMDIST(42d30,40,1.5)
NORMDIST(42,40,1.5)
NORMDIST(42d4,40d55,1.5)
CHIDIST(18.307d343,10)
SUM(1.23d34,1%%3)
a=SUM(1%%4<>cm,1%%5<>m);
SUM(1%%5<>m,1%%3)
SUM(20000000000000000000000000000000n,1.5d)
a=SUM(200000000000000000000000000000001n<>m,1.22222222222222233232323235d455)
GAMMADIST(23,1,3..10)
CHIDIST(1..10,(2..20)<>d56)
CHIDIST(0.5d,3d)
MAX(1.1%%4,1.2,1.2d)
EXP(1d309)
a = 0..(1%%4)..(1%%8)
(0<>n<>m)..(10<>n<>m)..(2<>n<>m)
a = 0..(0.1<>m)..(1<>cm)
SUM((0.5)<>d<>cm,4<>n<>m)
((1000n)<>mi)<*>((10n)<>km)
((10000000000000000000n)<>mi)<*>((1000000000000000000000000000000000n)<>km)
NTHROOT(3%%4,4) // now looks good
FACTORIAL(35%%4<>m)
ROUNDDOWN(76.9,0)
ROUNDDOWN(76.9,0)
((5n)!)!
SPLIT("TEHTIS",/T/g)
LCM(12m,4cm)
LCM(12cm,4m)
LCM(4m,12cm)
ROUNDUP(3.2,0n)
ROUNDDOWN(3.2,0n)
NTHROOT(64,2n)
ROUNDUP(3.2,0n)
--//3
GCD(2<>n<>m,4<>d<>cm)
--//2
NTHROOT(64,2n)
--//1
NTHROOT(2+ⅈ2,4d)
--//SORRY! Invalid Param
NTHROOT(2+ⅈ2,2-ⅈ1)
--//1
NTHROOT(2+ⅈ2,5)
--//1.2311444133449163
POWER(1%%2,2n)
--//null
POWER(1+ⅈ2,2d)
--//0
POWER(1+ⅈ2,1%%3)
--//0
POWER(2n,0.5)
--//1
POWER(1+ⅈ3,(3d))
--//0
RANDOMNUMBERGENERATION(10,10,"NORMAL")
a=(1..10);
a.explode()
a=(1..10);
a.map(x=>SIN(x))
- not
a=(1..10);
a.map(SIN)
// explain why in next session
// try logarithmic
1..10@"2^x" .graphin()
1..10@"x^2" .graphin()
b=[
1 2 3cm 4;
4 5 6 4;
7m 8 9 5;
2 83 94 55
];
DET(b)
//gives with units etc
b=[
1 2 3cm 3;
4 5 6 4;
7m 8 9 5;
2 83 94 55
];
DET(b)
// this will give 0 which is actually correct
b=(|4||/|3);
c= b<>f3
function AttackerSuccessProbability(q, z)
{
p = 1.0 - q;
lambda = z * (q / p);
sum = 1.0;
var i, k;
for (var k = 0; k <= z; k++)
{
var poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 - pow(q / p, z - k));
}
return sum;
}
AttackerSuccessProbability(0.45,880)
XFOR(x=>AttackerSuccessProbability(0.1,x),0.001)
0..0.3..0.1.$(y=>XFOR(x=>AttackerSuccessProbability(y,x),0.001))
AttackerSuccessProbability(0.1,4.906820048461781)
XFOR(x=>POWER(2,x),1..43)
XFOR(x=>POWER(2,x),64)
GraphSurfacePlotWithContours(|50|)
ZCanvas(),""
ZDiv(),""
ZSpan(),""
ZCanvasx(),""
ZDivx(),""
ZSpanx(),""
// "" to not extract the element and show it on calcresult
CTRL+ALT+D to toggle doodle
[[1,3,4],[2,3,4]].$C(1..3,SUM,3,1)
1m</>3s
1m</>3(s-3)
z=[10000,2..3,12..16,20000]@PMT;
z.io().crosstab()
// make these location, function array, parameter array
z.$C([2,2,2,3],SIN)
a=ARRAY(4,4,0).deal(100)
b=a.$C(2,"x^2");
MS(9) // magicsquare
TM(19) // Test Matrix
TM(19,67)
MIN("1/1/2010","1/2/2010")
MAX("1/1/2010","1/2/2010")
500degK<>degC
a=1..10; a.checktype("number")
a=#a..z; a.checktype(["number"])
a=#a..z; a.checktype(["string"])
CRITBINOM(20,0.75,0.65)
BINOMDIST(15.5,20,0.75,true)
units.on;
a=1m;
a+=1;
LONGIFY(BETADIST)
a1:=a+b;
LONGIFY(a1)
ARRAYFY(a1)
a1((23..46)<>m,44.454455455555555555555555555555555555555555555555555555555555555555cm)
ops.on;
a:=a+b; // will not work as this will be a recursive call
a(9,23)
ops.on;
a:=b==0?1:a(b-1)*3; // will not work as this will be a recursive call
a(9,23)
ops.on;
a:=ac+b;
a(9,23)
ops.on;a=34;b=34;
a=a<>cm+b<>m;
//a(9,23)
ops.on;
a:=b+c;
a(9d,2.33333333333333333333333333333333333333333333d)
ops.on;
a:=b+c;
a(933333333333333333333333333334343434444444444444444444444443333n,2333333333333n)
FDZ(1..10,10)
CONVERGE(SIN,50deg,100)
CMP(2..10,3..10)
1..10@SIN .graph("pie")
1..10@SIN .graph("bubble")
1..10@SIN .graphbox("bubble")
JULIA(-0.116,1.04)
JULIA(-0.16006,0.849)
JULIA(#a-e)
r=8(degC);
n=2(mol);
p=r<*>n;
1℃<>degK
a=1..100;
console.log(a,1,2,3,"CAT");
console.log(PMT(5%,10..50,19999,1,0))
b=1..200;
DECIMALPART(9.1003)
a=DECIMALPART(9.1003d30)
ENFORCEINTEGER(-5.5..-3.4)
ENFORCEINTEGER(-5.5..)
ENFORCEINTEGER(-5.5..-9)
ENFORCEINTEGER(-5.5..34)
ENFORCEINTEGER(-5.5..34)
ENFORCEINTEGER(-5.5e-12..-34e12)
NEXTPOWER(6,0.2)
NEXTPOWER(123)
NEXTPOWER(123,10)
B1={};
B1["apple","peach"]=[2,4]
B1.apple;
B1.peach; // works;
B1={};
B1["apple","peach"]<<<[2,4];
[B1.apple,B1.peach];
A={};
[2,3]>>>>A[1,2]
FOREACH(1..2,2..4,"x*3*y")
FOREACH(1..2,2..4,z=>x*3*y)
A=[];
[2,3]>>>>A[1,2]
b=A[1,2,4]
A=1..10;
A[1,[1,2],(3,4)]
A=1..10;
A[1,[1,2],(3)]
A=MAGICSQUARE(5);
A[1,[1,2],(3,4)]
B1={};
B1["apple","peach"]=[2,4]
B1.apple;
B1.peach; // works;
B1={};
B1["apple","peach"]<<<[2,4] // <<<< or <<<
B1.apple;
B1.peach; // works;
FOREACH(1..2,2..4,"z=x*3*y") // will not work due to z
FOREACH(1..2,2..4,"z:=x*3*y") // will not work due to z
FOREACH(1..2,2..4,z=>x*3*y)
FOREACH(1..2,2..4,"x*3*y")
B1={};
B1["apple","peach"]<<<[2,4];
B1.apple;
had issues
B1={};
B1["apple","peach"]<<<[2,4];
[B1.apple,B1.peach];
1..10..2
a=1..10..3; does not work
a=1...10...3; does not work
1.0e-2..1000...2
a=1...10...3;
a=1...10...3;
a=1..10..3;
a=1...10..3;
a=1e10...10e-2...3;
// had issues
a=1e10...10e-2...3;
a=1e-10...10e-2...3;
MMULT((1..3)***3,(1..3)***3)
1..4***3
3..4**3
(3..4)**3
##Value Of Color =34;
//works now had to add parser two functions also for get and set of z3globals flag
a=a#; // we need to use this for arrayfy and # as undefined
// -see how to make this work
a=a#;
a=#abc;
a=b#;
a=b#[1,2,3];
a=b#[1,2,3];// # has zero precedence. what is best?
//test simple range logic also
a=b#[1,2,3];
a=b# ;
a=b#[2,2];
a=function (a){return(a+1)}#[2,4];
a=#1/1/2030
a=#ac
a=## Long Variable Names;
a=##Long Variable Names;
a="34 ## 344";
##a b c=a;
##a b c
1..10|#|1..20
1..10|##|1..20
[1..10]|#|[1..20]
[1..10]|##|[1..20]
1..10.pieces(3)
1..10.pieces(3,SUM)
1..10.piecesasarray(3)
PI(300)<*>4
1..10@(n=>ACOS(UNITSOF(-1,("d"+n))));
PASCALTRIANGLE(20,true)
REDUCEFUNCTION(x=>1.4*x*1-x,10,0.5..4..1)
REDUCEFUNCTION(x=>1.4*x*(1-x),10,1.5..4..0.1,true)
// ?
ISPRIME("357686312646216567629137"<>n)
PI(1024)
PI(1..100)
ops.on;
5d45^(1/2);
φ=GOLDENRATIO();
[φ^2,1-φ]
a=12222222222222222222222222222222<>n;
a^2
CODEOF("codesegment1")
Ctrl+f9 on selected text already makes it an equation
[1..9,2..10]@SELF
.print()
[1..9,2..10]@IT
.print()
// seems similar to IT and SELF
// still has [[[structure]]]
a=1..100;
a.f(x=>LT(x,10))
(1%%2) .mediant(1%%4)
// Combinatorial Pairs
CP(1..9,2..10)
CP([1..9,2..10])
CP([1..9,2..10,3..10])
MEDIANT(1%%2,1%%3,1%%5) // https://en.wikipedia.org/wiki/Mediant_(mathematics)
MEDIANT(1.223,445.55)
MEDIANT([1.223,445.55])
MEDIANT(1..10@RECIPROCAL)
MEDIANT(1..100.$(x=>1/x))
FIBONACCI(20)
.$(RECIPROCAL)
.chunks(2)
DIFFSTRING("test","test1")
FIBONNACI(200n)~
FIBONNACI(200)~
POINT(12,3,5)
.magnitude()
GOLDENANGLE(true,1d100)
GOLDENANGLE(false,1d120) // has some issues
GOLDENANGLE(false,1d120) - seems like UNITSOF with same units has an issue of double reduction
GOLDENANGLE(false,1d1000)
GOLDENANGLE(false,UNITSOF(1,"d120")) +""
ops.on;
φ=GOLDENRATIO(false,1d100);
fibonnaci=FIBONACCI(2000<>n);
[1476..1487]@(function wal(n){return([φ^n,(fibonnaci[n])*φ+(fibonnaci[n-1])]~)})
MOD(3928413764606871165730n,(3..10)) // gives zeros since these are decimals etc.
MOD(3928413764606871165730n,(3..10) <>n)
// need page guides off for this to work. check menu
a=[
["id","left","background","duration","animate"],
["1Space","34px",["rgb(255,2,0,1)","rgb(255,2,250,1)"],3500,"animate"]
];
RENDER(a,"#1Space")
a=[["id","left","background","duration","animate"],["1Space",["34px",400],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]];RENDER(a,"#1Space")
a=[["id","rx","ry","stroke","duration","animate"],["bg_VMLShape1",["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]];
RENDER(a,"#bg_VMLShape1")
// with one element of circle
// the drawing of jj net
x=500..0..-10
a=x.mergerows(0..0);
b=x.mergerows(0..0).m(r=>r.reverse()).reverse();
c=a.mergerows(b)
d=c.m(r=>["line",r])
ab=RENDER(d)
e=d.map(r=>[r[0],[r[1][0],500-r[1][1],500-r[1][2],r[1][3]]])
RENDER(e,ab)
a=
[
["id","x1","y1","stroke","duration","animate"],
[$(ab).find("line"),["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]
];
RENDER(a,"#SvgjsSvg1107")
// with one element of circle
""
//simpler
a=0..500..10;
b=(0).replicate(51);
x=a.mergerows(b)
y=b.mergerows(a.backward())
r=x.mergerows(y)
pts=r.m(r=>["line",r])
s=x.mergerows(y)
sg=RENDER(pts);
a=
[
["id","x1","y1","stroke","duration","animate"],
//[$(ab).find("line"),["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]
["line",["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]
];
RENDER(a,sg)
""
//simpler
a=0..500..10;
b=(0).replicate(51);
x=a.mergerows(b)
y=b.mergerows(a.backward())
r=x.mergerows(y)
pts=r.m(r=>["line",r,"liner"])
pts.header=["type","coordinates","class"]
s=x.mergerows(y)
sg=RENDER(pts);
a=
[
["id","x1","y1","stroke","duration","animate"],
//[$(ab).find("line"),["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]
["line",["34px",40,100],[134,40,100],["rgb(255,2,0,1)","rgb(255,2,250,1)"],13500,"animate"]
];
RENDER(a,sg)
""
MS(10).mergecolumns(MS(10))
MS(10).mergerows(MS(10))
MS(10).mergerows(10)
MS(10).mergecolumns(12)
MS(10).mergecolumns((10).replicate(10))
a="🂱 🂲 🂳 🂴 🂵 🂶 🂷 🂸 🂹 🂺";
a.split(/\s/).shuffle()
a=a2z.split("")
CP(a,a).M(r=>r.join(""))
CHIDIST(CP(1..10,2..20))
DIGITS(134002522254444444444434545454545454545n)
DIGITS(134002522254444444444434.545454545454545d33,false,false)
DIGITS(134002522254444444444434.545454545454545d33,false,true) // ignores no numbers
https://twitter.com/SrinivasR1729/status/1308034763630895106
ops.on;
sumprimes=
num=>((1..300)<>n)@(n=>ISPRIME(SUM(DIGITS(num)^n)))
.io()
.filter(r=>r[1]==true)
sumprimes(16)
// american flag 3
RENDER(
[
["type","x","y", "width","height","fill", "count","shape","id","href","sides","size"],
["rect",10,(i)=>i*20, 400, 20, (i)=>(i%2)?"white":"red" ,15,,,,,],
["rect",10, 0, 200, 140, "blue" ,1,,,,,],
["star",50, 0, 200, 140, "white" ,1,true,"star11","","12",10],
["use",(i)=>((i)%6)*30+50, (i)=>((i+1).intdiv(6))*30+50, 300, 140, "white" ,6*5,false,"","star11","",300],
["use",(i)=>((i)%5)*30+20+50, (i)=>((i).intdiv(5))*30+20+50, 300, 140, "white" ,4*5,false,"","star11","",300]
]
)
""
// american flag 4 final
RENDER(
[
["type","x","y", "width","height","fill", "count","shape","id","href","sides","size"],
["rect",10,(i)=>i*20, 400, 20, (i)=>(i%2)?"white":"red" ,13,,,,,],
["rect",10, 0, 200, 140, "blue" ,1,,,,,],
["star",50, 0, 200, 140, "white" ,1,true,"star11","","12",10],
["use",(i)=>((i)%6)*30+30, (i)=>((i).intdiv(6))*25+15, 300, 140, "white" ,6*5,false,"","star11","",300],
["use",(i)=>((i)%5)*30+20+25, (i)=>((i).intdiv(5))*25+20+10, 300, 140, "white" ,4*5,false,"","star11","",300]
]
)
""
// indian flag final
RENDER(
[
["type","x","y", "width","height","fill", "count","shape","id","href","sides","size","cx","cy","r","stroke","stroke-width","points","transform"],
["rect",10,(i)=>i*90, 400, 90, ["orange","white","green"] ,3,,,,,,],
["circle",,,,, ,1,,,,,,200,135,40,"blue",5,],
["circle",,,,, ,1,,,,,,200,135,5,"blue",10,],
["polyline",,,,, "blue" ,24,,,,,,,,,"blue",1,i=>[200,135,199,120, 200,95,201,120,200,135],(i=>({"rotation":(i+1)/24*360,"cx":200,"cy":135})) ],
]
);
""
// clock
RENDER(
[
["id","type","coordinates","width","height","fill","count","label"],
["","rect",POLYPOINTS(12,100,100), 10,10,"red",12,i=>i+1],
["hour","line",[110,110,110,50], ,,"blue",,],
["minute","line",[110,110,110,40], ,,"green",,],
["second","line",[110,110,110,20], ,,"red",,]
]
);
""
LINESPLIT([[10,10],[20,20],[40,98]],10)
PATHSPLIT("M100,100 L34,55 34,56",10)
triangle=POLYPOINTS(3,100,100);
LINESPLIT(triangle,10)
triangle=POLYPOINTS(3,100,100);
LINESPLIT(triangle,10,true)
triangle=POLYPOINTS(3,100,100);
s=LINESPLIT(triangle,10,true)
lines=[]
lines=
(s[0].rowpush(s[1]))
.concat([s[1].rowpush(s[2])])
.concat([s[2].rowpush(s[0])])
lines.m(r=>r.flatten())
var d= [
["type","coordinates","count"],
["line",lines,lines.length]
]
RENDER(d)
RENDER(
[
["type","size"],
["circle",100],
["circle",200],
[],
["type","size","stroke","fill"],
["circle",400,"red",],
["circle",600,"yellow"]
]
)
MERGEARRAYS([1,2,3],[3,4,5]).print()
MERGEARRAYS([1,2,3],[3,4,5],[2,4,5]).print()
// 118 for periodic table elements
SPHERICALPOINTS(118,800)
HELICALPOINTS(118,800)
GRID3DPOINTS(118,800,800,2000,5,5,118)
1..100@(x=>RANDINT(4)<+>1)
d="ATCG"
1..100@(x=>d[RANDINT(4)])
d1="ATCG";
d2="TAGC";
1..1000@(function (){var r=RANDINT(4);return([d1[r],d2[r]])})
d1="ATCG";
d2="TAGC";
c=1..1000@(()=>d1[RANDINT(4)]) ;
// dna
d1="ATCG";
d2="TAGC";
c=1..1000@(()=>RANDINT(4)) ;
dna=[c.map(x=>d1[x]),c.map(x=>d2[x])]
// rna
d1="AUCG";
c=1..1000@(()=>RANDINT(4)) ;
rna=[c.map(x=>d1[x])]
helix1=HELICALPOINTS(118,100);
SCALEPOINTS(helix1,0.2)
helix1=HELICALPOINTS(118,100);
SCALEPOINTS(helix1,[0.2,0.4])
RENDER(
[
["type","cx", "cy", "r","coordinates","label","fill","stroke","stroke-width","font-size","format"],
["circle",100,100,60,,,"purple","purple"],
["circle",100,100,30,,,"white","white"],
["text",,,,[90,65],"1",,"black",3,40],
["download",,,,[90,65],"1",,"black",3,40,"png"]
]);
""
Array.prototype.mapto
points to xy VECTOR2 VECTOR3 VECTOR4 etc.
pointarray.mapto("XY")
POLYPOINTS(3,10).mapto("XY")
POLYPOINTS(3,10).mapto("VECTOR3")
POLYPOINTS(3,10).mapto("xy")
// Array or arrays or array of object manipulations using .mapto or .mapfrom
// to go from arrays to xy points or other complex objects
b=POLYPOINTS(3,10).mapto(["abc","def"])
b=POLYPOINTS(3,10).mapto("xy")
b.mapfrom(["x"])
b.mapfrom(["y"])
b.mapfrom(["x","y"])
b.mapfrom("x,y")
b.mapfrom("x y "," ")
b.mapfrom("x y"," ")
b.mapfrom("xabcy",/abc/g)
POLYPOINTS(3,10,null,NULL,TRUE) // shows IsClosed flag for POLYPOINTS and MAKEPOLYGONPOINTS
.mapto("xy")
.pieces(2,null,TRUE) // shows pieces with full length only
["type" ,"name" ,"mass" ].uc()
["TYPE" ,"NAME" ,"MASS" ].lc()
["TYPE OF","NAME" ,"MASS" ].mc()
["TYPE OF","NAME" ,"MASS" ].mc().lc()
["TYPE OF","NAME" ,"MASS" ].fn(f=>f.length)
["TYPE OF","NAME" ,"MASS" ].fn(CAMELCASE)
// array.fn is a powerful function
// .fn("lc") applies el.lc to each
// .fn("value") applies el["value"] if value is not a function, and is an attribute
// .fn(fn) applies fn(el) if fn is a function
// core version was to apply lc etc.
// fns can be chained on array also
["TYPE OF","NAME" ,"MASS" ]
.fn(CAMELCASE)
.fn(INVERTCASE)
.fn(INVERTCASE)
[
["TYPE" , "COLOR", "INTENSITY"],
["AMBIENTLIGHT", "RED", 0.6]
].lc();
[MONTHS,MONTHS].fn("length")
[MONTHS,MONTHS].fn(x=>x.length)
[MONTHS,MONTHS].fn(x=>POWER(x.length,2))
[MONTHS,MONTHS].fn(x=>SQUARED(x.length))
[MONTHS,MONTHS].fn(x=>CUBED(x.length))
[MONTHS,MONTHS].fn(x=>POWERED(4,x.length))
p=XED(5); // creates a function with POWER(x,5) same as POWERED(5,x)
p(12..200)
p=XED(3);
p(1..200)
[1,2,"3"].json()
MS(10).json()
MONTHS.json()
LOADCODEINTOEDITOR("a=23;b=345;a+b")
RENDER3D Examples on Draft
-https://wiki.zcubes.com/Todo_3D_Parametric to do parametric geometry equations
-docx can be simply dragged and dropped to zcubes now.
-iframe possibly with alt etc.
-get numbers from a dragged dropped docx
-Z(5).match(/[0-9]+/g)
PMT(5%,[12,13],1000,10,TRUE)
-also works for CHIDIST etc.
in calci
PMT(5%,[12,13],1000,10,TRUE).o() gives just the output
input with
PMT(5%,[12,13],1000,10,TRUE).input
BARCODE("TEST")
BARCODE(1..10)
BARCODE(123,"CODE128")
BARCODE(123,"EAN")
BARCODE(123,"code128",{
lineColor: "#0aa",
width:4,
height:40,
displayValue: false
})
BARCODE(123,"codabar")
BARCODE(5901234123457,"EAN13")
// derive from this. note the number of characters etc.
JsBarcode("#barcode", "5901234123457", {format: "EAN13"});
JsBarcode("#barcode", "123456789999", {format: "UPC"});
JsBarcode("#barcode", "96385074", {format: "EAN8"});
JsBarcode("#barcode", "54495", {format: "EAN5"});
JsBarcode("#barcode", "53", {format: "EAN2"});
// from https://github.com/lindell/JsBarcode/
CODE128
CODE128 (automatic mode switching)
CODE128 A/B/C (force mode)
EAN
EAN-13
EAN-8
EAN-5
EAN-2
UPC (A)
UPC (E)
CODE39
ITF
ITF
ITF-14
MSI
MSI10
MSI11
MSI1010
MSI1110
Pharmacode
Codabar
NORMDIST(Num(3),Num(4),Num(5),TRUE,0.000000001)
-much faster
(1..(100n))!
(#codesegment1)
.map(r=>(r.toString()).length)
// .toString is important for bigint to work
(#codesegment1)
.map(r=>(r.toString().match(/0+$/)+"").length)
PILONG(1000)
PILONG(1000,true)