Examples: `query`, `"exact match"`, `wildcard*`, `wild?ard`, `wild*rd`
Fuzzy search: `cake~` (finds `cakes`, `bake`)
Term boost: `"red velvet"^4`, `chocolate^2`
Field grouping: `tags:(+work -"fun-stuff")`
Escape special characters `+-&|!(){}[]^"~*?:\` - e.g. `\+` `\*` `\!`
Range search: `properties.timestamp:[1587729413488 TO *]` (inclusive), `properties.title:{A TO Z}`(excluding A and Z)
Combinations: `chocolate AND vanilla`, `chocolate OR vanilla`, `(chocolate OR vanilla) NOT "vanilla pudding"`
Field search: `properties.title:"The Title" AND text`
How does FunC round numbers while dividing?

There are different approaches to division:

• using floating-point numbers (so 23 / 4 = 5.75)
• mathematical rounding (23 / 4 = 6 since it's the closest integer to 5.75)
• floor-rounding (23 / 4 = 5, the number gets rounded to the "closest smaller" integer and everything after the dot just gets truncated)
• ceiling rounding (23 / 4 = 6, the number gets rounded to the "bigger" side)
• saving both the quotient and the remainder as two separate numbers (23 / 4 = 5 and 3)

What is the FunC approach?

This question was imported from Telegram Chat: https://t.me/tondev/125289

Posted 6 months ago
Edited 6 months ago

Since FunC does not have floating-point numbers, it can't use the first approach. But it provides ways to use several of the rest:

• The default `/` operator uses floor rounding
• The `~/`operator uses mathematical rounding
• The `^/` operator uses ceiling rounding

Posted 6 months ago
Evgeniy Trifonov