foo?=bar:baz is rewritten as foo.opOpAssign!("?:")(bar,baz)
foo[i]?=bar:baz opIndexOpAssign
for basic types it acts as foo=(bool)bar?foo:(typeof(foo))baz
| Thread overview | |||||||
|---|---|---|---|---|---|---|---|
|
May 02 ternary op assign | ||||
|---|---|---|---|---|
| ||||
for basic types it acts as | ||||
May 02 Re: ternary op assign | ||||
|---|---|---|---|---|
| ||||
Posted in reply to monkyyy | On Thursday, 2 May 2024 at 17:42:28 UTC, monkyyy wrote: >
for basic types it acts as I find this syntax confusing, I would interpret that as:
| |||
May 02 Re: ternary op assign | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Thursday, 2 May 2024 at 18:17:12 UTC, Stefan Koch wrote: >On Thursday, 2 May 2024 at 17:42:28 UTC, monkyyy wrote: >
for basic types it acts as I find this syntax confusing, I would interpret that as:
often the statement you want to write is a=condition?b:a which repeats a, the way to simplify (and prevent int promtion issues) is with the += family of statements; but there isnt a clear one for if(cond)a=b Simd(/waterfalled code) has to do bit mask tricks, and I think you could wrap that up in a data structure with the opslice as recursive templates for opindex logic
| |||
May 16 Re: ternary op assign | ||||
|---|---|---|---|---|
| ||||
Posted in reply to monkyyy | On Thursday, 2 May 2024 at 17:42:28 UTC, monkyyy wrote: >
for basic types it acts as Isn’t this just Where would the user-defined operator be useful? | |||
May 16 Re: ternary op assign | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Quirin Schroll | On Thursday, 16 May 2024 at 16:57:17 UTC, Quirin Schroll wrote: >On Thursday, 2 May 2024 at 17:42:28 UTC, monkyyy wrote: >
for basic types it acts as Isn’t this just Where would the user-defined operator be useful? when bar depends on foo; such as a user defined cond, lets saya database query that takes in lamdas
and when its "multiable data single instruction", simd or parrellizism, ranges etc. and theres something in that index | |||