tucson.social
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Mac@programming.dev to Programmer Humor@programming.dev · 2 years ago

isEven API

isevenapi.xyz

external-link
message-square
18
link
fedilink
257
external-link

isEven API

isevenapi.xyz

Mac@programming.dev to Programmer Humor@programming.dev · 2 years ago
message-square
18
link
fedilink
alert-triangle
You must log in or # to comment.
  • 4am@lemm.ee
    link
    fedilink
    arrow-up
    69
    arrow-down
    1
    ·
    2 years ago

    Incoming trademark lawsuit from iSeven, the API that tells you if a number is seven or not

  • Rikudou_Sage@lemmings.world
    link
    fedilink
    English
    arrow-up
    50
    ·
    edit-2
    2 years ago

    If anyone wants a more efficient local version for php:

    function isEven(int $number): bool
    {
        ${1} = false;
        ${2} = true;
    
        while ($number > 2) {
            $number -= 2;
        }
    
        return $$number;
    }
    

    Edit: Now with support for large numbers!

    function isEven(int|string $number): bool
    {
        ${1} = false;
        ${2} = true;
    
        while (bccomp($number, 2) === 1) {
            $number = bcsub($number, 2);
        }
    
        $number = (int) $number;
        return $$number;
    }
    

    Edit 2: someone asked for an ad-supported version, here you go!

    function isEven(int|string $number): bool
    {
        ${1} = false;
        ${2} = true;
    
        while (bccomp($number, 2) === 1) {
            error_log('Buy isEvenCoin, the hottest new cryptocurrency!');
            $number = bcsub($number, 2);
        }
    
        $number = (int) $number;
        return $$number;
    }
    

    Side note, no more suggestions please, this is getting quite long.

    • idunnololz@lemmy.world
      link
      fedilink
      arrow-up
      9
      ·
      2 years ago

      This looks pretty inefficient. You should manually unroll that loop to improve performance.

    • shotgun_crab@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 years ago

      Comment edits are the best version control system

      • Rikudou_Sage@lemmings.world
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        I agree! Added new commit to my comment.

  • marcos@lemmy.world
    link
    fedilink
    arrow-up
    49
    ·
    2 years ago

    Oh, bummer, my number isn’t supported by the free version:

    https://api.isevenapi.xyz/api/iseven/8764389587485736749956772984692357867345989845699872561/

    • Captain Janeway@lemmy.world
      link
      fedilink
      arrow-up
      42
      ·
      2 years ago

      Just divide that number by two until it’s small enough to make the request under the free version.

      • taaz@biglemmowski.win
        link
        fedilink
        English
        arrow-up
        35
        ·
        2 years ago

        pretty sure that has to be against their TOS

        /s

        • mormegil@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          That’s against the terms of math :-)

    • Aa!@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      2 years ago

      That’s not even supported by the enterprise version. You’re going to need a special agreement with the iseven people to support numbers like that

    • fckreddit@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      2 years ago

      Easy workaround, just test the last digit. If it is even, the entire number is even, else odd.

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        2 years ago

        That’s preposterous! Next time you’ll tell me the language I’m using has a builtin operator that test if a number can be divided by another!

  • rem26_art@kbin.social
    link
    fedilink
    arrow-up
    21
    ·
    2 years ago

    im glad that people are out there building the web services we truly need.

  • ryry1985@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    2 years ago

    I love that it works and the ads are pretty good.

  • eluvatar@programming.dev
    link
    fedilink
    arrow-up
    15
    ·
    edit-2
    2 years ago

    The errors are great https://api.isevenapi.xyz/api/iseven/1.5

    ~~Sadly it’s not always accurate https://api.isevenapi.xyz/api/iseven/0~~ Edit: nevermind I’m an idiot

    It’s also greatly lacking in number support https://api.isevenapi.xyz/api/iseven/one

  • megaman@discuss.tchncs.de
    link
    fedilink
    arrow-up
    7
    ·
    2 years ago

    Funny as hell

  • morrowind@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    I resent that there is a ruby developer included in there. isEven is not idiomatic naming. You should be using #even? from the standard library

    • fckreddit@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      Sorry sir, most JS developers don’t use standard library functions. We just use npm packages wherever possible.

Programmer Humor@programming.dev

programmer_humor@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1.25K users / day
  • 3.47K users / week
  • 7.72K users / month
  • 19.3K users / 6 months
  • 1 local subscriber
  • 24.9K subscribers
  • 1.54K Posts
  • 50.4K Comments
  • Modlog
  • mods:
  • Feyter@programming.dev
  • adr1an@programming.dev
  • BurningTurtle@programming.dev
  • Pierre-Yves Lapersonne@programming.dev
  • BE: 0.19.12
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code
  • join-lemmy.org