This and that.
This commit is contained in:
parent
74f936efa0
commit
ec5036bf63
|
|
@ -21,7 +21,15 @@
|
||||||
"execution_count": 1,
|
"execution_count": 1,
|
||||||
"id": "08a49b81",
|
"id": "08a49b81",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"2147483648"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"1 31 << "
|
"1 31 << "
|
||||||
]
|
]
|
||||||
|
|
@ -39,7 +47,13 @@
|
||||||
"execution_count": 2,
|
"execution_count": 2,
|
||||||
"id": "b34d58ef",
|
"id": "b34d58ef",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": []
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"unit [base] swoncat inscribe"
|
"unit [base] swoncat inscribe"
|
||||||
]
|
]
|
||||||
|
|
@ -65,7 +79,13 @@
|
||||||
"execution_count": 3,
|
"execution_count": 3,
|
||||||
"id": "35476eac",
|
"id": "35476eac",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": []
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"[valid_digit [0 >] [base <] &&] inscribe"
|
"[valid_digit [0 >] [base <] &&] inscribe"
|
||||||
]
|
]
|
||||||
|
|
@ -75,7 +95,15 @@
|
||||||
"execution_count": 4,
|
"execution_count": 4,
|
||||||
"id": "02a48806",
|
"id": "02a48806",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"32 true 1232147483648 false"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"32 valid_digit 1232147483648 valid_digit"
|
"32 valid_digit 1232147483648 valid_digit"
|
||||||
]
|
]
|
||||||
|
|
@ -85,7 +113,13 @@
|
||||||
"execution_count": 5,
|
"execution_count": 5,
|
||||||
"id": "03a8fe65",
|
"id": "03a8fe65",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": []
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"clear"
|
"clear"
|
||||||
]
|
]
|
||||||
|
|
@ -112,7 +146,15 @@
|
||||||
"execution_count": 6,
|
"execution_count": 6,
|
||||||
"id": "3fc98ccd",
|
"id": "3fc98ccd",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1797196498 5748904729"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"12345678901234567890 base divmod swap"
|
"12345678901234567890 base divmod swap"
|
||||||
]
|
]
|
||||||
|
|
@ -122,7 +164,15 @@
|
||||||
"execution_count": 7,
|
"execution_count": 7,
|
||||||
"id": "b838c4cb",
|
"id": "b838c4cb",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1797196498 1453937433 2"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"base divmod swap"
|
"base divmod swap"
|
||||||
]
|
]
|
||||||
|
|
@ -132,7 +182,15 @@
|
||||||
"execution_count": 8,
|
"execution_count": 8,
|
||||||
"id": "42c9d92d",
|
"id": "42c9d92d",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1797196498 1453937433 2 0"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"base divmod swap"
|
"base divmod swap"
|
||||||
]
|
]
|
||||||
|
|
@ -152,7 +210,15 @@
|
||||||
"execution_count": 9,
|
"execution_count": 9,
|
||||||
"id": "faaac9d6",
|
"id": "faaac9d6",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1312754386 1501085485 57659106 105448366 58"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"clear 1234567890123456789012345678901234567890\n",
|
"clear 1234567890123456789012345678901234567890\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|
@ -172,7 +238,15 @@
|
||||||
"execution_count": 10,
|
"execution_count": 10,
|
||||||
"id": "2a613f36",
|
"id": "2a613f36",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[58 105448366 57659106 1501085485 1312754386]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"clear [1234567890123456789012345678901234567890]\n",
|
"clear [1234567890123456789012345678901234567890]\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|
@ -5079,7 +5153,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 211,
|
"execution_count": 192,
|
||||||
"id": "90abab0f",
|
"id": "90abab0f",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
|
|
@ -5103,7 +5177,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 212,
|
"execution_count": 193,
|
||||||
"id": "391d87fe",
|
"id": "391d87fe",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
|
|
@ -5119,17 +5193,25 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 194,
|
||||||
"id": "a7cce3f2",
|
"id": "a7cce3f2",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"123"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"123 "
|
"123 "
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 213,
|
"execution_count": 195,
|
||||||
"id": "edb25ebd",
|
"id": "edb25ebd",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
|
|
@ -5147,7 +5229,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 214,
|
"execution_count": 196,
|
||||||
"id": "06e2f309",
|
"id": "06e2f309",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
|
|
@ -5165,7 +5247,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 215,
|
"execution_count": 197,
|
||||||
"id": "dd47bdae",
|
"id": "dd47bdae",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
|
|
@ -5181,6 +5263,23 @@
|
||||||
"[add-bigints [same-sign] [add-like-bigints] [neg-bigint sub-like-bigints] ifte] inscribe"
|
"[add-bigints [same-sign] [add-like-bigints] [neg-bigint sub-like-bigints] ifte] inscribe"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "de5f0dd7",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Multiplication\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "89d38381",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"id": "f2b707c1",
|
"id": "f2b707c1",
|
||||||
|
|
|
||||||
|
|
@ -32,14 +32,7 @@ clear
|
||||||
|
|
||||||
[add-digits initial-carry add-digits']
|
[add-digits initial-carry add-digits']
|
||||||
[initial-carry false rollup]
|
[initial-carry false rollup]
|
||||||
[add-digits' [P] [THEN] [R0] [R1] genrec]
|
|
||||||
[P [bool] ii & not]
|
|
||||||
[THEN [P'] [THEN'] [ELSE] ifte]
|
|
||||||
[R0 uncons-two [add-with-carry] dipd]
|
|
||||||
[R1 i cons]
|
|
||||||
[P' [bool] ii |]
|
|
||||||
[THEN' ditch-empty-list add-carry-to-digits]
|
|
||||||
[ELSE pop swap [] [1 swons] branch]
|
|
||||||
|
|
||||||
[same-sign [first] ii xor not]
|
[same-sign [first] ii xor not]
|
||||||
[extract-sign [uncons] dip rest]
|
[extract-sign [uncons] dip rest]
|
||||||
|
|
@ -54,6 +47,8 @@ clear
|
||||||
[_btlc0.4 [uncons-two] [dipd] sandwich]
|
[_btlc0.4 [uncons-two] [dipd] sandwich]
|
||||||
[_btlc0 _btlc0.3 _btlc0.4]
|
[_btlc0 _btlc0.3 _btlc0.4]
|
||||||
[_btlc1 [[ifte] ccons [P'] swons [P] swap] dip]
|
[_btlc1 [[ifte] ccons [P'] swons [P] swap] dip]
|
||||||
|
[P [bool] ii & not]
|
||||||
|
[P' [bool] ii |]
|
||||||
|
|
||||||
[carry [] [1 swons] branch]
|
[carry [] [1 swons] branch]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue