updates
This commit is contained in:
parent
359c25e031
commit
6fd0257f4d
5 changed files with 214 additions and 426 deletions
0
fractal_dimension/bai_finch_rust/.projectile
Normal file
0
fractal_dimension/bai_finch_rust/.projectile
Normal file
381
fractal_dimension/bai_finch_rust/Cargo.lock
generated
381
fractal_dimension/bai_finch_rust/Cargo.lock
generated
|
|
@ -1,25 +1,12 @@
|
||||||
# This file is automatically @generated by Cargo.
|
# This file is automatically @generated by Cargo.
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
[[package]]
|
version = 3
|
||||||
name = "addr2line"
|
|
||||||
version = "0.15.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a"
|
|
||||||
dependencies = [
|
|
||||||
"gimli",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "adler"
|
|
||||||
version = "1.0.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "approx"
|
name = "approx"
|
||||||
version = "0.5.0"
|
version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e"
|
checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
@ -31,36 +18,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "backtrace"
|
name = "bacon-sci"
|
||||||
version = "0.3.60"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282"
|
checksum = "e5d568d86ec0ca7d24caa67afff9605bc5bc3cae2642d6670ea5924b839ccabc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"addr2line",
|
"nalgebra",
|
||||||
"cc",
|
"num-complex",
|
||||||
"cfg-if",
|
"num-traits",
|
||||||
"libc",
|
"phf",
|
||||||
"miniz_oxide",
|
"phf_codegen",
|
||||||
"object",
|
|
||||||
"rustc-demangle",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bai_finch"
|
name = "bai_finch"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gad",
|
"bacon-sci",
|
||||||
"nalgebra",
|
"nalgebra",
|
||||||
"num",
|
"num",
|
||||||
"peroxide",
|
"num-complex",
|
||||||
|
"simba",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cc"
|
|
||||||
version = "1.0.68"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cfg-if"
|
name = "cfg-if"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
|
|
@ -68,76 +48,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crossbeam-channel"
|
name = "generic-array"
|
||||||
version = "0.5.1"
|
version = "0.14.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
|
checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"typenum",
|
||||||
"crossbeam-utils",
|
"version_check",
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "crossbeam-utils"
|
|
||||||
version = "0.8.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"lazy_static",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gad"
|
|
||||||
version = "0.2.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d2b94905d25b4e536e7622e6cb447d722bae8fb0f2dd65eb2196c18e40bf54d1"
|
|
||||||
dependencies = [
|
|
||||||
"backtrace",
|
|
||||||
"id-arena",
|
|
||||||
"num",
|
|
||||||
"serde",
|
|
||||||
"thiserror",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "getrandom"
|
name = "getrandom"
|
||||||
version = "0.2.3"
|
version = "0.1.16"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
|
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"libc",
|
"libc",
|
||||||
"wasi",
|
"wasi",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gimli"
|
|
||||||
version = "0.24.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hermit-abi"
|
|
||||||
version = "0.1.18"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "id-arena"
|
|
||||||
version = "2.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lazy_static"
|
|
||||||
version = "1.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.97"
|
version = "0.2.97"
|
||||||
|
|
@ -152,64 +82,36 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "matrixmultiply"
|
name = "matrixmultiply"
|
||||||
version = "0.3.1"
|
version = "0.2.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741"
|
checksum = "916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num_cpus",
|
|
||||||
"once_cell",
|
|
||||||
"rawpointer",
|
"rawpointer",
|
||||||
"thread-tree",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "miniz_oxide"
|
|
||||||
version = "0.4.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
|
|
||||||
dependencies = [
|
|
||||||
"adler",
|
|
||||||
"autocfg",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nalgebra"
|
name = "nalgebra"
|
||||||
version = "0.27.1"
|
version = "0.24.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120"
|
checksum = "1a9002895a0de45e3cde58b36d0cf2f83249e7dba4a43ee64dafbf01bfd464ff"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
|
"generic-array",
|
||||||
"matrixmultiply",
|
"matrixmultiply",
|
||||||
"nalgebra-macros",
|
|
||||||
"num-complex",
|
"num-complex",
|
||||||
"num-rational",
|
"num-rational",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
|
"rand",
|
||||||
|
"rand_distr",
|
||||||
"simba",
|
"simba",
|
||||||
"typenum",
|
"typenum",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "nalgebra-macros"
|
|
||||||
version = "0.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num"
|
name = "num"
|
||||||
version = "0.4.0"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
|
checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-bigint",
|
"num-bigint",
|
||||||
"num-complex",
|
"num-complex",
|
||||||
|
|
@ -221,24 +123,22 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-bigint"
|
name = "num-bigint"
|
||||||
version = "0.4.0"
|
version = "0.3.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4e0d047c1062aa51e256408c560894e5251f08925980e53cf1aa5bd00eec6512"
|
checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"num-integer",
|
"num-integer",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"serde",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-complex"
|
name = "num-complex"
|
||||||
version = "0.4.0"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
|
checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"serde",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -264,15 +164,14 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-rational"
|
name = "num-rational"
|
||||||
version = "0.4.0"
|
version = "0.3.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
|
checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"num-bigint",
|
"num-bigint",
|
||||||
"num-integer",
|
"num-integer",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"serde",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -285,37 +184,6 @@ dependencies = [
|
||||||
"libm",
|
"libm",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num_cpus"
|
|
||||||
version = "1.13.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
|
|
||||||
dependencies = [
|
|
||||||
"hermit-abi",
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "object"
|
|
||||||
version = "0.25.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "once_cell"
|
|
||||||
version = "1.8.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "order-stat"
|
|
||||||
version = "0.1.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "efa535d5117d3661134dbf1719b6f0ffe06f2375843b13935db186cd094105eb"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "paste"
|
name = "paste"
|
||||||
version = "1.0.5"
|
version = "1.0.5"
|
||||||
|
|
@ -323,27 +191,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
|
checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "peroxide"
|
name = "phf"
|
||||||
version = "0.30.9"
|
version = "0.8.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "acb182c4e420fa22bc0a6a9eecb4162c744d8262b7ce238a424aff7fd301735c"
|
checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"matrixmultiply",
|
"phf_shared",
|
||||||
"order-stat",
|
|
||||||
"peroxide-ad",
|
|
||||||
"puruspe",
|
|
||||||
"rand",
|
|
||||||
"rand_distr",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "peroxide-ad"
|
name = "phf_codegen"
|
||||||
version = "0.3.0"
|
version = "0.8.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f6fba8ff3f40b67996f7c745f699babaa3e57ef5c8178ec999daf7eedc51dc8c"
|
checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote",
|
"phf_generator",
|
||||||
"syn",
|
"phf_shared",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "phf_generator"
|
||||||
|
version = "0.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
|
||||||
|
dependencies = [
|
||||||
|
"phf_shared",
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "phf_shared"
|
||||||
|
version = "0.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
|
||||||
|
dependencies = [
|
||||||
|
"siphasher",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -352,47 +234,25 @@ version = "0.2.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.27"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-xid",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "puruspe"
|
|
||||||
version = "0.1.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3b7e158a385023d209d6d5f2585c4b468f6dcb3dd5aca9b75c4f1678c05bb375"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand"
|
name = "rand"
|
||||||
version = "0.8.4"
|
version = "0.7.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
|
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
"libc",
|
"libc",
|
||||||
"rand_chacha",
|
"rand_chacha",
|
||||||
"rand_core",
|
"rand_core",
|
||||||
"rand_hc",
|
"rand_hc",
|
||||||
|
"rand_pcg",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_chacha"
|
name = "rand_chacha"
|
||||||
version = "0.3.1"
|
version = "0.2.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ppv-lite86",
|
"ppv-lite86",
|
||||||
"rand_core",
|
"rand_core",
|
||||||
|
|
@ -400,18 +260,18 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_core"
|
name = "rand_core"
|
||||||
version = "0.6.3"
|
version = "0.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
|
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"getrandom",
|
"getrandom",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_distr"
|
name = "rand_distr"
|
||||||
version = "0.4.1"
|
version = "0.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142"
|
checksum = "c9e9532ada3929fb8b2e9dbe28d1e06c9b2cc65813f074fcb6bd5fbefeff9d56"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"rand",
|
"rand",
|
||||||
|
|
@ -419,9 +279,18 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_hc"
|
name = "rand_hc"
|
||||||
version = "0.3.1"
|
version = "0.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
|
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_pcg"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand_core",
|
"rand_core",
|
||||||
]
|
]
|
||||||
|
|
@ -432,37 +301,11 @@ version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustc-demangle"
|
|
||||||
version = "0.1.20"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde"
|
|
||||||
version = "1.0.126"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
|
|
||||||
dependencies = [
|
|
||||||
"serde_derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_derive"
|
|
||||||
version = "1.0.126"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "simba"
|
name = "simba"
|
||||||
version = "0.5.1"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c"
|
checksum = "17bfe642b1728a6e89137ad428ef5d4738eca4efaba9590f9e110b8944028621"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"approx",
|
"approx",
|
||||||
"num-complex",
|
"num-complex",
|
||||||
|
|
@ -471,44 +314,10 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "siphasher"
|
||||||
version = "1.0.73"
|
version = "0.3.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
|
checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27"
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-xid",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror"
|
|
||||||
version = "1.0.25"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6"
|
|
||||||
dependencies = [
|
|
||||||
"thiserror-impl",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror-impl"
|
|
||||||
version = "1.0.25"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thread-tree"
|
|
||||||
version = "0.3.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "dd15110864dc0eccbd281d13c15a5863f7739a6fbcf710190a6d13e797aa1a57"
|
|
||||||
dependencies = [
|
|
||||||
"crossbeam-channel",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "typenum"
|
name = "typenum"
|
||||||
|
|
@ -517,13 +326,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
|
checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-xid"
|
name = "version_check"
|
||||||
version = "0.2.2"
|
version = "0.9.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasi"
|
name = "wasi"
|
||||||
version = "0.10.2+wasi-snapshot-preview1"
|
version = "0.9.0+wasi-snapshot-preview1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@ edition = "2018"
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
num = "0.4.0"
|
num = "0.3.1"
|
||||||
nalgebra = "0.27.1"
|
nalgebra = "0.24.1"
|
||||||
peroxide = "0.30"
|
bacon-sci = "*"
|
||||||
gad = "0.2.0"
|
simba = "0.3.1"
|
||||||
|
num-complex = "0.3.1"
|
||||||
|
|
|
||||||
57
fractal_dimension/bai_finch_rust/src/diff.rs
Normal file
57
fractal_dimension/bai_finch_rust/src/diff.rs
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
use num_complex::Complex64;
|
||||||
|
use simba::scalar::ComplexField;
|
||||||
|
use std::f64::consts::PI;
|
||||||
|
|
||||||
|
pub type CFunction<'a> = &'a dyn Fn(Complex64) -> Complex64;
|
||||||
|
pub type Path<'a> = &'a dyn Fn(f64) -> Complex64;
|
||||||
|
pub type Rule<'a> = &'a dyn Fn(CFunction, Complex64, Complex64) -> Complex64;
|
||||||
|
|
||||||
|
pub fn unit_circle(t: f64) -> Complex64 {
|
||||||
|
num::Complex::new((2.0 * PI * t).cos(), (2.0 * PI * t).sin())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn trapezoid(f: CFunction, a: Complex64, b: Complex64) -> Complex64 {
|
||||||
|
0.5 * (b - a) * (f(a) + f(b))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn factorial(n: i32) -> i32 {
|
||||||
|
(1..=n).product()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test(t: f64) -> Complex64 {
|
||||||
|
1.0 / unit_circle(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// pub fn diff(fun: CFunction, a: Complex64, n: i32) -> Result<Complex64, String> {
|
||||||
|
// let f = |t: f64| -> Complex64 {
|
||||||
|
// let z = unit_circle(t);
|
||||||
|
// fun(z) / (z - a).powi(n + 1)
|
||||||
|
// };
|
||||||
|
// let integral = bacon_sci::integrate::integrate_fixed(0f64, 1f64, f, 10)?;
|
||||||
|
// Ok(integral * Complex64::new(factorial(n) as f64, 0.0) / Complex64::new(0.0, 2.0 * PI))
|
||||||
|
// }
|
||||||
|
|
||||||
|
pub fn diff(fun: CFunction, a: Complex64, n: i32) -> Result<Complex64, String> {
|
||||||
|
let f = |z: Complex64| -> Complex64 {
|
||||||
|
fun(z) / (z - a).powi(n + 1)
|
||||||
|
};
|
||||||
|
let integral = integrate(&f, &unit_circle, &trapezoid);
|
||||||
|
Ok(integral * Complex64::new(factorial(n) as f64, 0.0) / Complex64::new(0.0, 2.0 * PI))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn integrate(f: CFunction, path: Path, rule: Rule) -> Complex64 {
|
||||||
|
let increment = 0.00001;
|
||||||
|
let mut integral = Complex64::new(0.0, 0.0);
|
||||||
|
|
||||||
|
let mut i = increment;
|
||||||
|
let mut previous_point = path(0.0);
|
||||||
|
while i <= 1.0 {
|
||||||
|
let point = path(i);
|
||||||
|
integral += rule(f, previous_point, point);
|
||||||
|
previous_point = point;
|
||||||
|
|
||||||
|
i += increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
integral
|
||||||
|
}
|
||||||
|
|
@ -1,143 +1,32 @@
|
||||||
use gad::prelude::*;
|
#![allow(dead_code)]
|
||||||
use nalgebra::{SMatrix, SVector};
|
|
||||||
use num::Complex;
|
mod diff;
|
||||||
|
|
||||||
|
use diff::*;
|
||||||
|
use num_complex::Complex64;
|
||||||
|
use std::f64::consts::PI;
|
||||||
|
// use nalgebra::{SMatrix, SVector};
|
||||||
|
|
||||||
type F = f64;
|
type F = f64;
|
||||||
type Matrix2x2 = SMatrix<Complex<F>, 2, 2>;
|
// type NComplex = num::Complex<F>;
|
||||||
|
// type Matrix2x2 = SMatrix<num::Complex<F>, 2, 2>;
|
||||||
|
// type Complex = Complex64;
|
||||||
|
|
||||||
fn sum(
|
// fn power_method<const N: usize>(
|
||||||
g: &mut GraphN,
|
// vec: SVector<NComplex, N>,
|
||||||
ar: &Value<F>,
|
// mat: SMatrix<NComplex, N, N>,
|
||||||
ai: &Value<F>,
|
// iterations: usize,
|
||||||
br: &Value<F>,
|
// ) -> NComplex {
|
||||||
bi: &Value<F>,
|
// let mut current = vec;
|
||||||
) -> Result<(Value<F>, Value<F>)> {
|
// let mut previous = vec;
|
||||||
Ok((g.add(ar, br)?, g.add(ai, bi)?))
|
// for _ in 0..iterations {
|
||||||
}
|
// previous = current;
|
||||||
|
// current = mat * current;
|
||||||
|
// println!("current guess: {}", current[0] / previous[0]);
|
||||||
|
// }
|
||||||
|
|
||||||
fn product(
|
// current[0] / previous[0]
|
||||||
g: &mut GraphN,
|
// }
|
||||||
ar: &Value<F>,
|
|
||||||
ai: &Value<F>,
|
|
||||||
br: &Value<F>,
|
|
||||||
bi: &Value<F>,
|
|
||||||
) -> Result<(Value<F>, Value<F>)> {
|
|
||||||
let t1 = g.mul(ar, br)?;
|
|
||||||
let t2 = g.mul(ai, bi)?;
|
|
||||||
let t3 = g.sub(&t1, &t2)?;
|
|
||||||
|
|
||||||
let s1 = g.mul(ar, bi)?;
|
|
||||||
let s2 = g.mul(ai, br)?;
|
|
||||||
let s3 = g.add(&s1, &s2)?;
|
|
||||||
|
|
||||||
Ok((t3, s3))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn division(
|
|
||||||
g: &mut GraphN,
|
|
||||||
ar: &Value<F>,
|
|
||||||
ai: &Value<F>,
|
|
||||||
br: &Value<F>,
|
|
||||||
bi: &Value<F>,
|
|
||||||
) -> Result<(Value<F>, Value<F>)> {
|
|
||||||
let numerator1 = {
|
|
||||||
let t1 = g.mul(ar, br)?;
|
|
||||||
let t2 = g.mul(ai, bi)?;
|
|
||||||
g.add(&t1, &t2)?
|
|
||||||
};
|
|
||||||
let denominator1 = {
|
|
||||||
let t1 = g.mul(br, br)?;
|
|
||||||
let t2 = g.mul(bi, bi)?;
|
|
||||||
g.add(&t1, &t2)?
|
|
||||||
};
|
|
||||||
|
|
||||||
let numerator2 = {
|
|
||||||
let t1 = g.mul(ar, bi)?;
|
|
||||||
let t2 = g.mul(ai, br)?;
|
|
||||||
g.sub(&t1, &t2)?
|
|
||||||
};
|
|
||||||
let denominator2 = {
|
|
||||||
let t1 = g.mul(br, br)?;
|
|
||||||
let t2 = g.mul(bi, bi)?;
|
|
||||||
g.add(&t1, &t2)?
|
|
||||||
};
|
|
||||||
|
|
||||||
let f1 = g.div(&numerator1, &denominator1)?;
|
|
||||||
let f2 = g.div(&numerator2, &denominator2)?;
|
|
||||||
|
|
||||||
Ok((f1, f2))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn mobius_derivative(mat: Matrix2x2) -> Result<(Value<F>, Value<F>)> {
|
|
||||||
let mut g = GraphN::new();
|
|
||||||
let x = g.variable(0.0);
|
|
||||||
let y = g.variable(0.0);
|
|
||||||
let a11r = g.constant(mat[(0, 0)].re);
|
|
||||||
let a12r = g.constant(mat[(0, 1)].re);
|
|
||||||
let a21r = g.constant(mat[(1, 0)].re);
|
|
||||||
let a22r = g.constant(mat[(1, 1)].re);
|
|
||||||
|
|
||||||
let a11i = g.constant(mat[(0, 0)].im);
|
|
||||||
let a12i = g.constant(mat[(0, 1)].im);
|
|
||||||
let a21i = g.constant(mat[(1, 0)].im);
|
|
||||||
let a22i = g.constant(mat[(1, 1)].im);
|
|
||||||
|
|
||||||
let (numeratorr, numeratori) = {
|
|
||||||
let (prodr, prodi) = product(&mut g, &x, &y, &a11r, &a11i)?;
|
|
||||||
sum(&mut g, &a12r, &a12i, &prodr, &prodi)?
|
|
||||||
};
|
|
||||||
|
|
||||||
let (denominatorr, denominatori) = {
|
|
||||||
let (prodr, prodi) = product(&mut g, &x, &y, &a21r, &a21i)?;
|
|
||||||
sum(&mut g, &a22r, &a22i, &prodr, &prodi)?
|
|
||||||
};
|
|
||||||
|
|
||||||
let (resultr, resulti) = division(
|
|
||||||
&mut g,
|
|
||||||
&numeratorr,
|
|
||||||
&numeratori,
|
|
||||||
&denominatorr,
|
|
||||||
&denominatori,
|
|
||||||
)?;
|
|
||||||
|
|
||||||
let x = x.gid()?;
|
|
||||||
|
|
||||||
let one = g.constant(1.0);
|
|
||||||
let one2 = g.constant(1.0);
|
|
||||||
let gradients1 = g.compute_gradients(resultr.gid()?, one)?;
|
|
||||||
let gradients2 = g.compute_gradients(resulti.gid()?, one2)?;
|
|
||||||
|
|
||||||
let du_dx = gradients1.get(x).unwrap();
|
|
||||||
let dv_dx = gradients2.get(x).unwrap();
|
|
||||||
|
|
||||||
Ok(Complex::new(*du_dx.data(), -*dv_dx.data()))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn next_order_derivative(
|
|
||||||
g: &mut GraphN,
|
|
||||||
expr: &GradientId<F>,
|
|
||||||
var: &GradientId<F>,
|
|
||||||
) -> Result<Value<F>> {
|
|
||||||
let dz = g.constant(1.0);
|
|
||||||
let dz_d = g.compute_gradients(*expr, dz)?;
|
|
||||||
Ok(dz_d.get(*var).unwrap().clone())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn power_method<const N: usize>(
|
|
||||||
vec: SVector<Complex<F>, N>,
|
|
||||||
mat: SMatrix<Complex<F>, N, N>,
|
|
||||||
iterations: usize,
|
|
||||||
) -> Complex<F> {
|
|
||||||
let mut current = vec;
|
|
||||||
let mut previous = vec;
|
|
||||||
for _ in 0..iterations {
|
|
||||||
previous = current;
|
|
||||||
current = mat * current;
|
|
||||||
println!("current guess: {}", current[0] / previous[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
current[0] / previous[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
fn secant_method(f: fn(F) -> F, x0: F, x1: F, accuracy: F, iterations: usize) -> F {
|
fn secant_method(f: fn(F) -> F, x0: F, x1: F, accuracy: F, iterations: usize) -> F {
|
||||||
let mut x0 = x0;
|
let mut x0 = x0;
|
||||||
|
|
@ -158,6 +47,13 @@ fn secant_method(f: fn(F) -> F, x0: F, x1: F, accuracy: F, iterations: usize) ->
|
||||||
x0
|
x0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn dzdt(t: f64) -> Complex64 {
|
||||||
|
Complex64::new(
|
||||||
|
-2.0 * PI * (-2.0 * PI * t).sin(),
|
||||||
|
2.0 * PI * ( 2.0 * PI * t).cos(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// let g = Matrix2x2::new(
|
// let g = Matrix2x2::new(
|
||||||
// Complex::new(2.0 / 12.0, -2.0 / 12.0),
|
// Complex::new(2.0 / 12.0, -2.0 / 12.0),
|
||||||
|
|
@ -172,4 +68,29 @@ fn main() {
|
||||||
// Complex::new(0.0, 4.0 / 12.0),
|
// Complex::new(0.0, 4.0 / 12.0),
|
||||||
// Complex::new(-6.0 / 12.0, -8.0 / 12.0),
|
// Complex::new(-6.0 / 12.0, -8.0 / 12.0),
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
println!(
|
||||||
|
"{}",
|
||||||
|
diff(&|z: Complex64| z * z, Complex64::new(0.3, 0.3), 1).unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
|
// println!(
|
||||||
|
// "{}",
|
||||||
|
// bacon_sci::integrate::integrate(
|
||||||
|
// 0.0,
|
||||||
|
// 1.0,
|
||||||
|
// &|t: f64| dzdt(t)
|
||||||
|
// / Complex64::new(
|
||||||
|
// (std::f64::consts::PI * 2.0 * t).cos(),
|
||||||
|
// (std::f64::consts::PI * 2.0 * t).sin()
|
||||||
|
// ),
|
||||||
|
// 0.001
|
||||||
|
// )
|
||||||
|
// .unwrap()
|
||||||
|
// );
|
||||||
|
|
||||||
|
println!(
|
||||||
|
"{}",
|
||||||
|
integrate(&|z: Complex64| 1.0 / z, &unit_circle, &trapezoid)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue