Changeset 2404


Ignore:
Timestamp:
07/26/07 22:53:24 (6 years ago)
Author:
ortalo
Message:

Improved display of non-finite numbers (with some special treatment for repeated NaN results...:-)

Location:
trunk/src/target/OM-2007/applications/openmoko-calculator
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007/applications/openmoko-calculator/configure.ac

    r2393 r2404  
    11AC_PREREQ(2.53) 
    2 AC_INIT(openmoko-calculator, 0.0.4, rodolphe.ortalo@free.fr) 
     2AC_INIT(openmoko-calculator, 0.0.5, rodolphe.ortalo@free.fr) 
    33AM_INIT_AUTOMAKE() 
    44AC_CONFIG_SRCDIR(src/calc-main.c) 
  • trunk/src/target/OM-2007/applications/openmoko-calculator/po/Calculator.pot

    r2393 r2404  
    99"Project-Id-Version: PACKAGE VERSION\n" 
    1010"Report-Msgid-Bugs-To: \n" 
    11 "POT-Creation-Date: 2007-07-25 22:19+0200\n" 
     11"POT-Creation-Date: 2007-07-26 22:34+0200\n" 
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    1717"Content-Transfer-Encoding: 8bit\n" 
    1818 
    19 #: src/calc-main.c:82 
     19#: src/calc-main.c:83 
    2020msgid "Clear All" 
    2121msgstr "" 
    2222 
    23 #: src/calc-main.c:82 
     23#: src/calc-main.c:83 
    2424msgid "Clear" 
    2525msgstr "" 
    2626 
    27 #: src/calc-main.c:86 
     27#: src/calc-main.c:87 
    2828msgid "<big><b>.</b></big>" 
     29msgstr "" 
     30 
     31#: src/calc-main.c:132 
     32msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>" 
     33msgstr "" 
     34 
     35#: src/calc-main.c:136 
     36msgid "" 
     37"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     38"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n" 
     39"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</" 
     40"span>" 
    2941msgstr "" 
    3042 
    3143#. application object 
    3244#. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance()); 
    33 #: src/calc-main.c:350 
     45#: src/calc-main.c:374 
    3446msgid "Calculator" 
    3547msgstr "" 
    3648 
    37 #: src/calc-main.c:357 
     49#: src/calc-main.c:381 
    3850msgid "Close" 
    3951msgstr "" 
  • trunk/src/target/OM-2007/applications/openmoko-calculator/po/fr.po

    r2393 r2404  
    88"Project-Id-Version: openmoko-calculator 0.0.2\n" 
    99"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2007-07-25 22:19+0200\n" 
    11 "PO-Revision-Date: 2007-03-23 21:34+0100\n" 
     10"POT-Creation-Date: 2007-07-26 22:34+0200\n" 
     11"PO-Revision-Date: 2007-07-26 22:39+0200\n" 
    1212"Last-Translator: ortalo <rodolphe.ortalo@free.fr>\n" 
    1313"Language-Team: French <traduc@traduc.org>\n" 
     
    1717"Plural-Forms: nplurals=2; plural=(n > 1);\n" 
    1818 
    19 #: src/calc-main.c:82 
     19#: src/calc-main.c:83 
    2020msgid "Clear All" 
    2121msgstr "RAZ" 
    2222 
    23 #: src/calc-main.c:82 
     23#: src/calc-main.c:83 
    2424msgid "Clear" 
    2525msgstr "Effacer" 
    2626 
    27 #: src/calc-main.c:86 
     27#: src/calc-main.c:87 
    2828msgid "<big><b>.</b></big>" 
    2929msgstr "<big><b>,</b></big>" 
    3030 
     31#: src/calc-main.c:132 
     32msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>" 
     33msgstr "" 
     34 
     35#: src/calc-main.c:136 
     36msgid "" 
     37"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     38"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n" 
     39"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</" 
     40"span>" 
     41msgstr "" 
     42"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     43"<span foreground=\"darkgrey\" size=\"smaller\">canal_cach&#x00E9;/ok</span>\n" 
     44"<span foreground=\"orange\" style=\"italic\">T&#x00E9;l&#x00E9;portation " 
     45"demand&#x00E9;e...</span>" 
     46 
    3147#. application object 
    3248#. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance()); 
    33 #: src/calc-main.c:350 
     49#: src/calc-main.c:374 
    3450msgid "Calculator" 
    3551msgstr "Calculatrice" 
    3652 
    37 #: src/calc-main.c:357 
     53#: src/calc-main.c:381 
    3854msgid "Close" 
    3955msgstr "Fermer" 
  • trunk/src/target/OM-2007/applications/openmoko-calculator/po/ru.po

    r2393 r2404  
    88"Project-Id-Version: openmoko-calculator 0.0.2\n" 
    99"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2007-07-25 22:19+0200\n" 
     10"POT-Creation-Date: 2007-07-26 22:34+0200\n" 
    1111"PO-Revision-Date: 2007-04-03 17:33+0300\n" 
    1212"Last-Translator:  Evgeny Ginzburg <Nad.Oby@gmail.com>\n" 
     
    1616"Content-Transfer-Encoding: 8bit\n" 
    1717 
    18 #: src/calc-main.c:82 
     18#: src/calc-main.c:83 
    1919msgid "Clear All" 
    2020msgstr "ОчОстОть всё" 
    2121 
    22 #: src/calc-main.c:82 
     22#: src/calc-main.c:83 
    2323msgid "Clear" 
    2424msgstr "ОчОстОть" 
    2525 
    26 #: src/calc-main.c:86 
     26#: src/calc-main.c:87 
    2727msgid "<big><b>.</b></big>" 
    2828msgstr "<big><b>.</b></big>" 
    2929 
     30#: src/calc-main.c:132 
     31msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>" 
     32msgstr "" 
     33 
     34#: src/calc-main.c:136 
     35msgid "" 
     36"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     37"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n" 
     38"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</" 
     39"span>" 
     40msgstr "" 
     41 
    3042#. application object 
    3143#. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance()); 
    32 #: src/calc-main.c:350 
     44#: src/calc-main.c:374 
    3345msgid "Calculator" 
    3446msgstr "КалькулятПр" 
    3547 
    36 #: src/calc-main.c:357 
     48#: src/calc-main.c:381 
    3749msgid "Close" 
    3850msgstr "Закрыть" 
  • trunk/src/target/OM-2007/applications/openmoko-calculator/po/sv.po

    r2393 r2404  
    88"Project-Id-Version: openmoko calculator\n" 
    99"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2007-07-25 22:19+0200\n" 
     10"POT-Creation-Date: 2007-07-26 22:34+0200\n" 
    1111"PO-Revision-Date: 2007-04-04 11:18+0100\n" 
    1212"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" 
     
    1616"Content-Transfer-Encoding: 8bit\n" 
    1717 
    18 #: src/calc-main.c:82 
     18#: src/calc-main.c:83 
    1919msgid "Clear All" 
    2020msgstr "Töm allt" 
    2121 
    22 #: src/calc-main.c:82 
     22#: src/calc-main.c:83 
    2323msgid "Clear" 
    2424msgstr "Töm" 
    2525 
    26 #: src/calc-main.c:86 
     26#: src/calc-main.c:87 
    2727msgid "<big><b>.</b></big>" 
    2828msgstr "<big><b>.</b></big>" 
    2929 
     30#: src/calc-main.c:132 
     31msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>" 
     32msgstr "" 
     33 
     34#: src/calc-main.c:136 
     35msgid "" 
     36"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     37"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n" 
     38"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</" 
     39"span>" 
     40msgstr "" 
     41 
    3042#. application object 
    3143#. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance()); 
    32 #: src/calc-main.c:350 
     44#: src/calc-main.c:374 
    3345msgid "Calculator" 
    3446msgstr "MinirÀknare" 
    3547 
    36 #: src/calc-main.c:357 
     48#: src/calc-main.c:381 
    3749msgid "Close" 
    3850msgstr "StÀng" 
  • trunk/src/target/OM-2007/applications/openmoko-calculator/src/calc-main.c

    r2393 r2404  
    2222#include <stdio.h> 
    2323#include <math.h> 
     24#include <string.h> 
    2425 
    2526#include <libmokoui/moko-application.h> 
     
    123124  if (the_state.n_digits == 0) { 
    124125    /* We are certainly displaying a computation result */ 
    125     /* Manually build the display string ala %g */ 
    126     double value = v; 
    127     int expof10; 
    128  
    129     expof10 = (int) log10((value>=0.)?(value):(-value)); 
    130     value *= pow(10,-expof10); 
    131     if (expof10 >= MAX_DISPLAY_CHARS) 
    132       snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g <small>e</small><sup><big>%d</big></sup></span>",(MAX_DISPLAY_CHARS-2),value,expof10); 
    133     else 
    134       snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g</span>",MAX_DISPLAY_CHARS,v); 
     126    if (!isfinite(v)) { 
     127      /* first gets rid of very special cases... */ 
     128      if (isnan(v)) { 
     129        static int toomany = 0; 
     130        if ((the_state.func != &noop_func) || (++toomany % 7)) 
     131          gtk_label_set_markup(GTK_LABEL(displayed_label), 
     132                               _("<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>")); 
     133        else 
     134          /* ok, let's have some fun too... */ 
     135          gtk_label_set_markup(GTK_LABEL(displayed_label), 
     136                               _("<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n" 
     137                                 "<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n" 
     138                                 "<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</span>")); 
     139      } else if (isinf(v)>0) { 
     140        /* positive infinity */ 
     141        gtk_label_set_markup(GTK_LABEL(displayed_label),"<span font_desc=\"48\" >&#x221E;</span>"); 
     142      } else { 
     143        /* only negative infinity remains... */ 
     144        gtk_label_set_markup(GTK_LABEL(displayed_label),"<span font_desc=\"48\" >-&#x221E;</span>"); 
     145      } 
     146      return; /* short-cut out */ 
     147    } else { 
     148      /* Manually build the display string ala %g */ 
     149      double value = v; 
     150      int expof10; 
     151 
     152      expof10 = (int) log10(fabs(value)); 
     153      value *= pow(10,-expof10); 
     154      if (expof10 >= MAX_DISPLAY_CHARS) 
     155        snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g <small>e</small><sup><big>%d</big></sup></span>",(MAX_DISPLAY_CHARS-2),value,expof10); 
     156      else 
     157        snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g</span>",MAX_DISPLAY_CHARS,v); 
     158    } 
    135159  } else { 
    136160    /* We display entered value including trailing 0s */ 
     
    145169  calc_debug(dispstring); 
    146170#endif 
    147            
     171 
    148172  gtk_label_set_markup(GTK_LABEL(displayed_label), dispstring); 
    149173} 
Note: See TracChangeset for help on using the changeset viewer.