Beispiel #1
0
static int		calc_len(int nb)
{
	int		len;

	len = 0;
	if (nb < 0)
		return ((len = ft_nblen(nb) - 1));
	else
		return ((len = ft_nblen(nb)));
}
Beispiel #2
0
char			*ft_itoa(int n)
{
	char	*str;
	int		len;
	int		sign;

	len = ft_nblen(n);
	sign = (n < 0 ? 1 : 0);
	str = NULL;
	str = (char*)malloc(sizeof(char) * (len + sign + 1));
	if (str)
	{
		str = str + len + sign;
		*str = '\0';
		if (n == 0)
			*--str = '0';
		while (n != 0)
		{
			*--str = ft_abs(n % 10) + 48;
			n = n / 10;
		}
		if (sign)
			*--str = '-';
	}
	return (str);
}
Beispiel #3
0
char			*ft_itoa(int n)
{
	char	*str;
	int		len;
	int		s;

	len = ft_nblen(n);
	s = ft_sign(n);
	if (!(str = (char *)malloc(sizeof(char) * (len + s + 1))))
		return (NULL);
	else
	{
		str = str + len + s;
		*str = '\0';
		if (n == 0)
			*--str = 48;
		while (n)
		{
			*--str = ft_abs(n % 10) + 48;
			n = n / 10;
		}
		if (s)
			*--str = '-';
	}
	return (str);
}
Beispiel #4
0
char				*ft_itoa_base_ll(long long n, int base)
{
	char			*str;
	long long		len;
	int				sign;

	if (base < 2 || base > 16)
		return (NULL);
	len = ft_nblen(n, base);
	sign = (n < 0) ? 1 : 0;
	if (!(str = (char*)malloc(sizeof(char) * (len + sign + 1))))
		return (NULL);
	if (str)
	{
		str = str + len + sign;
		*str = '\0';
		if (n == 0)
			*--str = '0';
		while (n != 0)
		{
			*--str = "0123456789ABCDEF"[ft_absll(n % base)];
			n = n / base;
		}
		if (sign)
			*--str = '-';
	}
	return (str);
}
Beispiel #5
0
int		ft_nblen(int nb)
{
    if (0 <= nb && nb < 10)
        return (1);
    else
        return (1 + ft_nblen(nb / 10));
}
Beispiel #6
0
void		print_size(int size)
{
	int		i;

	i = 10 - ft_nblen(size);
	while (i > 0)
	{
		ft_putchar(' ');
		i--;
	}
	ft_putnbr(size);
}
Beispiel #7
0
void		print_size(int size)
{
    int		i;


//  v - Temporaire, a adapter a la taille de la size.
    i = 10 - ft_nblen(size);
    while (i > 0)
    {
        ft_putchar(' ');
        i--;
    }
    ft_putnbr(size);
}
Beispiel #8
0
char *ft_itoa(int nbr)
{
	int nblen;
	char *str;

	if (nbr == -2147483648)
		return ("-2147483648");
	nblen = ft_nblen(nbr);
	if (!(str = (char *)malloc(sizeof(char) * nblen + 1)))
		return (NULL);
	if (nbr < 0)
		str[0] = '-';
	nbr *= (nbr < 0) ? -1 : 1;
	str[nblen] = '\0';
	ft_doatoi(nbr, &str[--nblen]);
	return (str);
}
Beispiel #9
0
static void		select_field_width(t_data *d, t_specify *spec, char *f, int *i)
{
    if (*f == '0')
        spec->zero_pad = true;
    else if (*f >= '1' && *f <= '9')
    {
        spec->field_width = ft_atoi(f);
        if (spec->field_width > 9)
            *i += ft_nblen(spec->field_width) - 1;
    }
    else if (*f == '*')
    {
        spec->field_width = va_arg(*d->ap, int);
        if (spec->field_width < 0)
        {
            spec->field_width = -spec->field_width;
            spec->negative_sign = true;
        }
    }
Beispiel #10
0
void		len_space_size_min(t_group *grp, t_space *s_grp)
{
	t_dir	*test;
	int		i;

	i = 0;
	s_grp->size_min_space = 0;
	test = grp->first_dir;
	while (test != NULL)
	{
		if (test->size_min)
		{
			i = ft_nblen(test->size_min);
			if (i > s_grp->size_min_space)
				s_grp->size_min_space = i;
		}
		test = test->next;
	}
}
Beispiel #11
0
static void		select_dot(t_data *d, t_specify *spec, char *format, int *i)
{
    int		index1;

    index1 = 0;
    spec->dot = true;
    if (format[index1] == '0')
        *i += ++index1;
    if (ft_isdigit(format[index1]))
    {
        spec->dot_value = ft_atoi(&format[index1]);
        *i += ft_nblen(spec->dot_value) - index1;
        return ;
    }
    else if (format[index1] == '*')
    {
        help_dot(d, spec, index1, i);
        return ;
    }
    spec->dot_value = 0;
}
Beispiel #12
0
char		*ft_itoa(int value)
{
	char	*str;
	int		size;
	int		sign;

	size = ft_nblen(value);
	str = (char *)ft_memalloc(size * sizeof(char) + 1);
	if (!str)
		return (NULL);
	sign = (value < 0) ? -1 : 1;
	str[size--] = '\0';
	if (value < 0)
		str[0] = '-';
	if (value == 0)
		str[0] = '0';
	while (value)
	{
		str[size] = value % 10 * sign + '0';
		value /= 10;
		size--;
	}
	return (str);
}
Beispiel #13
0
static long double	calc_sqrt(long int *sep_nb)
{
    long double	ret;
    long int	res;
    int			size;
    int			dot_place;

    res = 0;
    size = ft_nblen(sep_nb[0]) / 2 + ft_nblen(sep_nb[0]) % 2;
    part_calc(sep_nb[0], &res, size, 1);
    dot_place = ft_nblen(res);
    if (sep_nb[1] == 0)
        size = 6;
    else
        size = ft_nblen(sep_nb[1]) / 2 + ft_nblen(sep_nb[1]) % 2;
    part_calc(sep_nb[1], &res, size, 0);
    ret = (long double)res / ft_pow(10, ft_nblen(res) - dot_place);
    return (ret);
}