我可以在 Julia 中专门化类型定义吗?

2024-03-11

Julia 的参数类型实际上定义了一系列包含不同内存布局的类型。我想知道这是否也适用于复合类型中的字段名称和数量?一个简单的例子如下:

type mytype{Float64}
    a::Float64
    b::Float64
end

type mytype{Int64}
    a::Int64
end

这给了我重新定义的错误mytype.

在这里,我想要两个字段,如果mytype的类型参数是Float64如果是的话,只有一个Int64。 (实际上我想要的更复杂,但这是一个基本的例子)。人们可以想象有抽象类型和<:等上述内容。

我意识到这在其他语言中可能是不可能的,但对我来说,编译器应该能够以与函数专门化相同的方式来解决这个问题。毕竟,真实的(编译的)代码将涉及具体类型,并且编译器将知道所有内容。 (对于真正的动态类型,在这种情况下也许需要额外的封装层?)

也许有不同/更好的方法来实现类似的结果?


您可以分别定义这两种类型(mytypeF & mytypeI) 并定义一个新类型mytype作为两者的结合。然后,真正可以静态确定它们收到的类型的函数将根据您的要求进行专门化。但我不确定这是否明智或您真正想要的是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 Julia 中专门化类型定义吗? 的相关文章

  • 包设置不会传播到分布式的工作人员

    Info julia version julia version 1 6 0 lscpu root MyPackage lscpu Architecture x86 64 CPU op mode s 32 bit 64 bit Byte O
  • 如何从 Julia 程序调用 Python 函数?

    我使用 numpy pandas scikit learn 在 Python 中编写了一些代码 是否可以从 Julia 程序调用此 Python 代码 我认为你可以考虑三种不同的方式从 Julia 调用 Python 代码 按照从最低级别到
  • Julia 中的并行梯度计算

    不久前我被说服放弃我舒适的 matlab 编程并开始使用 Julia 编程 我已经在神经网络方面工作了很长时间 我认为现在有了 Julia 我可以通过并行计算梯度来更快地完成工作 不需要一次性对整个数据集计算梯度 相反 我们可以拆分计算 例
  • 如何生成随机概率分布 julia

    我在字典中有一个键列表 我想为每个项目分配一个 0 到 1 之间的数字 使分配的数字总和为 1 如何做到这一点 我尝试使用 rand 进行一些操作 但没有成功 有什么建议么 更数学的答案是使用狄利克雷分布 https en wikipedi
  • 检查是否可以安全地评估符号

    我有一根绳子x 我觉得x是某个类型的子类型的字符串表示形式Number 例如 x可能会取值 Float64 我可以使用以下方法检查这一点 eval parse x lt Number 然而 有可能x包含一些危险的东西 比如一些变体 rm s
  • Julia 中的 @code_native、@code_typed 和 @code_llvm 有什么区别?

    在使用 julia 时 我想要有一个类似于 python 的功能dis模块 通过网络 我发现 Julia 社区已经解决了这个问题并给出了这些 https github com JuliaLang julia issues 218 https
  • 朱莉娅:当我有情节时如何找到最佳拟合曲线/方程?

    朱莉娅 当我有情节时如何找到最佳拟合曲线 方程 我有一个用地图绘制的图 但我需要找到一个适合这个的二次方程 正如评论中所说 情节在这里并不重要 只有数据本身是 您可以使用诸如GLM构建数据的 广义 线性模型 并可能绘制它们或使用它们来预测新
  • 相当于 Python 中 Julia 中的“with”?

    Julia 有与 Python 相当的东西吗 with 也许作为一个宏 这非常有用 例如 自动关闭打开的文件 Use a do堵塞 关于 do 块的文档是here https en wikibooks org wiki Introducin
  • 如何加快 Julia 脚本的启动时间

    我编写了一个脚本来在 Julia 中绘制每日数据 但我发现它运行缓慢 似乎没有理想的方法来加速它 例如 foo jl bin bash exec julia O0 compile min BASH SOURCE 0 using Unicod
  • 如何让 Rosenbrock23 在 ParameterizedFunctions.jl DSL 中使用 ODE?

    进一步这个问题 https stackoverflow com questions 54422068 how to fix typeerror in setindex in differentialequations jl 54423008
  • 使用 !== 或 != 将 Julia 变量与 `nothing` 进行比较

    在一些 Julia 代码中 何时可以看到条件表达式 例如 if val nothing dosomething end where val是一个类型变量Union Int Nothing 条件有什么区别val nothing and val
  • Julia 似乎没有使用字符串来执行插值

    官方文档指出 连接和字符串插值调用string 将对象转换为字符串形式 然而 以下最小工作示例似乎证明了其他情况 type MyType x Int end import Base string Base string m MyType w
  • 离散连续概率分布

    认识到这可能是一个统计问题和编码问题 假设我使用 Distributions jl 创建了一个正态分布 using Distributions mydist Normal 0 0 2 有没有一种好的 直接的方法可以离散化这样的分布以获得 P
  • 在 Julia 中提取参数类型

    假设我在 Julia 中编写了一个函数 它接受Dict K V 作为参数 然后创建类型的数组Array K 1 and Array V 1 我怎样才能提取类型K and V来自 Dict 对象 以便我可以使用它们来创建数组 斯文和约翰的答案
  • @distributed 似乎有效,函数返回很不稳定

    我正在学习如何在 Julia 中进行并行计算 我在用着 sync distributed在 3x 嵌套的开始处for循环并行化事物 参见底部的代码 从线路上看println errCmp row col 我可以观察数组的所有元素errCmp
  • 从 Julia 中的文本文件读取数据矩阵

    我有一个包含矩阵的文本文件 我想在朱莉娅中将其作为矩阵来阅读 文本文件如下 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 在 matlab 中 您可以执行以下操作来创建矩阵M
  • 如何制作任意级别的嵌套for循环

    我可以像这样做一个两级嵌套循环 for i1 in 1 n for i2 in 1 n do something with i1 i2 如何将其扩展到任意级别的嵌套循环 例如 我可以在 Python 中执行此操作以循环 n m 的笛卡尔积
  • Julia:将数组数组转换为二维数组

    我有一个数组d包含一个浮点数组 julia gt d 99 element Array Array Float64 1 1 我正在尝试将其转换为二维数组 并且我成功地实现了我的目标 data Array Float64 length d l
  • 在 Julia 中解压缩元组数组

    假设我有一个元组数组 arr 1 2 3 4 5 6 使用 python 我可以做zip arr 1 3 5 2 4 6 朱莉娅中与此等效的是什么 作为 splatting 的替代方案 因为这非常慢 您可以执行以下操作 unzip a ma
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采

随机推荐

  • Vertx 线程阻塞警告

    我正在 ubuntu 服务器上运行 vert x 应用程序 它有一个在端口 3000 上运行的 HTTPServer 应用程序工作正常 但有时我会看到以下警告 Dec 08 2017 1 23 43 AM io vertx core imp
  • 将额外数据传递给 finder auth

    我的发现者来自Auth有我需要访问的条件 this gt request但我无权访问UsersTable 应用控制器 初始化 this gt loadComponent Auth authenticate gt Form gt finder
  • 什么是 __CxxFrameHandler4 以及链接器错误“无法解析的外部符号 __CxxFrameHandler4”究竟意味着什么?

    我正在针对我的 Visual C 项目使用通过 vcpkg 构建的多个库 例如 civet web 和 prometheus cpp 当构建 x86 时一切都很完美 在 x64 中我收到一堆链接器错误 错误 LNK2001 无法解析的外部符
  • Java 相当于 PHP 简单 HTML DOM 解析器

    由于我必须使用多线程 而我无法在 PHP 中雄辩地解决这个问题 所以我想用 Java 进行编程 不幸的是 我找不到一个库 它可以让我像在 PHP 中那样强大 快速 轻松地解析 HTML DOM 简单的 HTML DOM 解析器 您知道 Ja
  • db.getCollectionInfos 不是一个函数

    我正在编写一个 MERN 应用程序 并尝试使用以下命令获取 MongoDB 数据库中的所有集合名称db getCollectionInfos method https docs mongodb com manual reference me
  • WPF-如何在 控件中显示 ImageSource 的裁剪区域?

    WPF 如何在控件中显示 ImageSource 的裁剪区域 我有一个可用像素大小的 ImageSource 我有一个计算出的裁剪矩形 指示我们实际要使用多少图像 我不想直接编辑图像数据 但我想要我的
  • 如何阻止 vaadin 窃取所有 url 模式(并与 spring mvc 很好地配合)

    我有一个 vaadin 应用程序 我试图提供一些由 spring MVC 提供的 REST URL 我的 web xml 如下 我只在 info 处收到 404 错误 看起来 Vaadin 窃取了所有 url 模式 如果我删除 Vaadin
  • 无法将 Firebase 函数拆分到多个文件中

    我正在使用 firebase 函数并达到数百个函数 现在很难用单个函数来管理它index js文件如大量示例所示 我尝试将该函数拆分为多个文件 例如 firebase json functions node modules index js
  • 在 RecyclerView 项目中显示动态数量的视图?

    我正在尝试重新创建这个 我有一个数据列表 List
  • XDocument.Load(feedUrl) 返回“根级别的数据无效。第 1 行,位置 1。”

    首先 这更多的是一个解决方案 而不是一个问题 我花了一段时间才解决 所以我认为我的解决方案值得分享 我试图使用加载 RSS 提要XDoument Load feedUrl 并收到上述异常 我检查了养活自己 http www limun hr
  • 允许来自 env 的 mod_rewrite 而不是 .htaccess 中的 mod_setenvif

    我试图使用 htaccess 和 Apache 2 2 控制对测试站点 主机的访问 但不控制对生产站点的访问 我使用 mod rewrite 来检测主机名并设置一些用于控制站点各个方面的环境变量 但无法利用它来控制访问 我只能使用 mod
  • 中文字符以粗体呈现

    Silverlight 在文本框中将少数中文字符呈现为粗体 该文本框没有设置字体系列 请参考以下截图 在上面的屏幕截图中 第一个字符比另一个字符更粗 MSDN 的一篇帖子说这是因为字体系列问题和设置SimSun字体系列应该可以解决这个问题
  • 如何更改 matplotlib 中的当前轴实例(即 gca())

    我用一个技巧绘制高度与主轴匹配的颜色条 http matplotlib org mpl toolkits axes grid users overview html colorbar whose height or width in syn
  • 生成唯一的随机字符串

    我正在用 Dancer 编写一个非常小的 URL 缩短器 它使用 REST 插件将发布的 URL 存储在数据库中 该数据库包含六个字符串 用户可以使用该字符串来访问短 URL 现在我对我的随机字符串生成方法有点不确定 sub generat
  • 使用 movefolder 方法时找不到 vbscript 错误路径

    我对 vbscript 相当陌生 并尝试编写一个脚本来获取带有月份和年份标记的文件夹 2012 04 并将它们移动到带有年份标记的文件夹 2012 当我尝试移动文件夹时 我收到 路径未找到 错误 并且我似乎无法在任何地方找到有关其发生原因的
  • 如何计算字符串语句

    给定一个作为计算语句的字符串组合 我怎样才能得到结果 在本例中是下面代码中的列 cal 我知道我可以使用案例 但是有没有直接的方法来进行计算 create table tl test cl1 int create table tl test
  • WPF 的现代 UI - 导航

    如何在页面之间传递参数 我尝试向页面 uri 添加参数 但它不起作用 因为我无法在用户控件上使用 onNavieratedTo 事件 请帮忙 您必须使用 OnFragmentNavigation public void OnFragment
  • 使用 CameraX 的长焦镜头进行变焦

    在我的应用程序中 变焦仅限于主镜头 而不是设备的长焦镜头 如果有的话 长焦镜头可以由任何制造商提供 我不希望实现特定于制造商设备的 API 来访问长焦或广角镜头 这会导致照片质量较差 并且应用程序无法变焦至超过主摄像头的变焦限制 如何使用长
  • 一页上有多个引导轮播,只能控制一个

    我在视图中一次性加载了动态数量的轮播 但我只能滚动浏览渲染的第一个轮播 我怎样才能控制所有加载的 一次只能查看一个轮播 其他轮播被隐藏 myCarousel carousel interval 10000 carousel item eac
  • 我可以在 Julia 中专门化类型定义吗?

    Julia 的参数类型实际上定义了一系列包含不同内存布局的类型 我想知道这是否也适用于复合类型中的字段名称和数量 一个简单的例子如下 type mytype Float64 a Float64 b Float64 end type myty