GithubHelp home page GithubHelp logo

yet-zio / yetcalc Goto Github PK

View Code? Open in Web Editor NEW
194.0 4.0 17.0 4.69 MB

Yet another calculator designed and developed for Android

License: BSD 3-Clause "New" or "Revised" License

Kotlin 100.00%
android app calculations calculator darkmode features java kotlin math mathematics new ui androidapp google oss software window kotlin-android yetcalc fdroid

yetcalc's Introduction

License GitHub Release Donate

yetCalc Icon

yetCalc

The free and open source calculator developed for Android 5.0 and above using Kotlin. yetCalc's calculator mode uses the mXparser library. Large calculations are handled without device freezing and other issues, although some calculations might take time.

yetCalc About

Modes

  • (🔢)Basic Calculator
  • (🧑‍🔬)Scientific Calculator
  • (📏)Unit Converter
  • (👨‍💻)Programmer

Features

  • Themes

    • System Theme(default)
    • Dark mode🌃
    • Light mode🏙️
  • Calculator

    yetCalc Landscape

    yetCalc Landscape

    • Support for all basic operators.
    • Progressive calculations.(results appear on top and change side by side as you change the expression)
    • Provides commonly used constants.(Some constants might result to 0 if precision setting is not high)
    • Switch between different angle measurements with ease.
    • Scientific Mode that provides various trigonometric, hyperbolic and inverse functions, calculus and iterated operators, much more.
    • Provides variable support.(only 1 variable)
    • Precision settings for precise calculations.
    • Operations like copy, cut, paste, delete are handled and results are changed accordingly.
    • Vibrations when clicking buttons?(don't know if I should have mentioned it here)

    DO NOTE: Inorder to use scientific features, the device should be in landscape mode.

  • Unit Converter

    • Currency: Conversions are handled through fawazahmed0/currency-api and requires an Internet connection.
    • Length: Conversions to and from Femtometres, Picometres, Nanometres, Micrometres, Millimetres, Centimetres, Decimetres, Metres, Decametres, Hectometres, Kilometres, Inches, Feet, Yards, Miles, Nautical Miles, Megametres, Gigametres, Terametres, Petametres, Furlongs
    • Volume: Conversions to and from Microlitres, Drops, Millilitres, Cubic centimetres, Decilitres, Litres, Cubic metres, Cups(US), Cups(UK), Pints(US), Pints(UK), Quarts(US), Quarts(UK), Gallons(US), Gallons(UK), Dry, Liquid, Federal and Oil Barrels(US), Barrels(UK), Cubic inches, Cubic feet, Cubic yards, Teaspoons(US), Teaspoons(UK), Tablespoons(US), Tablespoons(UK), Fluid Ounces(US), Fluid Ounces(UK)
    • Area: Conversions to and from Square millimetres, Square centimetres, Square decimetres, Square metres, Square decametres, Square hectometres, Square kilometres, Hectares, Square miles, Acres, Square inches, Square feet, Square yards, Square nautical miles, Dunams, Tsubos, Pyeong, Cuerdas, Square megametres, Square gigametres, Square terametres, Square petametres
    • Weight/Mass: Conversions to and from Femtograms, Picograms, Nanograms, Micrograms, Carats, Milligrams, Centigrams, Decigrams, Grams, Decagrams, Hectograms, Kilograms, Newtons(Earth), Tonnes, Ounces, Pounds, Stones, Tons(US), Tons(UK), Catties, Grains, Gigagrams, Teragrams, Petagrams
    • Temperature: Conversions to and from Celsius, Fahrenheit, Kelvin, Rankine scale, Delisle scale, Newton scale, Réaumur scale, Rømer scale, Yoctokelvin, Attokelvin, Femtokelvin, Picokelvin, Nanokelvin, Microkelvin, Millikelvin, Kilokelvin, Megakelvin, Gigakelvin, Terakelvin, Petakelvin, Exakelvin, Zettakelvin, Yottakelvin
    • Speed: Conversions to and from Centimetres per second, Metres per second, Kilometres per hour, Miles per hour, Knots, Feet per second, Feet per minute, Inch per second, Mach, Furlongs per Fortnight, Bubnoff units, Natural units(speed of light)
    • Power: Conversions to and from Watts, Kilowatts, Horsepower, Ergs per second, Foot-pounds per minute, Decibel-milliwatts, Calories per hour, BTUs per hour, Tons of refrigeration.
    • Energy: Conversions to and from Electron volts, Joules, Kilojoules, Ergs, Calories, British Thermal Units, Kilowatt hours, Kilocalories, Foot-pounds
    • Pressure: Conversions to and from Atmospheres, Torrs, Pascals, Kilopascals, Kips per square inch, Pounds per square inch, Feet Sea Water(15° C), Bars, Kilograms per square centimetre, Baryes, Sthenes, Millimetres of mercury
    • Time: Conversions to and from Nanoseconds, Microseconds, Milliseconds, Jiffies, Seconds, Minutes, Hours, Days, Weeks, Fortnights, Months, Years, Decades, Centuries, Milleniums, Galactic years
    • Angle: Degrees, Radians, Gradians, Turns, Milliradians, Minutes of arc, Seconds of arc
    • Data: Bits, Nibbles, Crumbs, Bytes, Kilobits, Kibibits, Megabits, Mebibits, Gigabits, Gibibits, Terabits, Tebibits, Petabits, Pebibits, Exabits, Exbibits, Zetabits, Zebibits, Yottabits, Yobibits, Kilobytes, Kibibytes, Megabytes, Mebibytes, Gigabytes, Gibibytes, Terabytes, Tebibytes, Petabytes, Pebibytes, Exabytes, Exbibytes, Zetabytes, Zebibytes, Yottabytes, Yobibytes
  • Programmer(Extended from this implementation)

    • Provides all basic operators like +, -, ×, ÷
    • Provides logical operators like AND, OR, NOT, NAND, NOR, XOR
    • Provides operations like left shift(<<) and right shift(>>)
    • Support for commonly used number systems: Binary, Octal, Decimal and Hexadecimal

Install

Get it on F-Droid

Or download the app from the releases page.

Note: Requires Android 5.0 and above.

Also, only download the app from sources provided by the developer.

Donations

To donate, check out Donate.md

yetcalc's People

Contributors

licaon-kter avatar poussinou avatar praveenrajput avatar renovate[bot] avatar yet-zio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

yetcalc's Issues

programmers can't paste

hi, i am encountering one simple difficulty with this. when using the programmer mode, there seems to be no interaction to paste a value from the clipboard contents.

in calculater mode there is clearly a flashing bar | to indicate input. long pressing that area brings the system overlay offering "paste" and an overflow elipsis to reveal "auto-fill" which i guess is redundant for a calculater but who knows. also a backspace ⌫ button is present and functional.

back in programmer mode there is no indication of input, there is no response for long press anywhere. also there is no backspace. this state persists in landscape orientation.

programmers always write values and inputs by hand, and wouldn't make mistakes while doing so, but as a borky scripter i would love to use this tool too. in any case, thankyou for your time and effort.

Network permission removal in seperate release?

Hello,

so far yetCalc seems to be more stable and feature packed than other calculators i've seen.

My only concern is the network permission, if its not too much of an extra maintenance burden, could you create a 2nd release apk that has network permission removed and just have the features that require it disabled or removed?

negative temperature celsius

Hi,

I'm trying to convert -4 °C to Fahrenheit.
But it doesn't seem possible to input a negative number.

What to do now?

F-Droid

Please add this app to the F-Droid main repository.

I can not read numbers

When I calculate for example 13000/30, I see that
Screenshot_20230318-085331_yetCalc

I can not read the first numbers,
Screenshot_20230318-085415_yetCalc

I suggest to specify the decimal number like that

Screenshot_20230318-085756_Unitto

PayPal not accepting transactions

Thanks for yetCalc!

I wanted to donate through PayPal but it says you cannot accept payments at the moment.

I hope you will solve soon the issues.

PayPal is a bad beast!

Consider changing calculator appearance

531ABFE1-1645-4E77-88AF-4FA6463B6F6A
81837204-CF73-4149-B885-EAF531D543F9
54791936-7951-4462-8907-8203376D746A
The calculator is great and has a lot of features. I wish it looked better. Consider a design like this, which is similar to the Samsung calculator which I think has the best design among all Android calculators. This way you will also have a button for the history, a button for the converter and a button to switch to scientific mode without having to rotate the phone.

Issue when value approaches Long's max value(9223372036854775807)

Problems

  • When value is greater than 9223372036854775807, the result remains same but changes on some values

Expected

  • A greater value or scientific notation as result

Causes

  • Double losing precision

Possible Solution

  • Compare with the maximum value not represented with scientific notation(Double), found to be 9999999

operation error

Example
1*2=2
Multiply the result (2) using the *
It appears on the left.. Then you cannot do any calculation with more than one step

Weird Button Shape

There's a problem where the shapes of the buttons for the calculator are shaped correctly. I have a Samsung Galaxy Z Flip 4 and my guess is that it's just a scaling issue seeing as the phone is much taller than most other phones out there.
Screenshot_20230104_080841_yetCalc

Bubnoff units are completely off

Bubnoff units (speed) convert to about .1c, consistent across various units, when they should be something like a millimeter per year. It seems like this comes from app/src/main/java/yetzio/yetcalc/component/UnitConv.kt, where the formulas in MetreperSecToBubnoff and BubnoffToMetreperSec are swapped.

Programmer mode - operation sign disappear when number system changed

Example:

  • in Programmer mode choose HEX
  • enter '10', enter '+'
  • in history string shows '010 +'
  • change number system to DEC
  • in history string shows '16' without operation sign
  • enter '1'
  • in history string shows '161'
  • press '='
  • in history string shows '17'
    So when number system changed during formula entering, operation sign is disappear.
    This is very confusing.

App can't add/subtract percentages properly

So, I really wanted to use this to replace the stock Xiaomi calculator, which I had replaced with the Google calculator, but the app cannot even calculate adding or subtracting percentages properly (I'm guessing it's just calculating the percentage in 1?).

Screenshot_2023-01-14-22-27-56-147_yetzio yetcalc
Screenshot_2023-01-14-22-27-47-340_yetzio yetcalc

Add units symbols in converter

A nice enhancement would be to add standard unit symbols alongside the full name of the unit in the converter.

A good start would be to simply add it between parenthesis or brackets in the string describing the units.

Material you

Support for Material You colors and a generally more MD3 design would be great

Floating calculator feature

Adding a floating calculator feature would make the app VERY handy. Like e.g. the Mi Calculator. Also a quick settings tile that would open directly the floating calculator would be very functional.

mass unit conversion error

I tried convert from miligrams to grams (mg -> g) and saw that there is a small deviation. See 3 on last digit.

Screenshot_20230418-132714_yetCalc

Currency converter improvements

Please add an option to remember last used currency in currency converter tab.
I would also like to be able to create favorites for currencies and be able to choose from them.
Or at least a search, because it is very inconvenient to search for a currency in a long list.

Scientific functions only available in landscape screen

On my phone, scientific functions are only available in landscape screen orientation,
not in default portrait screen orientation. Moreover, user even may not know that
scientific functions are present in the app and that they must change the screen
orientation to access them.

Screenshot_20230103_090123_yetCalc

System theme

Please add the "System Default" theme and set it as the default theme.

Not all digits are visible in portrait mode

Not all digits are shown in landscape mode. This is the result of square root 3. The first picture shows the result after calculation. I have scroll manualy to see the first digits (2nd picture). Would it be possible to reduce the number of digits or make the font smaller?

Screenshot_20230304-184916_yetCalc
Screenshot_20230304-184953_yetCalc

Programmer Mode: Boolean operators issue

Problems

Based on #35, the issue repeats for boolean operators such as AND, OR, NOT, NAND, NOR, XOR, LSH and RSH but everything is fine for arithmetic operators.

Expected

Remember the operator in history string and do not calculate beforehand.

Causes

Current solution only compares start index of operator with the last index.

for(i in opsList){
if(tvExp.text.toString().contains(i) && tvExp.text.toString().trim().indexOf(i) == tvExp.text.toString().trim().lastIndex){
mViewModel.opPresent = true
break
}
}

Possible Solution

Compare the last index for boolean operators.

Compact vertical layout of calculator

The keys in horizontal layout is more compact than the vertical one. If the vertical layoutt is as compact as the horizontal one, it can do what the horizontal one can do, as its result part takes less space than the horizontal layout's.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.