Release of G'MIC 3.1

Yup that looks quite corrupted indeed - thanks again for the new package :slight_smile:

1 Like

Just leaving a idea here: Since ° was allowed for degree, what about ⊕ for xor?

There is indeed a XOR symbol in UTF8, but it is this one : ⊻
(Unicode Character 'XOR' (U+22BB))

I like ⊕ better, but ̩⊻ can do.

I also want λ and ∑ and all the other fancy math symbols :stuck_out_tongue:

For this, I can only imagine this would be the syntax:


I think the important thing to consider is if it’s easy and convenient to actually write this character to replace the xor operator. To me, it’s not, contrary to the ° symbol :

  • ° is actually available directly as a key on some keyboard (French azerty at least).
  • If you don’t have ° on your keyboard but use the Compose key, then ° = Compose o o which is still convenient.
  • var° is definitely more simple to write than deg2rad(var).

I’m not sure these 3 rules apply for the XOR character in UTF8.

And by the way, supporting UTF8 characters in variable or function names is not permitted (and no plan for that). ° is the only exception (and it’s an operator, not a function).

On compose, to do ̩⊻, you do ⋄ \ _ / just as one do ⋄ o o for ° symbol. Not too hard, but not convenient as ° symbol as it isn’t accessible on any keyboard to my knowledge.

On a slightly silly note: in some software ** is allowed for exponent (e.g. e**x instead of e^x). I always wished the same was possible for log, such as x//10 and x//e instead of log(x) and ln(x). To me the assumption of fixed base makes logarithms harder to understand.

Note that in G’MIC, ** and // have already the meaning of, respectively, complex multiplication and complex division.

1 Like

Gah, my dreams are smashed again! :pensive:

  • 2022/01/13 : Release of minor version 3.0.1.
1 Like


Following the thread Library extension G'MIC Prerelease 3.0.1 - #5 by kmilos here is a compilation G’MIC 3.0.1 with a libgmic-301.dll

Works with GIMP-2.99 64bit-Win
GMIC-GIMP-2.99 and GMIC-QT use this DLL.

Speaking of symbols, what G’MIC “needs” is natural language processing. Then you only need to type or speak it to make it so.

1 Like

Symbols is the biggest pros/cons of gmic language at once. Very flexible, but so hard for people to learn.

  • 2022/01/18 : Release of G’MIC 3.0.2 (critical bug fix).

Question, what do people think of allowing negative number in repeat()?

repeat(3,k,print(k);); => 0,1,2 # This works.
repeat(-3,k,print(k);); => 2,1,0 # This wouldn't.

So, repeat with negative number would just be going backward instead of forward.

My opinion is that this would introduce a kind of behavior weirdness :
reducing the value of the first argument of repeat() would first decrease the number of iterations, then increase it (after it becomes negative). And this, for almost no gain, because:

repeat (3,k,l = 2 - k; print(l));

it not that hard to set up.

Too many options can also make debugging difficult.