You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1001 B
44 lines
1001 B
#include "arithmeticDivision.h"
|
|
#include <stdio.h>
|
|
#include <limits.h>
|
|
#include <stdlib.h>
|
|
|
|
int* division_integer(int dividend, int divisor) {
|
|
if(divisor == 0) {
|
|
return NULL;
|
|
}
|
|
// Overflow protection
|
|
if (dividend == INT_MIN && divisor == -1) {
|
|
return NULL;
|
|
}
|
|
int* result = malloc(sizeof(int));
|
|
*result = dividend / divisor;
|
|
return result;
|
|
}
|
|
|
|
long* division_long(long dividend, long divisor) {
|
|
if(divisor == 0) {
|
|
return NULL;
|
|
}
|
|
long* result = malloc(sizeof(long));
|
|
*result = dividend / divisor;
|
|
return result;
|
|
}
|
|
|
|
double* division_double(double dividend, double divisor) {
|
|
if(divisor == 0) {
|
|
return NULL;
|
|
}
|
|
double* result = malloc(sizeof(double ));
|
|
*result = dividend / divisor;
|
|
return result;
|
|
}
|
|
|
|
float* division_float(float dividend, float divisor) {
|
|
if(divisor == 0) {
|
|
return NULL;
|
|
}
|
|
float* result = malloc(sizeof(float));
|
|
*result = dividend / divisor;
|
|
return result;
|
|
}
|