Changeset 18228 for branches


Ignore:
Timestamp:
06/18/15 12:18:26 (9 years ago)
Author:
dneise
Message:
turned into library
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/FACT++_scripts_refactoring/Hist2D.js

    r16861 r18228  
    11'use strict';
    22
    3 function Hist2D(nx, xmin, xmax, ny, ymin, ymax)
    4 {
    5     var arr = new Array(nx);
     3if (!("Hist2D" in this)){
     4    var Hist2D = {
    65
    7     arr.get = function(x, y)
    8     {
    9         var ix = parseInt(nx*(x-xmin)/(xmax-xmin));
    10         var iy = parseInt(ny*(y-ymin)/(ymax-ymin));
     6        Hist2D : function(nx, xmin, xmax, ny, ymin, ymax)
     7        {
     8            var arr = new Array(nx);
    119
    12         if (!arr[ix])
    13             return 0;
     10            arr.get = function(x, y)
     11            {
     12                var ix = parseInt(nx*(x-xmin)/(xmax-xmin));
     13                var iy = parseInt(ny*(y-ymin)/(ymax-ymin));
    1414
    15         if (!arr[ix][iy])
    16             return 0;
     15                if (!arr[ix])
     16                    return 0;
    1717
    18         return arr[ix][iy];
    19     }
     18                if (!arr[ix][iy])
     19                    return 0;
    2020
    21     arr.fill = function(x, y, w)
    22     {
    23         var ix = parseInt(nx*(x-xmin)/(xmax-xmin));
    24         var iy = parseInt(ny*(y-ymin)/(ymax-ymin));
    25 
    26         if (ix<0 || ix>=nx || iy<0 || iy>=ny)
    27             return false;
    28 
    29         if (!arr[ix])
    30             arr[ix] = new Array(ny);
    31 
    32         if (!arr[ix][iy])
    33             arr[ix][iy] = 0;
    34 
    35         arr[ix][iy] += w ? w : 1;
    36 
    37         return true;
    38     }
    39 
    40     arr.print = function()
    41     {
    42         var line1 = "   |";
    43         for (var ix=0; ix<nx; ix++)
    44             line1 += " %3d ".$(ix);
    45 
    46         var line2 = "---+";
    47         for (var ix=0; ix<nx; ix++)
    48             line2 += "+----";
    49         line2+="+----";
    50 
    51         console.out("", line1, line2);
    52 
    53         var sum = 0;
    54         var sx = [];
    55         for (var ix=0; ix<nx; ix++)
    56             sx[ix] = 0;
    57 
    58         for (var iy=ny-1; iy>=0; iy--)
    59         {
    60             var line = "%3d|".$(iy);
    61 
    62             var sy = 0;
    63             for (var ix=0; ix<nx; ix++)
    64             {
    65                 var val = arr[ix] ? arr[ix][iy] : "";
    66                 line += " %4s".$(val?val:"");
    67 
    68                 if (arr[ix])
    69                 {
    70                     sy     += val?val:0;
    71                     sx[ix] += val?val:0;
    72                 }
     21                return arr[ix][iy];
    7322            }
    7423
    75             sum += sy;
     24            arr.fill = function(x, y, w)
     25            {
     26                var ix = parseInt(nx*(x-xmin)/(xmax-xmin));
     27                var iy = parseInt(ny*(y-ymin)/(ymax-ymin));
    7628
    77             console.out(line+"|%4d".$(sy));
    78         }
     29                if (ix<0 || ix>=nx || iy<0 || iy>=ny)
     30                    return false;
    7931
    80         console.out(line2);
     32                if (!arr[ix])
     33                    arr[ix] = new Array(ny);
    8134
    82         line = "   |";
    83         for (var ix=0; ix<nx; ix++)
    84             line += " %4d".$(sx[ix]);
     35                if (!arr[ix][iy])
     36                    arr[ix][iy] = 0;
    8537
    86         console.out(line+"|%4d".$(sum), "");
    87     }
     38                arr[ix][iy] += w ? w : 1;
    8839
    89     return arr;
     40                return true;
     41            }
     42
     43            arr.print = function()
     44            {
     45                var line1 = "   |";
     46                for (var ix=0; ix<nx; ix++)
     47                    line1 += " %3d ".$(ix);
     48
     49                var line2 = "---+";
     50                for (var ix=0; ix<nx; ix++)
     51                    line2 += "+----";
     52                line2+="+----";
     53
     54                console.out("", line1, line2);
     55
     56                var sum = 0;
     57                var sx = [];
     58                for (var ix=0; ix<nx; ix++)
     59                    sx[ix] = 0;
     60
     61                for (var iy=ny-1; iy>=0; iy--)
     62                {
     63                    var line = "%3d|".$(iy);
     64
     65                    var sy = 0;
     66                    for (var ix=0; ix<nx; ix++)
     67                    {
     68                        var val = arr[ix] ? arr[ix][iy] : "";
     69                        line += " %4s".$(val?val:"");
     70
     71                        if (arr[ix])
     72                        {
     73                            sy     += val?val:0;
     74                            sx[ix] += val?val:0;
     75                        }
     76                    }
     77
     78                    sum += sy;
     79
     80                    console.out(line+"|%4d".$(sy));
     81                }
     82
     83                console.out(line2);
     84
     85                line = "   |";
     86                for (var ix=0; ix<nx; ix++)
     87                    line += " %4d".$(sx[ix]);
     88
     89                console.out(line+"|%4d".$(sum), "");
     90            }
     91
     92            return arr;
     93        },
     94    };
    9095}
     96else{
     97    console.out("multiple include of 'Hist2D.js'")
     98}
     99
     100
Note: See TracChangeset for help on using the changeset viewer.