Skip to content

Fully offline Android calculator app for power users with variable support, syntax highlighting, file-based sessions, and more.

License

Notifications You must be signed in to change notification settings

vishaltelangre/NerdCalci

Repository files navigation

NerdCalci

NerdCalci Icon

Fully offline Android calculator app for power users with variable support, syntax highlighting, file-based sessions, and more.

Screenshots

1 2 3 4 5 6

Features

Smart Calculations

  • Variable Support: Define variables and use them in calculations
    a = 100
    b = 200
    total = a + b  # 300
    
  • Percentage Calculations: Natural percentage syntax
    20% of 50000    # 10000
    15% off 1000    # 850
    50000 + 10%     # 55000
    50000 - 5%      # 47500
    
  • Comments: Add notes with # symbol
    price = 1000  # base price
    tax = 18% of price  # 180
    
  • Mathematical Functions: Built-in support for common math functions (see exp4j documentation for more details)
    sqrt(16)           # 4
    sqrt 16            # 4
    sin(pi/2)          # 1
    log10(1000)        # 3
    pow(2, 8)          # 256
    abs(-42)           # 42
    
    # Calculate circle area
    radius = 5
    area = pi() * pow(radius, 2)  # 78.54
    
    # Convert degrees to radians and calculate sine
    degrees = 45
    radians = degrees * pi / 180
    result = sin(radians)  # 0.71
    
    # Exponential growth
    principal = 1000
    rate = 0.05
    time = 10
    amount = principal * exp(rate * time)  # 1648.72
    

Editor Features

  • Syntax Highlighting: Color-coded variables, numbers, operators, and comments
  • Auto-completion: Smart variable suggestions as you type
  • Line Numbers: Easy reference and navigation

File Management

  • Multiple Files: Create and manage separate calculation files
  • Auto-save: Changes are saved automatically
  • Pin Files: Keep important files at the top (max 10 pinned files)
  • Duplicate Files: Create a copy of a file with a new name
  • Backups: Automatically or manually backup your files to app storage or a custom folder
  • Restore from backups: Restore your files from backups
  • Copy with Results: Copy file content with calculated results to clipboard

And More...

  • Offline: Works without internet
  • Undo/Redo: Up to 30 steps per file
  • Dark/Light Theme: System, dark, or light mode
  • Real-time Results: See calculations update as you type

Download/Install

From F-Droid (Recommended)

Submission in progress - will be available soon!

Get it on F-Droid

From Obtainium

Get it on Obtainium

You need to install Obtainium first on your Android device.

From GitHub Releases

Get it on GitHub

  1. Go to the Releases page
  2. Download the latest APK file
  3. Transfer to your Android device
  4. Enable "Install from Unknown Sources" if prompted
  5. Open the APK and install
  6. Start calculating!

From Source

  1. Clone the repository:

    git clone https://github.com/vishaltelangre/NerdCalci.git
    cd nerdcalci
  2. Open the project in Android Studio

  3. Build and run on your device or emulator

Built With

Development

Running Tests

Run all unit tests:

./gradlew :app:testDebugUnitTest

Run specific test class:

./gradlew :app:testDebugUnitTest --tests "com.vishaltelangre.nerdcalci.core.MathEngineTest"

After running tests, view the HTML report:

open app/build/reports/tests/testDebugUnitTest/index.html

Generate App Icons

Automatically generate all required app icon sizes from a single source image:

./scripts/generate-icons.sh ~/Downloads/app-icon.png

This creates:

  • Android mipmap icons (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi)
  • Fastlane metadata icon
  • Both regular and round launcher icons

Requirements:

  • Source image: PNG, minimum 512x512 (recommended: 2048x2048)
  • Square aspect ratio (1:1)
  • macOS: sips (built-in) or ImageMagick

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

Fully offline Android calculator app for power users with variable support, syntax highlighting, file-based sessions, and more.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors