Commit Graph

215 Commits

Author SHA1 Message Date
Yaya-Cout
c1f5b4afac Merge branch 'upsilon-dev' into logic-toolbox 2025-11-05 15:01:45 +00:00
circuit10
b44a95a9b3 Casio fx-CG series port (#324)
* Initial test - working on Linux

* Try to make it work with liba

* Stop using liba and the filesystem

* IT WORKS

* Key input, full res, fix some of the crashes

* Fix the hang when doing calculations

* Add some more key mappings

* Fix the square root issue

* Icons

* Better key mappings, brightness control, better gamma correction, more effficient framebuffer

* Cleanup stage 1

* Cleanup stage 2

* Make the build system build a g3a

* Make it not exit when you press the menu button

* Add Casio port to README

* Use omega-master instead of omega-dev

* Fix mistake with cherry-picking in the README

* Fix internal storage crash

* Fix compile error on Numworks calculators

* Upsilon branding

* Sharper icon

* Make the CI work

* Add power off and improve menu

* Map Alpha + up/down to the brightness shortcut

* Add missing file

* Fix web CI build

* Revert "Fix web CI build"

This reverts commit f19657d9fc.

* Change "prizm" to "fxcg"

* Add FASTLOAD option for Add-in Push

* Add some charatcers to the catalog on Casio and improve key mappings

* Build with -Os -flto

* Disable LTO for now as it's causing crashes

* Put back the fonts I accidently changed

I'd like to add an option for this though as I prefer the ones from Epsilon
2023-05-10 18:28:18 +02:00
Joe Crop
fc95028b57 - Added clog2 function
- negative numbers can now be displayed in 2's compliment binary
2022-12-06 11:10:01 -08:00
Joe Crop
42d8fea8c6 logic toolbox with logic functions 2022-12-05 20:07:45 -08:00
Gabriel Ozouf
bad21f0ab5 [poincare/integer] Fix negative mixed fraction
Mixed fractions for negative rational numbers are now computed as the
opposite of their opposite's mixed fraction, as is conventionnal.
ex : -9/5 is now decomposed as -1-4/5 instead of -2+1/5

Change-Id: I6df3dce585ccadd1bcd7cc562576995face98f9c
2020-11-04 15:32:59 +01:00
Gabriel Ozouf
fad375c11c [poincare] Add unitFormat to ReductionContext
Change-Id: I1d3fcd2f47c973c041e1be84e9a902dd58de3562
2020-11-04 15:11:44 +01:00
Ruben Dashyan
8e71e03b6e [poincare] Remove ostream and iostream header inclusions and keep them precisely where needed 2020-06-04 14:50:01 +02:00
Romain Goyet
84768472bd Explicit std::min/max template usage
This is unfortunately required in several cases:
 - Sometimes when we use either float and double (this should be changed)
 - Because KDCoordinate is not an int, so any arithmemtic promotes it to
an int
 - Because we mix pointer differences and ints
2020-04-14 09:31:02 -04:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Léa Saviot
424ee9fa15 [poincare] Add SymbolicComputation parameter to the reduction context
This way, in solver, we can reduce expression without expanding symbols
2020-02-12 15:13:24 +01:00
Émilie Feral
ef3e33f343 [poincare] Implement Integer::CreateMixedFraction 2020-02-12 15:13:19 +01:00
Émilie Feral
df6817547f [poincare] Integer: create 2 methods 'CreateMixedFraction' and
'CreateEuclideanDivision' that build expected expressions from 2
integers
2020-02-12 15:13:19 +01:00
Émilie Feral
2cae1cdf50 [poincare] Integer: factorize overflown integer handling in
serialization methods
2020-02-12 15:13:19 +01:00
Émilie Feral
fef07ee239 [poincare] Integer: add methods to serialize/layout/build in hexadecimal and binary 2020-02-12 15:13:19 +01:00
Émilie Feral
4d593a6149 [poincare] PrintFloat: take into account the distinction between char
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Léa Saviot
b0b10f184e [poincare/print_float] convertFloatToText -> ConvertFloatToText 2019-08-08 17:22:06 +02:00
Léa Saviot
49a508ea62 [poincare] Fix serializations
They should return the number of written chars
2019-08-08 17:22:05 +02:00
Émilie Feral
8b926612a2 Revert "[ion] Namespace Ion::UTF8Helper and Ion::UTF8Decoder"
This reverts commit 23da0d3f2c.
2019-05-03 16:29:28 +02:00
Émilie Feral
23da0d3f2c [ion] Namespace Ion::UTF8Helper and Ion::UTF8Decoder 2019-04-29 18:01:30 +02:00
Léa Saviot
fbfbf5c845 [poincare] Rational::createLyt gives single CodePointLyt if possible
This reduces the size of created layouts, thus allowing more layouts to
be created, as there is a limit on the number of layout in a lyout field
2019-04-12 15:16:52 +02:00
Léa Saviot
784381bd33 [unicode] Use unicode when dealing with chars - Part 1 2019-04-12 15:16:51 +02:00
Léa Saviot
43031928c3 Remove max/min inline from KDCoordinate header 2019-04-12 15:16:51 +02:00
Émilie Feral
24c9617a89 [poincare] Templatize TreeHandle Builders 2019-02-21 11:29:35 +01:00
Émilie Feral
55704b4e65 [poincare] TreeHandle: the constructor from a identifier retains the
node if it has one
2019-02-21 11:29:35 +01:00
Émilie Feral
7b5f3c570d [poincare] Change the way Expression are built 2019-02-21 11:29:35 +01:00
Émilie Feral
535dee8220 [poincare] Integer: add TODO 2019-02-05 16:42:36 +01:00
Émilie Feral
2b19a02b6a [poincare] Integer: avoid easy stack overflow by using static working
buffer for integer operations
2019-02-05 16:42:36 +01:00
Émilie Feral
02b27124f4 [poincare] Integer: remove duplicate method: isInfinite is equivalent to
isOverflow
2019-02-05 16:42:36 +01:00
Émilie Feral
f4d63a2160 [poincare] Integer are allocated on the TreePool instead of using their
own buffer. Short Integers are kept in the handle as an optimization.
2019-02-05 16:42:36 +01:00
Émilie Feral
9a254eb78b [poincare] Fix Integer approximation
Take into accound the sign even if the approximation is infinite
2018-12-18 09:34:15 +01:00
Émilie Feral
90fa6f0850 [poincare] Fix Integer::approximate
Take the sign into account even for infinite values
2018-12-17 17:04:31 +01:00
Léa Saviot
1799451b80 [poincare] Fix Integer log 2018-11-23 12:03:59 +01:00
Léa Saviot
e953a02f97 [poincare] Handle overflow in Integer 2018-09-25 13:21:37 +02:00
Léa Saviot
99b449f7fb [poincare] Integer::ucmp special case for Overflows 2018-09-25 10:53:22 +02:00
Léa Saviot
5b5211be24 [poincare] Tidy Integer buffer on Poincare exception 2018-09-25 10:42:47 +02:00
Léa Saviot
2fa6d4eb83 [poincare] When num or den of a division is Overflow, return overflow 2018-09-24 14:33:04 +02:00
Émilie Feral
94d79e9eb3 [poincare] Fix Integer copy constructor, copy assignement 2018-09-19 11:23:11 +02:00
Léa Saviot
1ec9fd789e [poincare] Use non pilfering Integer constructor in Rational and Decimal 2018-09-18 17:16:18 +02:00
Émilie Feral
365b145cf3 [poincare] Change names: LayoutReference-->Layout 2018-09-18 16:29:44 +02:00
Léa Saviot
41ae49ccf5 [poincare] Add non-zero assertion in Integer::udiv 2018-09-17 11:04:28 +02:00
Émilie Feral
257194507c [poincare] Integer: avoid invalid read 2018-09-17 10:54:12 +02:00
Émilie Feral
616e4c0bcc [poincare] Change name: LayoutRef --> LayoutReference 2018-09-14 16:57:12 +02:00
Émilie Feral
e9a14de101 [poincare] Integer: revert uint8_t--> size_t wrongly changed 2018-09-14 16:06:58 +02:00
Émilie Feral
a104d72d25 [poincare] Fix Integer constructor 2018-09-14 15:21:50 +02:00
Léa Saviot
2be65c9b1b [poincare] Use small variable types in Nodes 2018-09-14 14:50:19 +02:00
Émilie Feral
4712aaa872 [poincare] Improve Decimal and Rational log 2018-09-12 15:41:46 +02:00
Émilie Feral
0410e63e5b [poincare] Integer: add comment 2018-09-11 13:20:06 +02:00
Émilie Feral
e77d6e5c40 [poincare] Fix Integer::udiv 2018-09-10 17:38:45 +02:00
Émilie Feral
87f233d815 [poincare] Fix Integer::udiv 2018-09-10 16:32:09 +02:00
Léa Saviot
a436cca301 [poincare] Escape when overflows in Integer::multiplication, usum... 2018-09-10 16:19:59 +02:00