use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.
the class AddOperationTest method testFloatAddExpr.
@Test(description = "Test two float add expression")
public void testFloatAddExpr() {
BValue[] args = { new BFloat(100.0f), new BFloat(200.0f) };
BValue[] returns = BRunUtil.invoke(result, "floatAdd", args);
Assert.assertEquals(returns.length, 1);
Assert.assertSame(returns[0].getClass(), BFloat.class);
double actual = ((BFloat) returns[0]).floatValue();
double expected = 300.0f;
Assert.assertEquals(actual, expected);
}
use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.
the class FuncInvocationExprTest method testReturnNativeFuncInvocationWithinNativeFuncInvocation.
@Test
public void testReturnNativeFuncInvocationWithinNativeFuncInvocation() {
BValue[] args = { new BFloat(2) };
BValue[] returns = BRunUtil.invoke(funcInvocationExpResult, "testReturnNativeFuncInvocationWithinNativeFuncInvocation", args);
Assert.assertEquals(returns.length, 1);
Assert.assertSame(returns[0].getClass(), BFloat.class);
double actual = ((BFloat) returns[0]).floatValue();
double expected = 2;
Assert.assertEquals(actual, expected);
}
use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.
the class SQLDatasource method populatePropertiesMap.
private BMap<String, BRefType> populatePropertiesMap(Struct options) {
Map<String, Value> dataSourceConfigMap = options.getMapField(Constants.Options.DATASOURCE_PROPERTIES);
BMap<String, BRefType> mapProperties = null;
if (dataSourceConfigMap.size() > 0) {
mapProperties = new BMap<>();
for (Map.Entry<String, Value> entry : dataSourceConfigMap.entrySet()) {
Value propValue = entry.getValue();
BRefType dataValue = null;
switch(propValue.getType()) {
case INT:
dataValue = new BInteger(propValue.getIntValue());
break;
case FLOAT:
dataValue = new BFloat(propValue.getFloatValue());
break;
case BOOLEAN:
dataValue = new BBoolean(propValue.getBooleanValue());
break;
case NULL:
break;
default:
dataValue = new BString(propValue.getStringValue());
}
mapProperties.put(entry.getKey(), dataValue);
}
}
return mapProperties;
}
use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.
the class AbstractSQLAction method createProcessedStatement.
private void createProcessedStatement(Connection conn, PreparedStatement stmt, BRefValueArray params, String dataSourceName) {
if (params == null) {
return;
}
int paramCount = (int) params.size();
int currentOrdinal = 0;
for (int index = 0; index < paramCount; index++) {
BStruct paramStruct = (BStruct) params.get(index);
if (paramStruct != null) {
String sqlType = getSQLType(paramStruct);
BValue value = paramStruct.getRefField(1);
int direction = getParameterDirection(paramStruct);
// If the parameter is an array and sql type is not "array" then treat it as an array of parameters
if (value != null && value.getType().getTag() == TypeTags.ARRAY_TAG && !Constants.SQLDataTypes.ARRAY.equalsIgnoreCase(sqlType)) {
int arrayLength = (int) ((BNewArray) value).size();
int typeTag = ((BArrayType) value.getType()).getElementType().getTag();
for (int i = 0; i < arrayLength; i++) {
BValue paramValue;
switch(typeTag) {
case TypeTags.INT_TAG:
paramValue = new BInteger(((BIntArray) value).get(i));
break;
case TypeTags.FLOAT_TAG:
paramValue = new BFloat(((BFloatArray) value).get(i));
break;
case TypeTags.STRING_TAG:
paramValue = new BString(((BStringArray) value).get(i));
break;
case TypeTags.BOOLEAN_TAG:
paramValue = new BBoolean(((BBooleanArray) value).get(i) > 0);
break;
case TypeTags.BLOB_TAG:
paramValue = new BBlob(((BBlobArray) value).get(i));
break;
default:
throw new BallerinaException("unsupported array type for parameter index " + index);
}
if (Constants.SQLDataTypes.REFCURSOR.equals(sqlType)) {
setParameter(conn, stmt, sqlType, paramValue, direction, currentOrdinal, dataSourceName);
} else {
setParameter(conn, stmt, sqlType, paramValue, direction, currentOrdinal);
}
currentOrdinal++;
}
} else {
if (Constants.SQLDataTypes.REFCURSOR.equals(sqlType)) {
setParameter(conn, stmt, sqlType, value, direction, currentOrdinal, dataSourceName);
} else {
setParameter(conn, stmt, sqlType, value, direction, currentOrdinal);
}
currentOrdinal++;
}
} else {
SQLDatasourceUtils.setNullObject(stmt, index);
currentOrdinal++;
}
}
}
use of org.ballerinalang.model.values.BFloat in project ballerina by ballerina-lang.
the class Hypot method execute.
public void execute(Context ctx) {
double a = ctx.getFloatArgument(0);
double b = ctx.getFloatArgument(1);
ctx.setReturnValues(new BFloat(Math.hypot(a, b)));
}
Aggregations