reducta-arg
Translation status: English reader-locale proof. Term names and code fences follow the en pack; supporting prose may still be English.
Syntax:
Category#
collection
Related#
None.
Examples#
radix/corpus/summa/reducta-arg.fab (canonical · concept)#
fn optimum(tensor<f32, [4]> a) → int {
return reduce via argmax from a
}
fn infimum(tensor<f32, [4]> a) → int {
return reduce via argmin from a
}
fn optimum_corpus(tensor<f32, [4]> a) → int {
return reduce via argmax from a at [i] let s {
return 0.0 - s
}
}
fn optimum_nan(tensor<f64, [4]> a) → int {
return reduce via argmax from a
}
fn optimum_plana(tensor<f32, [2, 3]> m) → tuple<int, int> {
return reduce via argmax from m at [i, j]
}
fn infimum_plana(tensor<f32, [2, 3]> m) → tuple<int, int> {
return reduce via argmin from m at [i, j]
}
fn optimum_vacua() → int ∪ none {
let tf32[0] v ← empty
return reduce via argmax from v at [i]
}
fn optimum_vacua_vel() → int {
let tf32[0] v ← empty
return reduce via argmax from v at [i] coalesce 7
}
main {
let list<f32> flat ← [3.0, 1.0, 3.0, 2.0]
let tf32[4] a ← flat ↦ tensor<f32, [4]>
print optimum(a)
print infimum(a)
print optimum_corpus(a)
let list<f64> flat_nan ← [nan, 3.0, 1.0, 3.0]
let tf64[4] a_nan ← flat_nan ↦ tensor<f64, [4]>
print optimum_nan(a_nan)
let list<f32> flat2 ← [1.0, 5.0, 2.0, 5.0, 0.0, 1.0]
let tf32[2, 3] m ← flat2 ↦ tensor<f32, [2, 3]>
let tuple<int, int> hi ← optimum_plana(m)
let tuple<int, int> lo ← infimum_plana(m)
print hi[0]
print hi[1]
print lo[0]
print lo[1]
print optimum_vacua()
print optimum_vacua_vel()
}Expected output:
0
1
1
1
0
1
1
1
nihil
7