)
        {
            return val1 > val2? val2 : val1;
        }

        public static int Min(int val1, int val2)
        {
            return val1 > val2? val2 : val1;
        }

        public static long Min(long val1, long val2)
        {
            return val1 > val2? val2 : val1;
        }

        [CLSCompliant(false)]
        public static sbyte Min(sbyte val1, sbyte val2)
        {
            return val1 > val2? val2 : val1;
        }

        public static short Min(short val1, short val2)
        {
            return val1 > val2? val2 : val1;
        }

        [CLSCompliant(false)]
        public static uint Min(uint val1, uint val2)
        {
            return val1 > val2? val2 : val1;
        }

        [CLSCompliant(false)]
        public static ulong Min(ulong val1, ulong val2)
        {
            return val1 > val2? val2 : val1;
        }

        [CLSCompliant(false)]
        public static ushort Min(ushort val1, ushort val2)
        {
            return val1 > val2? val2 : val1;
        }

        public static double Pow(double x, double y)
        {
            return JSMath.Pow(x, y);
        }

        //public static decimal Round(decimal d);

        public static double Round(double value)
        {
            if (value <= 0)
            {
                return JSMath.Round(value);
            }
            double integer = JSMath.Floor(value);
            if (value - integer > 0.5)
            {
                return integer + 1;
            }
            return integer;
        }

        private static double RoundAwayFromZero(double value)
        {
            if (value >= 0)
            {
                return JSMath.Round(value);
            }
            double integer = JSMath.Ceil(value);
            if (JSMath.Abs(value - integer) >= 0.5)
            {
                return integer - 1;
            }
            return integer;
        }

        //public static decimal Round(decimal d, int decimals);

        //public static decimal Round(decimal d, MidpointRounding mode);

        public static double Round(double value, int digits)
        {
            var f = JSMath.Pow(10, digits);
            return Round(value * f) / f;
        }

        public static double Round(double value, MidpointRounding mode)
        {
            if (mode == MidpointRounding.AwayFromZero)
            {
                return RoundAwayFromZero(value);
            }
            else
            {
                return Round(value);
            }
        }

        //public static decimal Round(decimal d, int decimals, MidpointRounding mode);

        public static double Round(double value, int digits, MidpointRounding mode)
        {
            var f = JSMath.Pow(10, digits);
            return Round(value * f, mode) / f;
        }

        //public static int Sign(decimal value);

        public static int Sign(double value)
        {
            if (value < 0.0)
            {
                return -1;
            }
            if (value > 0.0)
            {
                return 1;
            }
            if (value == 0.0)
            {
                return 0;
            }
            throw new System.Exception("Not a number");
        }

        public static int Sign(float value)
        {
            return Sign((double)value);
        }

        public static int Sign(int value)
        {
            if (value < 0)
            {
                return -1;
            }
            if (value > 0)
            {
                return 1;
            }
            return 0;
        }

        public static int Sign(long value)
        {
            if (value < 0)
            {
                return -1;
            }
            if (value > 0)
            {
                return 1;
            }
            return 0;
        }

        [CLSCompliant(false)]
        public static int Sign(sbyte value)
        {
            if (value < 0)
            {
                return -1;
            }
            if (value > 0)
            {
                return 1;
            }
            return 0;
        }

        public static int Sign(short value)
        {
            if (value < 0)
            {
                return -1;
            }
            if (value > 0)
            {
                return 1;
            }
            return 0;
        }

        public static double Sin(double a)
        {
            return JSMath.Sin(a);
        }

        public static double Sinh(double value)
        {
            return (JSMath.Exp(value) - JSMath.Exp(-value)) / 2;
        }

        public static double Sqrt(double d)
        {
            return JSMath.Sqrt(d);
        }

        public static double Tan(double a)
        {
            return JSMath.Tan(a);
        }

        //public static double Tanh(double value);

        //public static decimal Truncate(decimal d);

        public static double Truncate(double d)
        {
            if (JSNumber.IsNaN(d)) 
            {
                return JSNumber.NaN; 
            }
            return d < 0? JSMath.Ceil(d) : JSMath.Floor(d);
        }
    }
}
10
Multilevel Modeling of Influences on Transitions to Adulthood in Developing Countries with Special Reference to Cameroon
Barthélémy Kuate-Defo
Adolescence is a critical period in an individual’s life. During this time many key social, economic, biological, developmental, and demographic events occur that set the stage for adult life. Not surprisingly, therefore, adolescents are widely recognized as a critical target group for reproductive health and other social policies and programs. Yet the growing interest in adolescents in the policy and programming arenas has drawn attention to the gaps in research regarding the status and situation of adolescents in developing countries and the transitions to adulthood that individuals experience.
One of the chronic methodological problems that has hampered a deep understanding of the transition from childhood to adulthood is the inadequacy of traditional statistical techniques for modeling hierarchy. Such techniques estimate models without taking into account the clustered structure of data. As a result they have fostered an impoverished conceptualization of relationships between exposure and response variables and have often discouraged the formulation of explicit multilevel models with hypotheses about effects occurring at each level and across levels. They have caused concerns about aggregation bias, misestimated precision, and the “unit of analysis” and “level of measurement” problems, concerns that are better addressed with multilevel approaches (Bryk and Raudenbush, 1992; Goldstein, 2003; Kuate-Defo, 2005a; Searle, Casella, and McCulloch, 1992; Snijders and Bosker, 1999). Building on a theoretical framework developed by the National Research Council (NRC)’s Panel on Transitions to Adulthood in Developing Countries, this chapter formulates and estimates multilevel models that identify the fixed and random effects of covariates at the
appropriate.
SUCCESSFUL AND HEALTHY TRANSITIONS TO ADULTHOOD
young,
but have not been studied much in developing countries in part because the research emphasis has been on the demand and expectational attributes and therefore, the literature on successful transitions from adolescence to adulthood remains scarce. The constructive aspects of roles imply roles that offer opportunities to acquire new skills and abilities and use those already acquired. In this study, roles or events with positive properties will characterize successful transitions, in contrast to roles or events with negative properties. Furthermore, successful transitions can be associated with unhealthy events or health problems and in such cases, we treat the transition as unhealthy, whether it is successful or not. For example, in Cameroon, the legal age at marriage is 15 for girls and 18 for boys and the legal age at entry into the labor force is 15 for both sexes. This means that from a sociolegal point of view, transitions to employment, marriage, household headship, and marital childbearing are legal transitions in the Cameroon context if they occurred at or after age 15, except for marriage and fatherhood, which should occur only at or after age 18 for boys.
MULTILEVEL FRAMEWORK FOR THE STUDY OF TRANSITIONS TO ADULTHOOD: LOGIC, ASSUMPTIONS, AND DATA REQUIREMENTS
Many kinds of data in the social, biological, behavioral, biomedical