-
0
2
2
-
1
0
7
- 1befb76b-3ae0-4c41-a49a-08ff8ab671b0
- Shaded
- 0
-
255;201;201;201
-
255;168;168;168
- 638344539743439943
- XHꓨ..⚪ᗩ⚪ᑐᑕ⚪ꖴ⚪✤⚪ᗩ⚪ᙏ⚪ᗱᗴ⚪옷⚪✤⚪ᗩ⚪ᙏ⚪◌⚪◌⚪◌⚪◌⚪◌⚪◌⚪ᙏ⚪ᗩ⚪✤⚪옷⚪ᗱᗴ⚪ᙏ⚪ᗩ⚪✤⚪ꖴ⚪ᑐᑕ⚪ᗩ⚪..GHX
- 0
-
844
-413
- 1.25
- 0
- 0
- 1
- WolframGrasshopperComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- 1.0.0.0
- Wolfram Research, Inc.
- 01232c5d-6656-4c8d-ace0-6625841871e0
- WolframComponents
- 21
- aa15eaab-5801-421a-a937-bfdfa4768b64
- 01232c5d-6656-4c8d-ace0-6625841871e0
- WL Code
- Evaluate Wolfram Language code
- 7376205f-408c-43ec-a91d-cc50ad48b361
- WL Code
- WL Code
-
-267
330
83
64
-
-229
362
- The Wolfram Language expression to execute
- 084c5d1d-b4a8-4379-ac93-5900276a3c5d
- Expr
- Expr
- false
- 32ca42c3-b85d-40fc-b02f-a79187312f7b
- 1
-
-265
332
24
30
-
-253
347
- 1
- 1
- {0}
- false
- Table[{Cos[t],Sin[t],Tan[t]},{t,0,Pi,.2}]
- The link to the Wolfram Engine
- 122dceed-0424-491c-96af-59c8e39cc075
- Link
- Link
- true
- 0
-
-265
362
24
30
-
-253
377
- The result
- 564c34fd-6d62-4359-be14-18020db7f40b
- Result
- Result
- false
- 0
-
-217
332
31
20
-
-201.5
342
- The entire result, as an Expr, for debugging
- e32058e3-2ff1-49bd-bd34-258d98bb5703
- Expr
- Expr
- false
- 0
-
-217
352
31
20
-
-201.5
362
- The link to the Wolfram Engine
- 94fc5cbb-90c6-4c16-a72d-17b2c7e6f041
- Link
- Link
- false
- 0
-
-217
372
31
20
-
-201.5
382
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 9e1d72fa-136a-4282-8a84-bfc294d0a01f
- Panel
- false
- 0
- 564c34fd-6d62-4359-be14-18020db7f40b
- 1
- Double click to edit panel content…
-
529
78
50
20
- 0
- 0
- 0
- 2
-
255;255;255;255
- false
- false
- true
- false
- false
- true
- fbac3e32-f100-4292-8692-77240a42fd1a
- Point
- Contains a collection of three-dimensional points
- b731122a-226d-4448-829a-f10aac320680
- Point
- Point
- false
- e094bed0-8589-4d81-a21d-3fcd6ab63d47
- 1
-
772
158
50
24
-
797.1018
170.6394
- 04887d01-504c-480e-b2a2-01ea19cc5922
- Text Split
- Split some text into fragments using separators
- 5e7da803-d989-48de-af58-0a1e9820d92a
- Text Split
- Text Split
-
407
167
112
44
-
474
189
- Text to split.
- b48de432-69c3-4bc5-8fc0-15c334385841
- Text
- Text
- false
- 61005a47-bf72-44ac-b2ee-58fe4593ead5
- 1
-
409
169
53
20
-
435.5
179
- Separator characters.
- 6c32c007-df1e-4ed7-afb7-ffe5d448d832
- Separators
- Separators
- false
- 0
-
409
189
53
20
-
435.5
199
- 1
- 1
- {0}
- false
- ;
- 1
- Resulting text fragments
- 69ce8129-1f45-4bb3-8de3-581ce4a1a633
- Result
- Result
- false
- 0
-
486
169
31
40
-
501.5
189
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- aa52b699-115e-4a9f-bcec-58c4a13989a3
- Panel
- false
- 1
- 69ce8129-1f45-4bb3-8de3-581ce4a1a633
- 1
- Double click to edit panel content…
-
605
-134
256
230
- 0
- 0
- 0
-
605.2226
-133.9167
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 071c3940-a12d-4b77-bb23-42b5d3314a0d
- Clean Tree
- Removed all null and invalid items from a data tree.
- 255e4acb-1cdd-4e5d-a970-84f368af7d20
- Clean Tree
- Clean Tree
-
260
423
125
84
-
347
465
- 4
- cb95db89-6165-43b6-9c41-5702bc5bf137
- cb95db89-6165-43b6-9c41-5702bc5bf137
- cb95db89-6165-43b6-9c41-5702bc5bf137
- 8ec86459-bf01-4409-baee-174d0d2b13d0
- 1
- 8ec86459-bf01-4409-baee-174d0d2b13d0
- Remove null items from the tree.
- 8fb7905e-d3bd-4955-9520-1b9d7ebab227
- Remove Nulls
- Remove Nulls
- false
- 0
-
262
425
73
20
-
298.5
435
- 1
- 1
- {0}
- true
- Remove invalid items from the tree.
- b9960170-299c-4d90-8d7a-7979567b97cf
- Remove Invalid
- Remove Invalid
- false
- 0
-
262
445
73
20
-
298.5
455
- 1
- 1
- {0}
- true
- Remove empty branches from the tree.
- e120710b-8029-4c46-b4cf-ceacd1683bd2
- Remove Empty
- Remove Empty
- false
- 0
-
262
465
73
20
-
298.5
475
- 1
- 1
- {0}
- true
- 2
- Data tree to clean
- bf49d7a8-fcc9-46d1-9fa1-b2ca0b9fe7ee
- Tree
- Tree
- false
- b731122a-226d-4448-829a-f10aac320680
- 1
-
262
485
73
20
-
298.5
495
- 2
- Spotless data tree
- 0dac9609-7399-4524-aabd-14171872cdea
- Tree
- Tree
- false
- 0
-
359
425
24
80
-
371
465
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 235f03bb-9a28-43ec-b77b-f9610e3ada3c
- Panel
- false
- 1
- 0
- ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[Cos[t]],256]],ToString[DecimalForm[N[Sin[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[2*Pi],N[Pi/4]}]],256]]
-
-509
-31
349
230
- 0
- 0
- 0
-
-508.2093
-30.54315
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 03f2dfc4-89ae-4b63-a758-9925c47e365f
- Panel
- false
- 1
- 564c34fd-6d62-4359-be14-18020db7f40b
- 1
- Double click to edit panel content…
-
-113
-120
360
230
- 0
- 0
- 0
-
-112.4783
-119.1838
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 4df8df00-3635-45bd-95e6-f9206296c110
- Replace Text
- Replace all occurences of a specific text fragment with another
- ed87df4b-cfeb-4517-8b5d-d3493335220f
- Replace Text
- Replace Text
- false
-
290
-6
98
64
-
343
26
- Text to operate on.
- 4396a2de-d23b-4aaf-965d-521cdac47c9d
- Text
- Text
- false
- 564c34fd-6d62-4359-be14-18020db7f40b
- 1
-
292
-4
39
20
-
311.5
6
- Fragment to replace.
- 8d00effe-4756-4f0b-ba17-cd71e180ef58
- Find
- Find
- true
- 0
-
292
16
39
20
-
311.5
26
- 1
- 1
- {0}
- false
- },{
- Optional fragment to replace with. If blank, all occurences of F will be removed.
- c701e2a9-2d56-4d69-87b3-c3ec53229cae
- Replace
- Replace
- true
- 0
-
292
36
39
20
-
311.5
46
- 1
- 1
- {0}
- false
- ;
- Result of text replacement
- 3f3d8116-c897-4cc1-8f26-d9cfbf2afd3a
- Result
- Result
- false
- 0
-
355
-4
31
60
-
370.5
26
- 4df8df00-3635-45bd-95e6-f9206296c110
- Replace Text
- Replace all occurences of a specific text fragment with another
- b3b64136-04eb-4608-a772-d663b6ef34ab
- Replace Text
- Replace Text
- false
-
579
165
98
64
-
632
197
- Text to operate on.
- e211b2fd-8539-475d-80d7-54d6943f9553
- Text
- Text
- false
- 69ce8129-1f45-4bb3-8de3-581ce4a1a633
- 1
-
581
167
39
20
-
600.5
177
- Fragment to replace.
- ab024e3d-28c3-438a-948a-20a00790f073
- Find
- Find
- true
- 0
-
581
187
39
20
-
600.5
197
- 1
- 1
- {0}
- false
- {
- Optional fragment to replace with. If blank, all occurences of F will be removed.
- 349e9e37-ee89-48a7-a1c9-c15a69b10bcc
- Replace
- Replace
- true
- 0
-
581
207
39
20
-
600.5
217
- Result of text replacement
- 52ccc5eb-b4bf-4e53-9146-4f6c3cfd6f40
- Result
- Result
- false
- 0
-
644
167
31
60
-
659.5
197
- 4df8df00-3635-45bd-95e6-f9206296c110
- Replace Text
- Replace all occurences of a specific text fragment with another
- bad5cca5-493e-4704-8ec0-77e7bfb7945f
- Replace Text
- Replace Text
- false
-
640
287
98
64
-
693
319
- Text to operate on.
- 092653d6-6f1c-4744-af5f-48ded73369a5
- Text
- Text
- false
- 52ccc5eb-b4bf-4e53-9146-4f6c3cfd6f40
- 1
-
642
289
39
20
-
661.5
299
- Fragment to replace.
- 7278a7fa-acec-410f-9837-f6a5ef234013
- Find
- Find
- true
- 0
-
642
309
39
20
-
661.5
319
- 1
- 1
- {0}
- false
- }
- Optional fragment to replace with. If blank, all occurences of F will be removed.
- 0b09f73d-3b76-4872-b23e-af65f6ccf7e0
- Replace
- Replace
- true
- 0
-
642
329
39
20
-
661.5
339
- Result of text replacement
- b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c
- Result
- Result
- false
- 0
-
705
289
31
60
-
720.5
319
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 56223043-f43a-42ef-985f-d78d63756e0d
- Panel
- false
- 1
- b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c
- 1
- Double click to edit panel content…
-
893
227
422
230
- 0
- 0
- 0
-
893.2493
227.1955
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 757d8d62-c94b-4f14-9c46-fabb75b95b88
- Panel
- false
- 1
- 0
- ClearAll[iCurvaturePlotHelper, CurvaturePlot]
iCurvaturePlotHelper[
f_?(Head[#] =!= List &), {t_, tmin_,
tmax_}, {{x0_, y0_}, \[Theta]0_}, opts : OptionsPattern[]] :=
Module[{sol, \[Theta], x, y, if},
sol = NDSolve[{
\[Theta]'[t] == f,
x'[t] == Cos[\[Theta][t]],
y'[t] == Sin[\[Theta][t]],
\[Theta][tmin] == \[Theta]0,
x[tmin] == x0,
y[tmin] == y0
}, {x, y}, {t, tmin, tmax}, opts];
if = {x[#], y[#]} & /. First[sol];
if
]
CurvaturePlot[f_, {t_, tmin_, tmax_}, opts : OptionsPattern[]] :=
CurvaturePlot[f, {t, tmin, tmax}, {{0, 0}, 0}, opts]
CurvaturePlot[f_, {t_, tmin_, tmax_}, p : {{x0_, y0_}, \[Theta]0_},
opts : OptionsPattern[]] :=
Module[{\[Theta], x, y, sol, rlsplot, rlsndsolve, if, ifs},
rlsplot = FilterRules[{opts}, Options[ParametricPlot]];
rlsndsolve = FilterRules[{opts}, Options[NDSolve]];
If[Head[f] === List,
ifs =
iCurvaturePlotHelper[#, {t, tmin, tmax}, p,
Evaluate@(Sequence @@ rlsndsolve)] & /@ f;
ParametricPlot[
Evaluate[#[tplot] & /@ ifs], {tplot, tmin, tmax},
Evaluate@(Sequence @@ rlsplot)]
,
if =
iCurvaturePlotHelper[f, {t, tmin, tmax}, p,
Evaluate@(Sequence @@ rlsndsolve)];
ParametricPlot[Evaluate[if[tplot]], {tplot, tmin, tmax},
Evaluate@(Sequence @@ rlsplot)]
]
];
ariasD[0] = 1;
ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1);
iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec);
z=SetPrecision[x,Infinity];s=1;y=0;
z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2];
If[ThueMorse[q]==1,s=-1];
1-Abs[1-z+2 q]];
While[z>0,n=-Floor[RealExponent[z,2]];p=2^n;
z-=1/p;w=1;
Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}];
y=w-y;
If[Abs[w]<Abs[y] tol,Break[]]];
SetPrecision[s Abs[y],prec]];
FabiusF[Infinity] = Interval[{-1, 1}];
FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x];
Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &;
SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming;
ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[X],256]],ToString[DecimalForm[N[FabiusF[X]],256]],ToString[DecimalForm[N[0],256]]},{X,0,N[1],N[1/16]}]],256]]
-
-520
-605
349
294
- 0
- 0
- 0
-
-519.5425
-604.2982
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 657af43c-250e-4e51-93c6-6810eb267706
- Panel
- false
- 0
- 74992216-b019-4116-a9c3-4c5aad3fb726
- 1
- ariasD[0] = 1;
ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1);
iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec);
z=SetPrecision[x,Infinity];s=1;y=0;
z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2];
If[ThueMorse[q]==1,s=-1];
1-Abs[1-z+2 q]];
While[z>0,n=-Floor[RealExponent[z,2]];p=2^n;
z-=1/p;w=1;
Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}];
y=w-y;
If[Abs[w]<Abs[y] tol,Break[]]];
SetPrecision[s Abs[y],prec]];
FabiusF[Infinity] = Interval[{-1, 1}];
FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x];
Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &;
SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming;
ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[t],256]],ToString[DecimalForm[N[FabiusF[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[1],N[1/32]}]],256]]
-
176
651
161
294
- 0
- 0
- 0
-
176.1313
651.6918
-
255;255;255;255
- true
- false
- true
- false
- false
- true
- 758d91a0-4aec-47f8-9671-16739a8a2c5d
- Format
- Format some data using placeholders and formatting tags
- 14fc0b38-e972-49af-92fe-f7f422d34799
- Format
- Format
-
370
630
88
64
-
420
662
- 3
- 3ede854e-c753-40eb-84cb-b48008f14fd4
- 7fa15783-70da-485c-98c0-a099e6988c3e
- 8ec86459-bf01-4409-baee-174d0d2b13d0
- 1
- 3ede854e-c753-40eb-84cb-b48008f14fd4
- Text format
- 2f5b811b-689d-4e1b-9ea3-ffc7fcfe7ef9
- Format
- Format
- false
- 0
-
372
632
36
20
-
390
642
- 1
- 1
- {0}
- false
- {0:R}
- Formatting culture
- 4139ec23-7b86-4007-be98-c402dcf7c7ed
- Culture
- Culture
- false
- 0
-
372
652
36
20
-
390
662
- 1
- 1
- {0}
- 127
- Data to insert at {0} placeholders
- 658b2a94-b7ee-4060-9e04-c159b4e92d44
- false
- Data 0
- 0
- true
- b731122a-226d-4448-829a-f10aac320680
- 1
-
372
672
36
20
-
390
682
- Formatted text
- 74992216-b019-4116-a9c3-4c5aad3fb726
- Text
- Text
- false
- 0
-
432
632
24
60
-
444
662
- 3e8ca6be-fda8-4aaf-b5c0-3c54c8bb7312
- Number
- Contains a collection of floating point numbers
- e919fa31-d79e-4f67-9aed-e70feda8de8e
- Number
- Number
- false
- 74992216-b019-4116-a9c3-4c5aad3fb726
- 1
-
586
691
50
24
-
611
703
- 3ede854e-c753-40eb-84cb-b48008f14fd4
- Text
- Contains a collection of text fragments
- c12585f7-fe64-4c0f-869d-d10df254cf72
- Text
- Text
- false
- b731122a-226d-4448-829a-f10aac320680
- 1
-
631
524
50
24
-
656
536
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- 32ca42c3-b85d-40fc-b02f-a79187312f7b
- Panel
- false
- 1
- 0
- ClearAll[iCurvaturePlotHelper, CurvaturePlot]
iCurvaturePlotHelper[
f_?(Head[#] =!= List &), {t_, tmin_,
tmax_}, {{x0_, y0_}, \[Theta]0_}, opts : OptionsPattern[]] :=
Module[{sol, \[Theta], x, y, if},
sol = NDSolve[{
\[Theta]'[t] == f,
x'[t] == Cos[\[Theta][t]],
y'[t] == Sin[\[Theta][t]],
\[Theta][tmin] == \[Theta]0,
x[tmin] == x0,
y[tmin] == y0
}, {x, y}, {t, tmin, tmax}, opts];
if = {x[#], y[#]} & /. First[sol];
if
]
CurvaturePlot[f_, {t_, tmin_, tmax_}, opts : OptionsPattern[]] :=
CurvaturePlot[f, {t, tmin, tmax}, {{0, 0}, 0}, opts]
CurvaturePlot[f_, {t_, tmin_, tmax_}, p : {{x0_, y0_}, \[Theta]0_},
opts : OptionsPattern[]] :=
Module[{\[Theta], x, y, sol, rlsplot, rlsndsolve, if, ifs},
rlsplot = FilterRules[{opts}, Options[ParametricPlot]];
rlsndsolve = FilterRules[{opts}, Options[NDSolve]];
If[Head[f] === List,
ifs =
iCurvaturePlotHelper[#, {t, tmin, tmax}, p,
Evaluate@(Sequence @@ rlsndsolve)] & /@ f;
ParametricPlot[
Evaluate[#[tplot] & /@ ifs], {tplot, tmin, tmax},
Evaluate@(Sequence @@ rlsplot)]
,
if =
iCurvaturePlotHelper[f, {t, tmin, tmax}, p,
Evaluate@(Sequence @@ rlsndsolve)];
ParametricPlot[Evaluate[if[tplot]], {tplot, tmin, tmax},
Evaluate@(Sequence @@ rlsplot)]
]
];
ariasD[0] = 1;
ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1);
iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec);
z=SetPrecision[x,Infinity];s=1;y=0;
z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2];
If[ThueMorse[q]==1,s=-1];
1-Abs[1-z+2 q]];
While[z>0,n=-Floor[RealExponent[z,2]];p=2^n;
z-=1/p;w=1;
Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}];
y=w-y;
If[Abs[w]<Abs[y] tol,Break[]]];
SetPrecision[s Abs[y],prec]];
FabiusF[Infinity] = Interval[{-1, 1}];
FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x];
Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &;
SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming;
ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[X],256]],ToString[DecimalForm[N[FabiusF[X]],256]],ToString[DecimalForm[N[0],256]]},{X,0,N[1],N[1/256]}]],256]];
П = CurvaturePlot[
Evaluate[
SetPrecision[SetAccuracy[Abs[FabiusF[X/Pi*((((4))))/2]], Infinity],
Infinity], {X, 0, 4 \[Pi]}, WorkingPrecision -> ((((10)))),
Accuracy -> Infinity, MaxRecursion -> 0, PlotPoints -> 1 + 2^((((8))))],
Axes -> {True, True}];
Show[П, Frame -> True, FrameTicks -> {{-1, 0, 1}, {-1, 0, 1}},
PlotRange -> Full, AspectRatio -> 1];
ↀПↀ = Flatten[Cases[П, Line[X__] -> X, Infinity], 1];
Export["ↀПↀ", ↀПↀ, "CSV"];
ↀПↀ
-
-629
330
349
671
- 0
- 0
- 0
-
-628.7882
330.9467
-
255;255;255;255
- true
- true
- true
- false
- false
- true
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
- A panel for custom notes and text values
- d540c611-1af7-4e7e-9179-d4927d03008d
- Panel
- false
- 0.50049507617950439
- b731122a-226d-4448-829a-f10aac320680
- 1
- ariasD[0] = 1;
ariasD[n_Integer?Positive] := ariasD[n] = Sum[2^((k (k - 1) - n (n - 1))/2) ariasD[k]/(n - k + 1)!, {k, 0, n - 1}]/(2^n - 1);
iFabiusF[x_]:=Module[{prec=Precision[x],n,p,q,s,tol,w,y,z},If[x<0,Return[0,Module]];tol=10^(-prec);
z=SetPrecision[x,Infinity];s=1;y=0;
z=If[0<=z<=2,1-Abs[1-z],q=Quotient[z,2];
If[ThueMorse[q]==1,s=-1];
1-Abs[1-z+2 q]];
While[z>0,n=-Floor[RealExponent[z,2]];p=2^n;
z-=1/p;w=1;
Do[w=ariasD[m]+p z w/(n-m+1);p/=2,{m,n}];
y=w-y;
If[Abs[w]<Abs[y] tol,Break[]]];
SetPrecision[s Abs[y],prec]];
FabiusF[Infinity] = Interval[{-1, 1}];
FabiusF[x_?NumberQ] /; If[Im[x] == 0, TrueQ[Composition[BitAnd[#, # - 1] &, Denominator][x] == 0], False] := iFabiusF[x];
Derivative[n_Integer][FabiusF] := 2^(n (n + 1)/2) FabiusF[2^n #] &;
SetAttributes[FabiusF, {NumericFunction, Listable}];//Timing//AbsoluteTiming;
ToString[DecimalForm[N[Table[{ToString[DecimalForm[N[t],256]],ToString[DecimalForm[N[FabiusF[t]],256]],ToString[DecimalForm[N[0],256]]},{t,0,N[1],N[1/32]}]],256]]
-
-260
521
200
289
- 0
- 0
- 0
-
-259.466
521.5567
-
255;255;255;255
- true
- false
- true
- false
- false
- true
- 4df8df00-3635-45bd-95e6-f9206296c110
- Replace Text
- Replace all occurences of a specific text fragment with another
- cc216dbe-7368-4ad0-b361-9576424dcc24
- Replace Text
- Replace Text
- false
-
288
-92
98
64
-
341
-60
- Text to operate on.
- 5cd71bb6-669e-4d72-a523-2cdb216701d2
- Text
- Text
- false
- 3f3d8116-c897-4cc1-8f26-d9cfbf2afd3a
- 1
-
290
-90
39
20
-
309.5
-80
- Fragment to replace.
- e1c09eab-68b7-48e7-957e-87030b47bda3
- Find
- Find
- true
- 0
-
290
-70
39
20
-
309.5
-60
- 1
- 1
- {0}
- false
- }, {
- Optional fragment to replace with. If blank, all occurences of F will be removed.
- 2e47c43c-8894-49f7-a14f-1b3fea26d3e0
- Replace
- Replace
- true
- 0
-
290
-50
39
20
-
309.5
-40
- 1
- 1
- {0}
- false
- ;
- Result of text replacement
- 61005a47-bf72-44ac-b2ee-58fe4593ead5
- Result
- Result
- false
- 0
-
353
-90
31
60
-
368.5
-60
- 4df8df00-3635-45bd-95e6-f9206296c110
- Replace Text
- Replace all occurences of a specific text fragment with another
- 1f0052c3-423a-4465-8ef2-f805a6329226
- Replace Text
- Replace Text
- false
-
665
405
98
64
-
718
437
- Text to operate on.
- 7325d639-6c5c-4e2f-919c-39e02e0214cd
- Text
- Text
- false
- b0ba83ad-8597-47a1-8b7d-06bc1ac8e14c
- 1
-
667
407
39
20
-
686.5
417
- Fragment to replace.
- ec476a49-2011-45a1-8aca-3b453af8972b
- Find
- Find
- true
- 0
-
667
427
39
20
-
686.5
437
- 1
- 1
- {0}
- false
- *^
- Optional fragment to replace with. If blank, all occurences of F will be removed.
- 3253bef1-f9af-4db5-a1e7-8c1d46347bf7
- Replace
- Replace
- true
- 0
-
667
447
39
20
-
686.5
457
- 1
- 1
- {0}
- false
- *10^
- Result of text replacement
- e094bed0-8589-4d81-a21d-3fcd6ab63d47
- Result
- Result
- false
- 0
-
730
407
31
60
-
745.5
437
-
iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAIAAADrOV6nAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACNlSURBVHhe7d3pd1VFswZw/2z95Fr+B7qWshaoBEJIIGEICgoiIAFRRhlEVPQ6XOd5xvHeX/bTbnf2OSec5EyBUB/26l1d3V3dTz1VvU/wfR96IPeD/N8DuWflPwj/t4d8/PHHf/zxR6zHJn/99dfFixc9y/u45Pfff7ff995776OPPir739jC5w0K4T///PPtt9+WlzHKAwiHKe+//35pjVE2NYR37tx59913f/jhh2+++ea777775JNPvvrqq++///6zzz579dVX33nnnc8///yNN97wZExJNFg6rC+++OLLL7/EPBorfvrpp8bS//3332bLk80HH3xgFXLr1i3zeKX8+uuvGcu6b731lkUt5JX+fyphzCAz9yObGsIff/zROZ49e/bkyZNLS0t79+49cuTImTNnDh48+PLLL1+6dOm5556jzLFeuXIFnBpejx8/bsi5c+egSPPaa6+99NJL+/fvZy8g3nzzTRjQLC4u7tmzB/C//PILG6PMfOLECfFx+PDh559/3hILCwu7d+828Pz585SnT5+G/c2bN/uvqXa6eSEkf1ZSXqorSdgGGHRU227fvo09YAMM2KRKbUdsfpQClVdAotGvv/76008/6Xr77be9cuPnn39mcPXqVU+zCRfsZE+sJYAouWr+AOa1Znb/stkh7BSp1aHj4oULF5ASM1555ZUXXngBgZAGh+bn548ePYorhw4dkv3w5tixY/TyoUN88cUXGe/bt4+NXsTFTqDqMoN8e/36dV2ysVHmN4n5QVuWX7tsagidYwgn++EQrvz222/aH374IfxQCj/UMMWGsWkzCgwEXaCIwYYbiHCZxKu2p8nxDK6cwd10GYKCpsVvryguLDyNNYkh7Om9Zq1+ZFNDiHCgwhs8QIiZmRkE0lCcsApLaFQsuIITh7AKZmjHhqRiWUsbWbHTbE4fJGaWeBmrf3qVOpB7ff311xVXaN24cQOcqik5derU7Oysqomvelleu3YN/MXLu8mmhhAAGEOUHzilmBmIB3o9nSNmULqPaDh0T3WOXi8uulLiE2ghl1uleumS6UAZmxmW0IIZUeqYZVqWyG02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