You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Deron Eriksson (JIRA)" <ji...@apache.org> on 2017/03/17 21:19:41 UTC

[jira] [Commented] (SYSTEMML-1419) Cleanup nested if-elses in main algorithms

    [ https://issues.apache.org/jira/browse/SYSTEMML-1419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15930748#comment-15930748 ] 

Deron Eriksson commented on SYSTEMML-1419:
------------------------------------------

Example from GLM.dml:
{code}
    if (ncol_y == 1 & dist_type == 1 & link_type == 1)
    { # POWER DISTRIBUTION
        is_supported = 1;
        if (var_power == 0 & link_power == -1.0) {print("Gaussian.inverse");      } else {
        if (var_power == 0 & link_power ==    0) {print("Gaussian.log");          } else {
        if (var_power == 0 & link_power ==  0.5) {print("Gaussian.sqrt");         } else {
        if (var_power == 0 & link_power ==  1.0) {print("Gaussian.id");           } else {
        if (var_power == 0                     ) {print("Gaussian.power_nonlog"); } else {
        if (var_power == 1.0 & link_power == -1.0) {print("Poisson.inverse");       } else {
        if (var_power == 1.0 & link_power ==    0) {print("Poisson.log");           } else {
        if (var_power == 1.0 & link_power ==  0.5) {print("Poisson.sqrt");          } else {
        if (var_power == 1.0 & link_power ==  1.0) {print("Poisson.id");            } else {
        if (var_power == 1.0                     ) {print("Poisson.power_nonlog");  } else {
        if (var_power == 2.0 & link_power == -1.0) {print("Gamma.inverse");         } else {
        if (var_power == 2.0 & link_power ==    0) {print("Gamma.log");             } else {
        if (var_power == 2.0 & link_power ==  0.5) {print("Gamma.sqrt");            } else {
        if (var_power == 2.0 & link_power ==  1.0) {print("Gamma.id");              } else {
        if (var_power == 2.0                     ) {print("Gamma.power_nonlog");    } else {
        if (var_power == 3.0 & link_power == -2.0) {print("InvGaussian.1/mu^2");    } else {
        if (var_power == 3.0 & link_power == -1.0) {print("InvGaussian.inverse");   } else {
        if (var_power == 3.0 & link_power ==    0) {print("InvGaussian.log");       } else {
        if (var_power == 3.0 & link_power ==  0.5) {print("InvGaussian.sqrt");      } else {
        if (var_power == 3.0 & link_power ==  1.0) {print("InvGaussian.id");        } else {
        if (var_power == 3.0                     ) {print("InvGaussian.power_nonlog");}else{
        if (                   link_power ==    0) {print("PowerDist.log");         } else {
                                                    print("PowerDist.power_nonlog");
    }   }}}}} }}}}} }}}}} }}}}} }}
{code}


> Cleanup nested if-elses in main algorithms
> ------------------------------------------
>
>                 Key: SYSTEMML-1419
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1419
>             Project: SystemML
>          Issue Type: Improvement
>          Components: Algorithms
>            Reporter: Deron Eriksson
>            Priority: Minor
>
> Some of the main algorithms (such as GLM-predict.dml) contain nested if-elses. Since DML now features "if () { } else if () { } ... else { }", the nested if-elses can be cleaned up to use "else if".



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)